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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [архив - Часть 2] AutoIt скрипты

Закрытая тема
Настройки темы
[архив - Часть 2] AutoIt скрипты

(*.*)


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


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

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


Изменения
Автор: Vadikan
Дата: 27-01-2008
Внимание!
Тема переведена в архивное состояние







(настоятельно рекомендуется к прочтению/поиску)


Руководство к действию по работе c AutoIt.


Сайт программы
Русская справка
Коллекция AutoIt скриптов от Sanja Alone
Коллекция AutoIt скриптов от MSFN (могут быть устаревшие).
Справочник по командам rundll32 (команды запуска диалоговых окон и не только...)

AutoIt скрипты - введение и FAQ (статья содержит вводную информацию по AutoIt, а также ответы на ЧаВо).



Данная тема предназначена для общих вопросов по AutoIt. Вопросы по установке приложений при помощи AutoIt следует задавать в соответствии с правилами форума "Автоматическая установка приложений". Таким образом, если вы хотите узнать как установить Winamp 5.x при помощи AutoIt, то создайте тему [autoit] Winamp 5.х (если таковой еще нет на форуме). Проверить наличие тем можно при помощи поиска или фильтров.
Цитата Vadikan:
В теме уже свыше 500 сообщений и поиск нужной информации в ней усложняется. Есть предложение собрать все решения (скрипты) и разместить их на Wiki по принципу "один скрипт - одна статья wiki", добавляя статьи в категорию Autoit. Речь, в принципе, идет об общих решениях, а не о скриптах для установки конкретной программы. Название статьи, очевидно, должно отражать назначение скрипта. Затем можно в шапке просто разместить ссылки на статьи Wiki.

-------
Канал Windows 11, etc | Чат @winsiders

Это сообщение посчитали полезным следующие участники:

Отправлено: 00:02, 05-02-2006

 

Аватара для Creat0R

Must AutoIt


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

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


gregaz,
Цитата:
Func WM_NOTIFY должна определить какое окно послало вызов или нужна отдельная ф-я ?
В этой функции нужно проверять $wParam, оно будет ровняться идентиикатору ListView, BitAND($wParam, 0xFFFF) вернёт идентификатор конкретного элемента (ListViewItem).

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 06:59, 15-01-2008 | #981



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

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


Новый участник


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

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


А вот еще вопросец: А если в телепередаче более двух обозначений времени а то и вовсе все 10 как на канале РБК. То тут как быть? Например
Цитата:
05:05 Азбука инвестора.
05:10, 18:07 Афиша.
05:20, 03:07 Autonews.
05:35 Рынки. Глобальный взгляд. Российский рынок акций: уроки 2007 года.
06:05 Сфера интересов. Сериальная киноэкономика.
06:35, 10:35, 14:35 Зарубежный бизнес.
06:50, 07:05, 10:50, 13:20, 14:50, 15:07, 16:50 Отдых и Туризм.
07:00-06:30 Новости. Каждые 30 минут.
07:10, 15:10, 19:20 Азбука инвестора
07:20 В фокусе. Крупные ресторанные сети.
08:05 Капитал. Опцион для независимого директора.
08:35 Сфера интересов. Сетевые продажи.
09:05, 10:05, 11:05, 12:05, 13:05, 14:05, 15:05, 16:05, 17:05, 18:05, 19:05, 20:05, 21:05, 22:05, 23:05, 00:05, 01:05, 02:05, 03:05, 04:05 Рынки.

Отправлено: 08:57, 15-01-2008 | #982


Аватара для Creat0R

Must AutoIt


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

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


Timurko,
Цитата:
если в телепередаче более двух обозначений времени а то и вовсе все 10 как на канале РБК. То тут как быть?
Вот вариант по короче, работает для любых совпадении в строке:

Код: Выделить весь код
#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 = StringRegExpReplace($aStrArray[$i], "((, |)\d\d:\d\d)", "")
    $aTVShow_Time = StringRegExp($aStrArray[$i], "(\d\d:\d\d)", 3)

    For $j = 0 To UBound($aTVShow_Time)-1
        $aNewArray[0] += 1
        ReDim $aNewArray[$aNewArray[0] + 1]
        $aNewArray[$aNewArray[0]] = $aTVShow_Time[$j] & " " & $sTVShow_Name
    Next
Next

_ArraySort($aNewArray, 0, 1)
_ArrayDisplay($aNewArray)
_FileWriteFromArray(@ScriptDir & "\dest1.txt", $aNewArray, 1)

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 10:27, 15-01-2008 | #983


Новый участник


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

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


Спасибо я еще немного подправил, так чтобы лишние пробелы уберались и время выглядило такого формата \d\d (передача)

PHP код: Выделить весь код

#include <Array.au3>
#include <File.au3>
$file "C:\titles\programma\source1.txt"
$String FileRead($file)

Dim $aStrArray StringSplit(StringStripCR($String), @LF)
Dim $aNewArray[1]

For 
$i 1 To $aStrArray[0]
    
$sTVShow_Name StringRegExpReplace($aStrArray[$i], "((, |)\d\d:\d\d)""")
    
$aTVShow_Time StringRegExp($aStrArray[$i], "(\d\d:\d\d)"3)

    For 
$j 0 To UBound($aTVShow_Time)-1
        $aNewArray
[0] += 1
        ReDim $aNewArray
[$aNewArray[0] + 1]
        
$aNewArray[$aNewArray[0]] = $aTVShow_Time[$j] & " " $sTVShow_Name
    Next
Next
_ArraySort
($aNewArray01)
For 
$i 1 To $aNewArray[0]
    
$aNewArray[$i] = StringRegExpReplace($aNewArray[$i], '\s(\s+)'' ')
    
$aNewArray[$i] = StringRegExpReplace($aNewArray[$i], '(\d\d) - ''\1 ')
Next
_FileWriteFromArray
(@ScriptDir "\dest1.txt"$aNewArray1


Отправлено: 12:14, 15-01-2008 | #984


Новый участник


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

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


хм... А вот если в файле с программой присутствуют названия каналов то они тут просто удаляются...
Я вроде сделал переменную RegExp которая определяет что в данной строке находится именно канал...
PHP код: Выделить весь код

$chanels '^TV1000$|^РБК$|^Дамский клуб$|^Детский мир$|^Школьник ТВ$|^Eurosport2$|^Eurosport$|^Explorer$|^Discovery$|^Animal Planet$|^Viasat History$|^365$|^КиноСоюз$|^Наше Новое Кино$|^Дом Кино$|^Авто плюс$|^Боец$|^Звезда$|^MTV-Россия$|^Муз ТВ$|^STYLE$|^Теленяня$' 


Теперь получается уже надо юзать двумерный массив? Хм...

Вот пример текста программы

Цитата:
TV1000
05:00, 23:00 Я и ты, и все, кого мы знаем
07:00 Грязные делишки
09:00 Суперзвезда
11:00 Девушка на мосту
13:00 Сердце и души
15:00 Звездная ночь
17:00 Сердцеедки
19:00 Осиное гнездо
21:00 Ирландский Квартал
01:00 Белокурые бестии
03:00 Голубой воротничок
РБК
07:00-15:00 Профилактика на канале РБК.
15:00-06:30 Новости. Каждые 30 минут.
15:10, 16:10, 17:10, 18:15, 20:10, 21:10, 00:15, 03:10, 04:10 Рынки.
15:35, 19:35 Новости компаний.
15:50, 18:50, 04:20 Звездная пыль.
16:20 В фокусе. Рынок мясопереработки.
17:20, 23:50, 01:20 Отдых и Туризм.
17:35 Капитал. Банковские вклады: перспективы роста?
18:35 Рынки. Спецвыпуск. Открытие торгов в Америке.
19:10 Рынки. Спецвыпуск. Итоги торгов в России.
19:50, 03:20 Азбука инвестора.
20:35 Рекламная пауза.
21:35, 03:35 Диалог. "Конвертная" борьба.
22:10, 02:10 Интрига дня.
23:00, 01:30 Мир сегодня.
23:35 Зарубежный бизнес.
00:35, 04:35 Сфера интересов. Ювелирные торговые сети.
01:10 Рынки. Спецвыпуск. Итоги торгов в Америке.

Отправлено: 12:36, 15-01-2008 | #985


Аватара для kalikanzaros

Пользователь


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

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


кто подскажет почему скрипт, после удаления ярлыка из автозагрузки, перед самым ребутом, создает его снова???
Код: Выделить весь код
;Определение буквы виртуального CDROM-а (67 - ASCII-код символа "C", 90 - "Z")
;(в качестве маркерного файла используем "wpi.hta")
$i = 67
While FileExists( Chr($i) & ':\WPI\WPI.hta' )=0 AND $i<=90
    $i = $i + 1
WEnd
Sleep ( 500 )
Global $set_reg1=Chr($i) & ':\$OEM$\noanimate.reg', $set_reg2=Chr($i) & ':\$OEM$\sound.reg'
;если ярлык сущ-ет то, скрипт выполняет для чего он собственно и задумывался
If FileExists ( @StartupCommonDir & '\Lastep.lnk' ) Then
    ;предотвращение возможности множественного запуска скрипта
    If WinExists(@ScriptName) Then Exit
    AutoItWinSetTitle(@ScriptName)
    ;Отображать текущую строку сценария с помощью индикатора системной панели в режиме отладки.
    AutoItSetOption("TrayIconDebug", 1)
    AutoItSetOption("SendKeyDelay", 20)
    Sleep ( 5000 )
    ;создаем ярлык на запуск wpi на рабочем столе
    FileCreateShortcut ( Chr($i) & ':\WPI\WPI.hta', @DesktopCommonDir & '\wpi.lnk', Chr($i) & ':\WPI', '' ,'Windows Post Install', Chr($i) & ':\WPI\WPI.ICO')
    Sleep ( 5000 )
    ;удаляем ярлык из автозагрузки
    FileDelete ( @StartupCommonDir & '\Lastep.lnk' )
    Sleep ( 20000 )
    ; переносим ярлыки в старт меню
    FileMove ( @ProgramsDir & '\Internet Explorer.lnk', @ProgramsCommonDir & '\network\', 9 )
    FileMove ( @ProgramsDir & '\Outlook Express.lnk', @ProgramsCommonDir & '\network\', 9 )
    DirRemove( @ProgramsDir & '\Accessories\Entertainment' , 1 )
    Sleep ( 10000 )
    ;загружаем "проблемные" ключи реестра
    RunWait ('regedit /S ' & $set_reg1, '', @SW_HIDE )
    RunWait ('regedit /S ' & $set_reg2, '', @SW_HIDE )
    ; перезагружаем компьютер
    Sleep ( 10000 )
    Shutdown(6)
EndIf
; если ярлык в автозапуске не сущ-ет - создаем его и выходим
FileCreateShortcut ( Chr($i) & ':\$OEM$\lastep.exe',@StartupCommonDir & '\Lastep.lnk', @StartupCommonDir & '\' )
Exit

-------
Я никогда не спорю, никогда не противоречу, я иногда забываю...


Отправлено: 09:58, 21-01-2008 | #986



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [архив - Часть 2] AutoIt скрипты

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? DreDo Хочу все знать 4 01-12-2009 18:54
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. Vadikan AutoIt 1543 18-01-2009 10:46
[Архив - Часть 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




 
Переход