|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. |
|
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
|
(*.*) Сообщения: 36509 |
Внимание! В связи с созданием отдельного форума по AutoIt, эта тема переводится в архивное состояние. Если у вас есть вопрос, создайте новую тему или поднимите существующую, если в ней обсуждается аналогичная проблема. Пожалуйста, не создавайте тем с названием "Помогите!" или "Нужна помощь по AutoIt". Это и так понятно ![]() ![]() Сайт программы Русская справка Коллекция AutoIt скриптов от Sanja Alone Коллекция AutoIt скриптов от MSFN (могут быть устаревшие). Справочник по командам rundll32 (команды запуска диалоговых окон и не только...) AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо). Архивы старых тем по AutoIt или они же в 7z архиве (версии для печати) - 846 кб (настоятельно рекомендуется к прочтению/поиску) (он же прикреплен в шапке) Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров. Цитата Vadikan:
|
||
------- Отправлено: 00:02, 05-02-2006 |
![]() Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
Это чуть измененный пример от Maza Faka (пост 1969) #include <GuiConstants.au3> #include <GuiListView.au3> $Gui = GUICreate("Test", 800, 400) $hListView1 = _GUICtrlListView_Create($GUI, "Items|SubItems", 2, 2, 296, 196, BitOR($LVS_EDITLABELS, $LVS_REPORT)) _GUICtrlListView_SetExtendedListViewStyle($hListView1, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES)) $ListItem1 = _GUICtrlListView_AddItem($hListView1, "Item1") $ListItem2 = _GUICtrlListView_AddItem($hListView1, "Item2") $hListView2 = _GUICtrlListView_Create($GUI, "Items|SubItems", 402, 2, 296, 196, BitOR($LVS_EDITLABELS, $LVS_REPORT)) _GUICtrlListView_SetExtendedListViewStyle($hListView2, BitOR($LVS_EX_GRIDLINES, $LVS_EX_FULLROWSELECT, $LVS_EX_SUBITEMIMAGES)) $ListItem3 = _GUICtrlListView_AddItem($hListView2, "Item3") $ListItem4 = _GUICtrlListView_AddItem($hListView2, "Item4") GUIRegisterMsg($WM_NOTIFY, "WM_NOTIFY") GUISetState() While 1 $msg = GUIGetMsg() Switch $msg Case $GUI_EVENT_CLOSE ExitLoop EndSwitch WEnd Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam) Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView $hListView= BitAND($iwParam, 0xFFFF); Попытка идентификации ListView ?? $hWndListView = $hListView If Not IsHWnd($hListView) Then $hWndListView = GUICtrlGetHandle($hListView) $tNMHDR = DllStructCreate($tagNMHDR, $ilParam) $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom")) $iIDFrom = DllStructGetData($tNMHDR, "IDFrom") $iCode = DllStructGetData($tNMHDR, "Code") Switch $hWndFrom Case $hWndListView Switch $iCode Case $LVN_BEGINLABELEDIT Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam) Return False Case $LVN_ENDLABELEDIT Local $tInfo = DllStructCreate($tagNMLVDISPINFO, $ilParam) Local $tBuffer = DllStructCreate("char Text[" & DllStructGetData($tInfo, "TextMax") & "]", DllStructGetData($tInfo, "Text")) If StringLen(DllStructGetData($tBuffer, "Text")) Then Return True EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc |
|
Отправлено: 17:19, 15-01-2008 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Timurko,
Цитата:
Цитата:
#include <Array.au3> #include <File.au3> $String = FileRead(@ScriptDir & "\source1.txt") Dim $aStrArray = StringSplit(StringStripCR($String), @LF) Dim $aNewArray[1] For $i = 1 To $aStrArray[0] $sTVShow_Name = StringStripWS(StringRegExpReplace($aStrArray[$i], "((, |)\d\d:\d\d)", ""), 3) $aTVShow_Time = StringRegExp($aStrArray[$i], "(\d\d:\d\d)", 3) $iUbound = UBound($aTVShow_Time)-1 If $iUbound < 0 Then $aNewArray[0] += 1 ReDim $aNewArray[$aNewArray[0] + 1] $aNewArray[$aNewArray[0]] = $aStrArray[$i] ContinueLoop EndIf For $j = 0 To $iUbound $aNewArray[0] += 1 ReDim $aNewArray[$aNewArray[0] + 1] $sSeperater = " - " If StringLeft($sTVShow_Name, 1) = "-" Then $sSeperater = " " $aNewArray[$aNewArray[0]] = StringStripWS($aTVShow_Time[$j], 3) & $sSeperater & $sTVShow_Name Next Next _ArraySort($aNewArray, 0, 1) _ArrayDisplay($aNewArray) _FileWriteFromArray(@ScriptDir & "\dest1.txt", $aNewArray, 1) Цитата:
Func WM_NOTIFY($hWnd, $iMsg, $iwParam, $ilParam) Local $hWndFrom, $iIDFrom, $iCode, $tNMHDR, $hWndListView1, $hWndListView2 $hWndListView1 = $hListView1 $hWndListView2 = $hListView2 If Not IsHWnd($hListView1) Then $hWndListView1 = GUICtrlGetHandle($hListView1) If Not IsHWnd($hListView2) Then $hWndListView2 = GUICtrlGetHandle($hListView2) $tNMHDR = DllStructCreate($tagNMHDR, $ilParam) $hWndFrom = HWnd(DllStructGetData($tNMHDR, "hWndFrom")) $iIDFrom = DllStructGetData($tNMHDR, "IDFrom") $iCode = DllStructGetData($tNMHDR, "Code") Switch $hWndFrom Case $hWndListView1 ;распознан первый список ConsoleWrite("--> ListView 1 events here" & @LF) ;~ Switch $iCode ;~ Case ;;; ;~ EndSwitch Case $hWndListView2 ;распознан второй список ConsoleWrite("--> ListView 2 events here" & @LF) ;~ Switch $iCode ;~ Case ;;; ;~ EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>WM_NOTIFY |
|||
------- Отправлено: 17:23, 15-01-2008 | #3 |
![]() Пользователь Сообщения: 88
|
Профиль | Отправить PM | Цитировать Creat0R, Спасибо , так работает
Вопрос : Где можно почитать про Dll-библиотеки ? |
Отправлено: 18:01, 15-01-2008 | #4 |
![]() Старожил Сообщения: 212
|
Профиль | Отправить PM | Цитировать Подскажите пожалуйста, как в скрипте команды командной строки прописывать, например, "copy /y" и т.д.? Не охота дополнительный файл cmd делать.
|
|
Отправлено: 18:50, 15-01-2008 | #5 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать gregaz,
Цитата:
![]() unikum111, Цитата:
![]() |
||
------- Отправлено: 22:43, 15-01-2008 | #6 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата Creat0R:
Цитата:
Цитата:
|
|||
Отправлено: 10:26, 16-01-2008 | #7 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Timurko,
Цитата:
![]() идеалов в жизни не бывает ![]() Попробую подправить... |
|
------- Отправлено: 00:06, 17-01-2008 | #8 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать Цитата:
#include <Array.au3> #include <File.au3> $String = FileRead(@ScriptDir & "\source1.txt") Dim $aStrArray = StringSplit(StringStripCR($String), @LF) Dim $aNewArray[1], $aChanelsArray[1][1] For $i = 1 To $aStrArray[0] $sTVShow_Name = StringStripWS(StringRegExpReplace($aStrArray[$i], "((, |)\d\d:\d\d)", ""), 3) $aTVShow_Time = StringRegExp($aStrArray[$i], "(\d\d:\d\d)", 3) $iUbound = UBound($aTVShow_Time)-1 If $iUbound < 0 Then $aChanelsArray[0][0] += 1 ReDim $aChanelsArray[$aChanelsArray[0][0] + 1][2] $aChanelsArray[$aChanelsArray[0][0]][0] = $i $aChanelsArray[$aChanelsArray[0][0]][1] = $aStrArray[$i] ContinueLoop EndIf For $j = 0 To $iUbound $aNewArray[0] += 1 ReDim $aNewArray[$aNewArray[0] + 1] $sSeperater = " - " If StringLeft($sTVShow_Name, 1) = "-" Then $sSeperater = " " $aNewArray[$aNewArray[0]] = StringStripWS($aTVShow_Time[$j], 3) & $sSeperater & $sTVShow_Name Next Next _ArraySort($aNewArray, 0, 1) For $i = 1 To UBound($aChanelsArray)-1 $aNewArray[0] += 1 _ArrayInsert($aNewArray, $aChanelsArray[$i][0], $aChanelsArray[$i][1]) Next _ArrayDisplay($aNewArray) _FileWriteFromArray(@ScriptDir & "\dest1.txt", $aNewArray, 1) |
|
------- Отправлено: 00:38, 17-01-2008 | #9 |
Ветеран Сообщения: 604
|
Профиль | Отправить PM | Цитировать Creat0R
Привет! Подскажи пожалуйста: есть строка вида ". 51% 4.89 KB/s", нужно получить массив со значениями 51% и 4.89 KB/s. Так же нужно учесть, что в конце исходной строки может быть любой символ после 4.89 KB/s, который нужно опустить. Мои потуги: ![]() Как видишь не совсем то, что нужно. |
Отправлено: 10:09, 18-01-2008 | #10 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[архив - Часть 2] AutoIt скрипты | Vadikan | AutoIt | 985 | 21-01-2008 09:58 | |
Вопрос - [Архив] Антивирусные программы - ОБЩИЕ ВОПРОСЫ | FOX RED | Защита компьютерных систем | 67 | 21-11-2007 15:05 | |
[Архив - Часть 1.3] AutoIt скрипты | biork | AutoIt | 503 | 09-06-2007 11:27 | |
[Архив - Часть 1.2] AutoIt скрипты | Dirk Diggler | AutoIt | 505 | 02-12-2006 11:00 | |
[Архив - Часть 1.1] AutoIt скрипты | EgOrus | AutoIt | 335 | 04-02-2006 16:58 |
|