|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. |
|
|
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:.
|
|
(*.*) Сообщения: 36574 |
Внимание! В связи с созданием отдельного форума по 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 | |
|