Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Несколько Вопросов немного не в тему от saavaage

Закрытая тема
Настройки темы
Несколько Вопросов немного не в тему от saavaage

Ветеран


Сообщения: 903
Благодарности: 161


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: saavaage
Дата: 14-08-2010
madmasles,
насчет 1-го замечания - проверил на разных условиях - все работает безупречно. Нет даже
Цитата madmasles:
Сервер сценариев Windows (Microsoft R) версия 5.7
c Корпорация Майкрософт (Microsoft Corp.), 1996-2001. Все права защищены. »
Еще раз - вельми дзякуй (спасибо большое)!
насчет 1-ой линии - уже понял, что нельзя. Жаль, но в этом случае - некритично.

Несколько Вопросов немного не в тему:
1. можно ли сделать так, чтобы при выделении кода ошибки, этот код передавался в переменную. Суть - хочу, используя команду "net helpmsg <код ошибки>", организовать в форме пониже основного окна вывод подсказки об этой ошибке. Образно: сформировался список ошибок -> выделил код одной из них -> в нижнем информационном окне вылезла подсказка.

2. если у меня на форме есть Tab с рядом вкладок, то можно ли на общую кнопку "обновить" повесить разные комманды в зависимости от активной вкладки. Суть: одна и таже кнопка на форме при нажатии в различных вкладках запускает конкретные команды только для конкретной активной вкладки;

3. не объясните разницу при работе с кнопками в применении конструкций:
а)
читать дальше »
Код: Выделить весь код
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
          EXIT
        Case Button1
          Команда
     EndSwitch
WEnd


б)
читать дальше »
Код: Выделить весь код
$1button = GUICtrlCreateButton("Start", 15, 15, 100)
GUICtrlSetOnEvent($1button, "_1Button")

Func _1Button()
ControlDisable($mainwindow,"",$1button)
ControlDisable($mainwindow,"",$2button)	
Run(@ComSpec & ' /c devcon enable PCI\VEN_168C&DEV_001A&SUBSYS_2052168C&REV_01\4&1A598D38&0&0899', '', @SW_HIDE)
sleep (1000)
MsgBox(0,"","Драйвер запущен!",0)
ControlEnable($mainwindow,"",$2button)
EndFunc


Суть вопроса- если форма содержит много кнопок на разных вкладках + общие кнопки, то как будет лучше действовать:
- использовать вариант "а" - для общих, а вариант "б" - для конопок на конкретной вкладке
- использовать вариант "а"
- использовать вариант "б"
- другое ( если можно, объясните)

Отправлено: 14:38, 14-08-2010

 

Ветеран


Сообщения: 903
Благодарности: 161

Профиль | Отправить PM | Цитировать


madmasles,
насчет 1-го замечания - проверил на разных условиях - все работает безупречно. Нет даже
Цитата madmasles:
Сервер сценариев Windows (Microsoft R) версия 5.7
c Корпорация Майкрософт (Microsoft Corp.), 1996-2001. Все права защищены. »
Еще раз - вельми дзякуй (спасибо большое)!
насчет 1-ой линии - уже понял, что нельзя. Жаль, но в этом случае - некритично.

Несколько Вопросов немного не в тему:
1. можно ли сделать так, чтобы при выделении кода ошибки, этот код передавался в переменную. Суть - хочу, используя команду "net helpmsg <код ошибки>", организовать в форме пониже основного окна вывод подсказки об этой ошибке. Образно: сформировался список ошибок -> выделил код одной из них -> в нижнем информационном окне вылезла подсказка.

2. если у меня на форме есть Tab с рядом вкладок, то можно ли на общую кнопку "обновить" повесить разные комманды в зависимости от активной вкладки. Суть: одна и таже кнопка на форме при нажатии в различных вкладках запускает конкретные команды только для конкретной активной вкладки;

3. не объясните разницу при работе с кнопками в применении конструкций:
а)
читать дальше »
Код: Выделить весь код
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
          EXIT
        Case Button1
          Команда
     EndSwitch
WEnd


б)
читать дальше »
Код: Выделить весь код
$1button = GUICtrlCreateButton("Start", 15, 15, 100)
GUICtrlSetOnEvent($1button, "_1Button")

Func _1Button()
ControlDisable($mainwindow,"",$1button)
ControlDisable($mainwindow,"",$2button)	
Run(@ComSpec & ' /c devcon enable PCI\VEN_168C&DEV_001A&SUBSYS_2052168C&REV_01\4&1A598D38&0&0899', '', @SW_HIDE)
sleep (1000)
MsgBox(0,"","Драйвер запущен!",0)
ControlEnable($mainwindow,"",$2button)
EndFunc


Суть вопроса- если форма содержит много кнопок на разных вкладках + общие кнопки, то как будет лучше действовать:
- использовать вариант "а" - для общих, а вариант "б" - для конопок на конкретной вкладке
- использовать вариант "а"
- использовать вариант "б"
- другое ( если можно, объясните)

Отправлено: 14:38, 14-08-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


saavaage,
1. Имхо, тогда лучше вместо Edit использовать ListView, так как если юзер выделит не весь код ошибки, а только часть кода, то что это будет за подсказка. Я Вам пример с ListView приведу попозже. Только вопрос: кол-во строк с ошибками у меня всегда 20, это кол-во может меняться?
2. Мне кажется, что нельзя. Можно создать на одном месте столько кнопок, сколько у Вас Tab`ов и, при активации вкладки, делать соответствующую кнопку видимой, а остальные не видимыми (GUICtrlSetState()).
3. Почитайте про это Русская справка - Графический интерфейс(GUI) - Режим MessageLoop и Режим OnEvent Mode. (Лучше, конечно, в англ. справке почитать, но я, к сожалению, с англ. не дружу.)

С ListView у меня так получилось:
читать дальше »
Код: Выделить весь код
#include <Constants.au3>
#include <Encoding.au3>
#include <GUIConstantsEx.au3>
#include <GUIListview.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Global $Form1, $Button1, $hDummyMenu, $hContextMenu, $hNewErrors_Item, $hInput, _
        $hListView, $aErrorsNew
Dim $aToList = __ErrorLog()

$Form1 = GUICreate("Form1", 620, 445, -1, -1)
GUIRegisterMsg($WM_NOTIFY, 'WM_NOTIFY')
$Button1 = GUICtrlCreateButton("Обновить", 16, 120, 65, 57)
GUICtrlSetState(-1, $GUI_FOCUS)
$hDummyMenu = GUICtrlCreateDummy()
$hContextMenu = GUICtrlCreateContextMenu($hDummyMenu)
$hNewErrors_Item = GUICtrlCreateMenuItem("Обновить", $hContextMenu)
$hInput = GUICtrlCreateInput('', 95, 20, 400, 20, _
        BitOR($GUI_SS_DEFAULT_INPUT, $ES_LEFT, $ES_READONLY, $ES_WANTRETURN), _
        BitOR($WS_EX_CLIENTEDGE, $WS_EX_STATICEDGE))
$hListView = GUICtrlCreateListView('', 95, 50, 400, 320, -1, $LVS_EX_GRIDLINES)
GUICtrlSetTip(-1, "Выделите левой или правой кнопкой мышки" & @CRLF & _
        "строку, чтобы получить подсказку.")
If $aToList <> 0 Then
    _GUICtrlListView_AddColumn($hListView, $aToList[0], 370)
    For $i = 1 To UBound($aToList) - 1
        GUICtrlCreateListViewItem($aToList[$i], $hListView)
    Next
EndIf

GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1, $hNewErrors_Item
            GUICtrlSetData($hInput, '')
            _GUICtrlListView_DeleteColumn($hListView, 0)
            _GUICtrlListView_DeleteAllItems($hListView)
            $aErrorsNew = __ErrorLog()
            If $aErrorsNew <> 0 Then
                _GUICtrlListView_AddColumn($hListView, $aErrorsNew[0], 370)
                _GUICtrlListView_BeginUpdate($hListView)
                For $i = 1 To UBound($aErrorsNew) - 1
                    _GUICtrlListView_AddItem($hListView, $aErrorsNew[$i])
                Next
                _GUICtrlListView_EndUpdate($hListView)
            EndIf
            GUICtrlSetState($Button1, $GUI_ENABLE)
            GUICtrlSetState($hNewErrors_Item, $GUI_ENABLE)
    EndSwitch
WEnd

Func __ErrorLog()
    GUICtrlSetState($Button1, $GUI_DISABLE)
    GUICtrlSetState($hNewErrors_Item, $GUI_DISABLE)
    Local $sLog = '', $j = 0, $hError, $aErrorsTemp, $i
    Dim $aErrors[1]
    $hError = Run('CSCRIPT.exe ' & @SystemDir & '\eventquery.vbs /fi "Type eq ERROR" /fo TABLE /NH', _
            '', @SW_HIDE, $STDOUT_CHILD)
    While 1
        $sLog &= StdoutRead($hError)
        If @error Then ExitLoop
        Sleep(10)
    WEnd
    If Not $sLog Then Return 0
    $aErrorsTemp = StringSplit(_Encoding_866To1251($sLog), @LF)
    If Not IsArray($aErrorsTemp) Then Return 0
    For $i = 1 To $aErrorsTemp[0]
        If StringInStr($aErrorsTemp[$i], "в журнале 'system'") Then
            $aErrors[0] = StringStripWS(StringStripCR($aErrorsTemp[$i]), 7)
            ExitLoop
        Else
            $aErrorsTemp[$i] = ''
        EndIf
    Next
    For $i = 1 To $aErrorsTemp[0]
        If StringInStr($aErrorsTemp[$i], "ошибка") Then
            ReDim $aErrors[UBound($aErrors) + 1]
            $j += 1
            $aErrors[$j] = StringStripWS(StringStripCR($aErrorsTemp[$i]), 7)
        EndIf
    Next
    If UBound($aErrors) < 2 Then Return 0
    Return $aErrors
EndFunc   ;==>__ErrorLog

Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iCode, $tNMHDR, $hWndListView, $tInfo, $iIndex, $sLog = '', $hHelp

    $hWndListView = $hListView
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)
    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
        Case $hWndListView
            Switch $iCode
                Case $NM_CLICK
                    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                    $iIndex = DllStructGetData($tInfo, "Index")
                    If $iIndex < 0 Then Return $GUI_RUNDEFMSG
                    $iNumberError = StringRegExpReplace(_GUICtrlListView_GetItemText($hListView, _
                            $iIndex), "(?s).*?ошибка (.*?)\s+?.*", '\1')
                    $hHelp = Run('net helpmsg ' & $iNumberError, '', @SW_HIDE, $STDOUT_CHILD)
                    While 1
                        $sLog &= StdoutRead($hHelp)
                        If @error Then ExitLoop
                        Sleep(10)
                    WEnd
                    $sLog = StringStripWS(StringStripCR(_Encoding_866To1251($sLog)), 7)
                    GUICtrlSetData($hInput, 'Ошибка № ' & $iNumberError & '  -  ' & $sLog)
                Case $NM_RCLICK
                    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                    $iIndex = DllStructGetData($tInfo, "Index")
                    If $iIndex <> -1 Then
                        GUICtrlSetData($hInput, _GUICtrlListView_GetItemText($hListView, $iIndex))
                        $iIndex_Item = $iIndex
                        ShowMenu($hWnd, $hContextMenu, $hListView, 1)
                    EndIf
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY

Func ShowMenu($hWnd, $nContextID, $nContextControlID, $iMouse = 0)
    Local $hMenu = GUICtrlGetHandle($nContextID)
    Local $iCtrlPos = ControlGetPos($hWnd, "", $nContextControlID)
    Local $X = $iCtrlPos[0]
    Local $Y = $iCtrlPos[1] + $iCtrlPos[3]
    ClientToScreen($hWnd, $X, $Y)
    If $iMouse Then
        $X = MouseGetPos(0)
        $Y = MouseGetPos(1)
    EndIf
    DllCall("user32.dll", "int", "TrackPopupMenuEx", "hwnd", $hMenu, "int", 0, "int", $X, "int", $Y, "hwnd", $hWnd, "ptr", 0)
EndFunc   ;==>ShowMenu

Func ClientToScreen($hWnd, ByRef $X, ByRef $Y)
    Local $stPoint = DllStructCreate("int;int")
    DllStructSetData($stPoint, 1, $X)
    DllStructSetData($stPoint, 2, $Y)
    DllCall("user32.dll", "int", "ClientToScreen", "hwnd", $hWnd, "ptr", DllStructGetPtr($stPoint))
    $X = DllStructGetData($stPoint, 1)
    $Y = DllStructGetData($stPoint, 2)
    $stPoint = 0
EndFunc   ;==>ClientToScreen


PS
Был бы трезвым ни за что бы не получилось
Правой кнопкой мышки на Item`е можно обновить данные.

Отправлено: 15:39, 14-08-2010 | #3


Ветеран


Сообщения: 903
Благодарности: 161

Профиль | Отправить PM | Цитировать


madmasles, это просто супер. Огромное спасибо.

-------
мы рождены, чтоб сказку сделать былью


Отправлено: 10:49, 17-08-2010 | #4


Ветеран


Сообщения: 903
Благодарности: 161

Профиль | Отправить PM | Цитировать


madmasles, начал "ковырять" скрипт и появились вопросы:
1. похоже выводятся события только из журнала SYSTEM. Из всех остальных журналов нет данных
2. выводится только ограниченное кол-во строк журнала. Я сделал запрос на все события из system и получил больше 1600 строк. Скрипт выдает только 27 строк
3. Строки в основном окне вывода не дают возможности просмотра всего текста события, только то, что влезло в границы окна. Можно ли каким-то образом это устранить
4. Окно вывода расшифровки-пояснения ошибки выводит текст в одну строку, ограниченную краями окна (не виден весь текст) . Можно ли сделать вывод в несколько строк и как задать ширину окна вывода (увеличиваю ширину input, но все равно выводит в 1 строку)

-------
мы рождены, чтоб сказку сделать былью


Отправлено: 21:27, 19-08-2010 | #5


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


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, _
        BitOR($GUI_SS_DEFAULT_INPUT, $ES_LEFT, $ES_READONLY, $ES_WANTRETURN), _
        BitOR($WS_EX_CLIENTEDGE, $WS_EX_STATICEDGE))...
на
Код: Выделить весь код
$hInput = GUICtrlCreateEdit('', 95, 10, 400, 34, BitOR($ES_READONLY, $ES_MULTILINE))

Отправлено: 00:47, 20-08-2010 | #6


Ветеран


Сообщения: 903
Благодарности: 161

Профиль | Отправить PM | Цитировать


madmasles,
Цитата madmasles:
Вот эта, указанная Вами, строка CSCRIPT %SYSTEMROOT%\system32\eventquery.vbs /fi "Type eq ERROR" /fo TABLE /NH выдает у меня только 20 строк »
дело в том, что она выводит только те ошибки, которые были в Вашей системе. Если убрать фильтр /fi "Type eq ERROR" (попытаться вывести все события), то скрипт не выдает все строки в окно. Можете проверить, запустив скрипт и потом cmd и сравнить.

Цитата madmasles:
В ListView, если текст не влазит по длине, появляется горизонтальная полоса прокрутки (если по высоте, то вертикальная). Если Вас это не устраивает, сделайте окно и ListView шире. »
понял, достаточно было дважды щелкнуть на границе столбца...

Цитата madmasles:
4. Поменяйте »
спасибо, сработало

-------
мы рождены, чтоб сказку сделать былью


Отправлено: 00:55, 20-08-2010 | #7


Аватара для madmasles

Ветеран


Сообщения: 812
Благодарности: 353

Профиль | Отправить PM | Цитировать


Цитата saavaage:
Если убрать фильтр /fi "Type eq ERROR" (попытаться вывести все события) »
Я по Вашему заданию парсил полученный текст на слово ошибка.
Вы напишите конкретно, что Вам надо и что Вы хотите получить на выходе. Я же этого не знаю.

Отправлено: 01:13, 20-08-2010 | #8


Ветеран


Сообщения: 903
Благодарности: 161

Профиль | Отправить PM | Цитировать


Цитата madmasles:
Я по Вашему заданию парсил полученный текст на слово ошибка. »
Извините, виноват. Все работает нормально.

PS Объясню ситуацию: У меня у самого ошибок не больше 10. Я решил проверить на парсинг на слово "информация", т.к. там список получается гораздо больше (меня беспокоил вопрос - все ли строки попадают в вывод). И, вообщем, накосячил, - убрал фильтр, но забыл в скрипте откорректировать парсинг (заменить "ошибка" на "информация"), и cmd-файл выдал, естественно, гораздо более длинный список.

Вопрос закрыт. Еще раз, спасибо.

-------
мы рождены, чтоб сказку сделать былью


Отправлено: 01:51, 20-08-2010 | #9


Ветеран


Сообщения: 903
Благодарности: 161

Профиль | Отправить PM | Цитировать


madmasles, немного подсократил Ваш скрипт, т.к. мне не надо было, чтобы обновление происходило через контекстное меню (достаточно кнопки) + добавил корректировку ширины столбца. Получился такой код:

читать дальше »
Код: Выделить весь код
#include <Constants.au3>
#include <Encoding.au3>
#include <GUIConstantsEx.au3>
#include <GUIListview.au3>
#include <EditConstants.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

Global $Form1, $Button1, $hInput, $hListView, $aErrorsNew
Dim $aToList = __ErrorLog()

$Form1 = GUICreate("Form1", 620, 445, -1, -1)
GUIRegisterMsg($WM_NOTIFY, 'WM_NOTIFY')
$Button1 = GUICtrlCreateButton("Обновить", 16, 120, 65, 57)
GUICtrlSetState(-1, $GUI_FOCUS)
$hInput = GUICtrlCreateEdit('', 95, 10, 400, 34, BitOR($ES_READONLY, $ES_MULTILINE))
$hListView = GUICtrlCreateListView('Список событий с ошибками', 95, 60, 400, 320, -1, $LVS_EX_GRIDLINES)
_GUICtrlListView_SetColumnWidth($hListView, 0, 2500)
GUICtrlSetTip(-1, "Выделите левой или правой кнопкой мышки" & @CRLF & "строку, чтобы получить подсказку.")
If $aToList <> 0 Then
    _GUICtrlListView_AddColumn($hListView, $aToList[0], 2500)
    For $i = 1 To UBound($aToList) - 1
        GUICtrlCreateListViewItem($aToList[$i], $hListView)
    Next
EndIf

GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $Button1
            GUICtrlSetData($hInput, '')
           	_GUICtrlListView_DeleteColumn($hListView, 0)
            _GUICtrlListView_DeleteAllItems($hListView)
			$aErrorsNew = __ErrorLog()
            If $aErrorsNew <> 0 Then
				_GUICtrlListView_AddColumn($hListView, $aErrorsNew[0], 2500)
                _GUICtrlListView_BeginUpdate($hListView)
                For $i = 1 To UBound($aErrorsNew) - 1
                    _GUICtrlListView_AddItem($hListView, $aErrorsNew[$i])
                Next
                _GUICtrlListView_EndUpdate($hListView)
				EndIf
            GUICtrlSetState($Button1, $GUI_ENABLE)
	EndSwitch
WEnd

Func __ErrorLog()
    GUICtrlSetState($Button1, $GUI_DISABLE)
    Local $sLog = '', $j = 0, $hError, $aErrorsTemp, $i = 0
    Dim $aErrors[1]
    $hError = Run('CSCRIPT.exe ' & @SystemDir & '\eventquery.vbs /v /fi "Type eq ERROR" /fo TABLE /NH', '', @SW_HIDE, $STDOUT_CHILD)
    While 1
        $sLog &= StdoutRead($hError)
        If @error Then ExitLoop
        Sleep(100)
    WEnd
    If Not $sLog Then Return 0
    $aErrorsTemp = StringSplit(_Encoding_866To1251($sLog), @LF)
    If Not IsArray($aErrorsTemp) Then Return 0
    For $i = 1 To $aErrorsTemp[0]
        If StringInStr($aErrorsTemp[$i], "ошибка") Then
            ReDim $aErrors[UBound($aErrors) + 1]
            $j += 1
            $aErrors[$j] = StringStripWS(StringStripCR($aErrorsTemp[$i]), 7)
        EndIf
    Next
    If UBound($aErrors) < 2 Then Return 0
    Return $aErrors
EndFunc   ;==>__ErrorLog

Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam)
    Local $hWndFrom, $iCode, $tNMHDR, $hWndListView, $tInfo, $iIndex, $sLog = '', $hHelp

    $hWndListView = $hListView
    If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView)
    $tNMHDR = DllStructCreate($tagNMHDR, $ilParam)
    $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom"))
    $iCode = DllStructGetData($tNMHDR, "Code")
    Switch $hWndFrom
        Case $hWndListView
            Switch $iCode
                Case $NM_CLICK
                    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                    $iIndex = DllStructGetData($tInfo, "Index")
                    If $iIndex < 0 Then Return $GUI_RUNDEFMSG
                    $iNumberError = StringRegExpReplace(_GUICtrlListView_GetItemText($hListView, $iIndex), "(?s).*?ошибка (.*?)\s+?.*", '\1')
                    $hHelp = Run('net helpmsg ' & $iNumberError, '', @SW_HIDE, $STDOUT_CHILD)
                    While 1
                        $sLog &= StdoutRead($hHelp)
                        If @error Then ExitLoop
                        Sleep(10)
                    WEnd
                    $sLog = StringStripWS(StringStripCR(_Encoding_866To1251($sLog)), 7)
                    GUICtrlSetData($hInput, 'Ошибка № ' & $iNumberError & '  -  ' & $sLog)
                Case $NM_RCLICK
                    $tInfo = DllStructCreate($tagNMITEMACTIVATE, $ilParam)
                    $iIndex = DllStructGetData($tInfo, "Index")
                    If $iIndex <> -1 Then
                        GUICtrlSetData($hInput, _GUICtrlListView_GetItemText($hListView, $iIndex))
                        $iIndex_Item = $iIndex
					EndIf
            EndSwitch
    EndSwitch
    Return $GUI_RUNDEFMSG
EndFunc   ;==>WM_NOTIFY


Не посмотрите, все ли верно.

PS Обнаружил косяк - при нажатии на кнопку "Обновить" более 1-ого раза, начинается, в укороченном варианте - вставление новых данных с последней строки +1, в старом варианте (пост http://forum.oszone.net/post-1473605-15.html )- "размножение" строк с ошибками (добавление новых данных с последней строки +1 без очистки старых данных).

Последний раз редактировалось saavaage, 20-08-2010 в 18:36. Причина: немного изменил код


Отправлено: 02:33, 20-08-2010 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Несколько Вопросов немного не в тему от saavaage

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Windows Vista - решил немного переделать тему Aero. Возник вопрос. Malfatto Оформление Windows 11/ 10 / 8 / 7 / Vista 12 27-10-2008 00:07
Несколько вопросов по ОС Master WEB Общий по Linux 33 02-08-2007 23:23
Vista Build 5308. Как устанавливать Windows Aero(и немного вопросов)? MaxCmd Microsoft Windows Vista 3 08-08-2006 19:38
Несколько вопросов barbos Общий по Linux 8 16-12-2004 20:40
Несколько вопросов об ... Sharkky Программирование и базы данных 4 08-10-2003 13:01




 
Переход