|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. |
|
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
|
(*.*) Сообщения: 36523 |
Профиль | Сайт | Отправить PM | Цитировать
Внимание! В связи с созданием отдельного форума по 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 |
|