![]() |
Несколько Вопросов немного не в тему от saavaage
madmasles,
насчет 1-го замечания - проверил на разных условиях - все работает безупречно. Нет даже Цитата:
насчет 1-ой линии - уже понял, что нельзя. Жаль, но в этом случае - некритично. Несколько Вопросов немного не в тему: 1. можно ли сделать так, чтобы при выделении кода ошибки, этот код передавался в переменную. Суть - хочу, используя команду "net helpmsg <код ошибки>", организовать в форме пониже основного окна вывод подсказки об этой ошибке. Образно: сформировался список ошибок -> выделил код одной из них -> в нижнем информационном окне вылезла подсказка. 2. если у меня на форме есть Tab с рядом вкладок, то можно ли на общую кнопку "обновить" повесить разные комманды в зависимости от активной вкладки. Суть: одна и таже кнопка на форме при нажатии в различных вкладках запускает конкретные команды только для конкретной активной вкладки; 3. не объясните разницу при работе с кнопками в применении конструкций: а) б) Суть вопроса- если форма содержит много кнопок на разных вкладках + общие кнопки, то как будет лучше действовать: - использовать вариант "а" - для общих, а вариант "б" - для конопок на конкретной вкладке - использовать вариант "а" - использовать вариант "б" - другое ( если можно, объясните) |
madmasles,
насчет 1-го замечания - проверил на разных условиях - все работает безупречно. Нет даже Цитата:
насчет 1-ой линии - уже понял, что нельзя. Жаль, но в этом случае - некритично. Несколько Вопросов немного не в тему: 1. можно ли сделать так, чтобы при выделении кода ошибки, этот код передавался в переменную. Суть - хочу, используя команду "net helpmsg <код ошибки>", организовать в форме пониже основного окна вывод подсказки об этой ошибке. Образно: сформировался список ошибок -> выделил код одной из них -> в нижнем информационном окне вылезла подсказка. 2. если у меня на форме есть Tab с рядом вкладок, то можно ли на общую кнопку "обновить" повесить разные комманды в зависимости от активной вкладки. Суть: одна и таже кнопка на форме при нажатии в различных вкладках запускает конкретные команды только для конкретной активной вкладки; 3. не объясните разницу при работе с кнопками в применении конструкций: а) б) Суть вопроса- если форма содержит много кнопок на разных вкладках + общие кнопки, то как будет лучше действовать: - использовать вариант "а" - для общих, а вариант "б" - для конопок на конкретной вкладке - использовать вариант "а" - использовать вариант "б" - другое ( если можно, объясните) |
saavaage,
1. Имхо, тогда лучше вместо Edit использовать ListView, так как если юзер выделит не весь код ошибки, а только часть кода, то что это будет за подсказка. Я Вам пример с ListView приведу попозже. 2. Мне кажется, что нельзя. Можно создать на одном месте столько кнопок, сколько у Вас Tab`ов и, при активации вкладки, делать соответствующую кнопку видимой, а остальные не видимыми (GUICtrlSetState()). 3. Почитайте про это Русская справка - Графический интерфейс(GUI) - Режим MessageLoop и Режим OnEvent Mode. (Лучше, конечно, в англ. справке почитать, но я, к сожалению, с англ. не дружу.:() С ListView у меня так получилось: PS Был бы трезвым ни за что бы не получилось :) Правой кнопкой мышки на Item`е можно обновить данные. |
madmasles, это просто супер. Огромное спасибо.
|
madmasles, начал "ковырять" скрипт и появились вопросы:
1. похоже выводятся события только из журнала SYSTEM. Из всех остальных журналов нет данных 2. выводится только ограниченное кол-во строк журнала. Я сделал запрос на все события из system и получил больше 1600 строк. Скрипт выдает только 27 строк 3. Строки в основном окне вывода не дают возможности просмотра всего текста события, только то, что влезло в границы окна. Можно ли каким-то образом это устранить 4. Окно вывода расшифровки-пояснения ошибки выводит текст в одну строку, ограниченную краями окна (не виден весь текст) . Можно ли сделать вывод в несколько строк и как задать ширину окна вывода (увеличиваю ширину input, но все равно выводит в 1 строку) |
saavaage,
1. и 2. Вот эта, указанная Вами, строка CSCRIPT %SYSTEMROOT%\system32\eventquery.vbs /fi "Type eq ERROR" /fo TABLE /NH выдает у меня только 20 строк ошибок. Поменяйте ее на нужную Вам. 3. В ListView, если текст не влазит по длине, появляется горизонтальная полоса прокрутки (если по высоте, то вертикальная). Если Вас это не устраивает, сделайте окно и ListView шире. 4. Поменяйте Код:
...$hInput = GUICtrlCreateInput('', 95, 20, 400, 20, _ Код:
$hInput = GUICtrlCreateEdit('', 95, 10, 400, 34, BitOR($ES_READONLY, $ES_MULTILINE)) |
madmasles,
Цитата:
Цитата:
Цитата:
|
Цитата:
Вы напишите конкретно, что Вам надо и что Вы хотите получить на выходе. Я же этого не знаю. |
Цитата:
PS Объясню ситуацию: У меня у самого ошибок не больше 10. Я решил проверить на парсинг на слово "информация", т.к. там список получается гораздо больше (меня беспокоил вопрос - все ли строки попадают в вывод). И, вообщем, накосячил, - убрал фильтр, но забыл в скрипте откорректировать парсинг (заменить "ошибка" на "информация"), и cmd-файл выдал, естественно, гораздо более длинный список. Вопрос закрыт. Еще раз, спасибо. |
madmasles, немного подсократил Ваш скрипт, т.к. мне не надо было, чтобы обновление происходило через контекстное меню (достаточно кнопки) + добавил корректировку ширины столбца. Получился такой код:
Не посмотрите, все ли верно. PS Обнаружил косяк - при нажатии на кнопку "Обновить" более 1-ого раза, начинается, в укороченном варианте - вставление новых данных с последней строки +1, в старом варианте (пост http://forum.oszone.net/post-1473605-15.html )- "размножение" строк с ошибками (добавление новых данных с последней строки +1 без очистки старых данных). |
madmasles, кажется я нашел в чем была проблема:
дело в том, что, похоже функция _GUICtrlListView_AddItem($hListView, $aErrorsNew[$i]) добавляет строки к последней в списке. Таким образом, если заменить код: на то все, вроде, отрабатывает как надо. Если не сложно, дайте знать, прав ли я.. + еще один вопрос: насколько, в этом случае, нужны следующие строки: _GUICtrlListView_DeleteColumn($hListView, 0) _GUICtrlListView_AddColumn($hListView, $aErrorsNew[0], 2500) |
saavaage,
Я свой и Ваш код поправил давно. Не выкладывал, так как у меня не отображается полная строка с описанием ошибки (обрывается на 300 с чем-то знаков). Искал как убрать это ограничение, вроде в Гугле ссылку нашел на официальный форум, а он висит. С размножением строк и некоторыми другими косяками разобрался. Как я понял, все функции из GUIListview.au3 работают с Handle Listview, а родные функции работают с ID. При создании ($ListView = GUICtrlCreateListView()) $ListView это ID, а нужен был Handle. Предварительно: |
madmasles, а мой вариант решения не посмотрите? Хочется знать правильно или нет сделал?
Честно говоря, мне Ваш первый вариант (и мой укороченный) больше нравится из-за наглядность: жму на кнопку - список очищается и заполняется снова (и ежу понятно, что произошло обновление). В последнем же варианте - настолько стремителен процесс, что, чисто психологически, остается сомнение в успешности операции. |
Цитата:
|
madmasles,
Цитата:
Цитата:
|
saavaage,
Строка в Listview у меня целиком не отображается. |
madmasles, точно, я только сейчас заметил. Не уверен, но может сделать через создание еще одного столбца + разбиение строки по 300 букв на части и разнесение их по разным столбцам?
|
Эта тема была отделена от другой, и она закрыта. Если хотите продолжать развивать и решать тему, придумайте вменяемое название и не лезьте в чужие темы с оффтопом! :closed-to
Мне пришлось попотеть чтобы эту тему “выцарапать” сюда. |
Время: 01:54. |
Время: 01:54.
© OSzone.net 2001-