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

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

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

Старожил


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

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


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





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


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

Помогите пожалуйста. Нужен маленький скриптик для решения некоторых рутинных задачь.
Вот что нужно сделать последовательно:

1) в папке DIR1 находим и удаляем файлы в названии которых присутствует text_1
2) в папке DIR2 находим xxx.sif и удаляем строки, в которых присутствует text_1
3) в папке DIR3 находим xxx.inf и добавляем в его секцию [XXX] несколько строчкек (text_2, text_3, ..., text_n)
4) в папке DIR4 находим yyy.inf ищем в его секции [YYY] text_4 и заменяем его на text_5
5) сохраняем все изменения и выводим отчёт о проделанной работе :-)

Заранее благодарен.

Отправлено: 05:05, 03-12-2006

 

Аватара для Creat0R

Must AutoIt


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

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


amel27
Цитата:
зачем там RegExp?
Я тоже в начале не хотел это использовать, но дело в том, что в отличие от приведённого мной примера, иногда есть необходимость для каждой замены задавать Patern (кстати, как оно по русский? ), чтобы по нему делать замену.

Вобщем спасибо, идея с созданием массива вне функции мне понравилась, это позволяет более удобно задавать Patern и соответственно замену.
А также...

Цитата:
- нет проблем с форматными символами (речь о "|");


Вот немного переделал, добавил проверку ошибочности и возврат общего числа сделанных замен (@Extended):

Код: Выделить весь код
$String = 'file://localhost/%22c:/my%20test/test.zip%22'
Dim $Pattern[4] = ['/', '%20', '%22', 'file:\\localhost\']
Dim $Replace[4] = ['\', ' ', '"', '']

$String = _StringMultiReplace($String, $Pattern, $Replace)

MsgBox (64, "Results", $String  & @LF & "Число замен: " & @extended)
;На выходе имеем это:
;"c:\my test\test.zip"
;Число замен: 9

Func _StringMultiReplace($String, $Pattern, $Replace)
    If Not IsArray($Pattern) Or Not IsArray($Replace) Then Return SetError(1, 0, $String)
    Local $Extended = 0
    ReDim $Replace[UBound($Pattern)]
    For $i = 0 To UBound($Pattern)-1
        $String = StringReplace($String, $Pattern[$i], $Replace[$i])
        $Extended += @extended
    Next
    Return SetError(0, $Extended, $String)
EndFunc
gregaz
Цитата:
При закрытии дочернего окна GUI у меня обычно закрывается и родительсое окно.
Это зависит от того как оно закрывается...

Цитата:
Чем это достигнуто ?
Функция GuiDelete() имеет один опциональный параметр, это должен быть уникальный идентификатор, который возвращается функцией GuiCreate().

Соответственно, если имеем 2 ГУИ:

$Gui_1 = GuiCreate("Первый ГУИ")

$Gui_2 = GuiCreate("Второй ГУИ")


То для закрытия второго (предполагается что они оба уже видны), задаём как первый параметр команды GuiDelete() его идентификатор:

GuiDelete($Gui_2)

Также можно и спрятать окно:

GuiSetState(@SW_HIDE, $Gui_2)

Для показа обратно:

GuiSetState(@SW_SHOW, $Gui_2)

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

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

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

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

Отправлено: 09:37, 09-06-2007 | #501



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

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


Аватара для gregaz

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


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

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


Цитата:
gregaz
Цитата:При закрытии дочернего окна GUI у меня обычно закрывается и родительсое окно.

Creat0R
Это зависит от того как оно закрывается...
Спасибо это тоже полезно,ноя имел ввиду закрытие системным крестиком (в правом верхнем углу ).

Отправлено: 10:01, 09-06-2007 | #502


Googler


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

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


Creat0R
По поводу _FileOpenDialog() - замени по тексту в определении структур "byte" на "char"... Так вроде работает, но логику изменений в работе структурных функций AutoIT-а пока не просек... нелогично это, когда бинарные данные (не текст!) по умолчанию преобразуются в юникод... на выходе получается чёрти-чё...

Отправлено: 10:33, 09-06-2007 | #503


Аватара для Creat0R

Must AutoIt


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

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


gregaz
Цитата:
я имел ввиду закрытие системным крестиком
Но если в главном цикле не задать действие для этого крестика, а именно это:

If GuiGetMsg = -3 Then
GuiDelete($Gui_2)
EndIf

то ничего происходить не будет.

Поэтому я и написал, что это зависит от ситуации и метода закрытия.

amel27
Цитата:
замени по тексту в определении структур "byte" на "char"
Ок, спасибо, но у меня пока этой проблемы нет, я ещё не ставил новую версию AutoIt (юзаю 3.2.2.0), но когда поставлю, полагаю мне это пригодится

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

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

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


Отправлено: 11:27, 09-06-2007 | #504



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? DreDo Хочу все знать 4 01-12-2009 18:54
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. Vadikan AutoIt 1543 18-01-2009 10:46
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
[Архив - Часть 1.2] AutoIt скрипты Dirk Diggler AutoIt 505 02-12-2006 11:00
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход