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

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

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

(*.*)


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


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

Профиль | Сайт | Отправить 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

 

Googler


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

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


Creat0R
Цитата:
Если нет необходимости перебирать массив, то да
ты думаешь я владею тайным знанием?... сам подумай - если бы даже была такая команда, она бы все равно (втайне от нас) делала вставку с передвижкой всего "хвоста" в памяти на одну позицию.

З.Ы. К слову, я уже давно отказался от _FileReadToArray() и некоторых других штатных UDF, так как RegExp-команды более мощные и гибкие... К примеру, при чтении файла кроме обычного деления на строки можно по ходу делать много других полезных вещей - убирать ведущие и оконечные пробелы, проверять строки на условия, etc.

Отправлено: 09:47, 23-06-2007 | #91



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

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


Googler


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

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


Creat0R
однако... лучший способ разубедить себя - попытаться убедить другого...
Код: Выделить весь код
Func _FileReadToArray($sFilePath, ByRef $RetArr)
    Local $str = @LF & FileRead($sFilePath)
    If @error Then Return SetError(1)
    $RetArr = StringRegExp($str,'(^\n|[^\n\r]+)',3)
    $RetArr[0] = UBound($RetArr)-1
    Return $RetArr
EndFunc
З.Ы. вот только работать этот способ будет чуть медленней
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:33, 23-06-2007 | #92


Аватара для Creat0R

Must AutoIt


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

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


amel27
Цитата:
сам подумай - если бы даже была такая команда, она бы все равно (втайне от нас) делала вставку с передвижкой всего "хвоста" в памяти на одну позицию.
Я не это имел ввиду, я думал что может StringRegExp “умеет” как бы добавлять пустую строку в начало массива....

Цитата:
вот только работать этот способ будет чуть медленней
Идеально, по крайней мере не медленней моего примера с циклом

Спасибо, с этой функциецй (о котороый уже около 3-ёх страниц пишем), можно успокоиться

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

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

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


Отправлено: 23:33, 23-06-2007 | #93


Аватара для proxy

Старожил


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

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


Добрые ночи.

В моей программе много gui элиментов, которые в ходе работы с программой будут очень часто вызываться, обробатываться и т.д.
Эти элементы состоят из целых групп, т.е. парочка текстовых полей и несколько кнопок, список и несколько кнопок и т.д.

Как лучше организовать, со стороны наилучшей работоспособности программы, вариант:

1) насоздовать все gui элименты и не нужным дать статус $GUI_HIDE и показывать их только при необходимости?

2) все gui элименты создовать при необходимости и удалять по завершении работы с ними?

-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?


Отправлено: 01:01, 24-06-2007 | #94


Аватара для Creat0R

Must AutoIt


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

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


proxy
Цитата:
Как лучше организовать, со стороны наилучшей работоспособности программы
Мой личный совет - 1)

Поясню...

* Я не раз приходил к выводу, что создавая элементы "на лету", ими потом очень тяжело управлять (хотя не всегда), особенно если используется больше чем один Гуи.
* Когда мы создаём сразу все необходимые элементы (под нужными GUI), мы потом можем легко присваивать им нужные атрибуты/свойства/статусы, удалять их, или менть их значения.

Исходя из этого, я бы создавал всё сразу, но главное, обьявлять глобально все переменные элементов, и постараться “не забыть” из имена

Вывод:
Если есть терпение, желание, стремление, то лучше сразу привыкнуть, хоть и не к лёгкому, но зато верному методу, чтобы потом можно было клипать ГУИ с увереностью в том, что будет наименьшее количество припятсвии и ошибок (а они всегда будут).
Однако, в некоторых случая бывает как раз наоборот, когда более удобнее создавать “на лету”, но это уже на расмотрение автора, нужно учитывать такие факторы как количество окон Гуи которые планируется создавать, насколько часто будут обращения к создаваемым элементам, и другие подобные факторы... возможно иногда, лучшим методом окажется помещение в отдельную функцию всей процедуры создания элементов, чтобы без затруднении можно было пересоздать (с удалением внутри функции к примеру) необходимые элементы.

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

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

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


Отправлено: 01:29, 24-06-2007 | #95


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


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

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


amel27
Цитата:
лучший способ разубедить себя - попытаться убедить другого...
Хорошо сказано, обычно так и случается...
По поводу _FileReadToArray, большое спасибо! Уже не один раз убеждался что 'RegExp' мощный инструмент, особенно в опытных руках. Жалко только что в справке AutoIt, об этом слишком сжато написано...

Отправлено: 03:54, 24-06-2007 | #96


Googler


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

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


Diamond
Цитата:
Жалко только что в справке AutoIt, об этом слишком сжато написано
лучшее из переведенного: http://shop.piter.com/lib/978531800056/regvir.phtml
Это сообщение посчитали полезным следующие участники:

Отправлено: 08:43, 24-06-2007 | #97


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


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

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


Кто ни будь знает, как использовать команду PluginOpen() и где взять сами плагины?

amel27
Цитата:
лучшее из переведенного:
Я и не подозревал что есть такая книга, да ещё и на русском... Спасибо!

Creat0R
А твоя версия функции _FileReadToArray() та которая с циклом, тоже пригодилась. Я её изменил немного, чтобы она считывала файл один к одному, включая пустые строки.
Вот только переменную $i можно было бы совсем убрать, имхо лишняя... Как считаешь?
Получается, что если была использована FileOpen() - то при каждом новом вызове команды: FileReadLine(), автоматически генерируется новый номер строки. Выходит что для FileReadLine() номер то, можно и не указывать...?

Отправлено: 09:21, 24-06-2007 | #98


Аватара для proxy

Старожил


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

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


Creat0R, спасибо.

в моей программе только одно окно GUI и в нем меняется куча элементов,
так что я сразу создал все и не нужное скрыл. И вот после этого задумался
не станет ли это "грузит" мою программу.

но используя комментарии к глобальным переменнм, даюи им понятные имена,
и ты мысли мои прочетал - создание, скрытие и отображение элементов,
все организовал через функции, все очень удобно.

-------
Мысли-читатель сломался, может подробней расскажите?
А где исходный код? Или мы стихи обсуждаем?! )) Настройки темы > Решено ?


Отправлено: 13:49, 24-06-2007 | #99


Аватара для Creat0R

Must AutoIt


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

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


Diamond
Цитата:
Получается, что если была использована FileOpen() - то при каждом новом вызове команды: FileReadLine(), автоматически генерируется новый номер строки. Выходит что для FileReadLine() номер то, можно и не указывать...?
Так и есть, из справки:

Цитата:
If no line number to read is given, the "next" line will be read. ("Next" for a newly opened file is initially the first line.)
Но по непонятной мне причине, первая попытка это сделать, выдала только одну строку, хотя файл содержал немного больше строк, возможно была ошибка чтнения?

proxy
Цитата:
не станет ли это "грузит" мою программу.
Естественно сам процесс создания элементов, использует память, но сильно нагружать не будет, как только создаются элементы, они как бы висят в памяти.
Это кстати, ещё одна причина по которой стоит сразу создавать нужные элементы, т.к создавая и удаляя их в процессе выполнения разных задач программы, память будет пополняться, при удалении элементов она обычно не высвобождается самостоятельно, кстати для этого есть функция на оф. форуме (_ReduceMemory()).

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

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

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


Отправлено: 21:21, 24-06-2007 | #100



Компьютерный форум 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




 
Переход