|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.2] AutoIt скрипты |
|
[Архив - Часть 1.2] AutoIt скрипты
|
Ветеран Сообщения: 565 |
Внимание! Тема переведена в архивное состояние (настоятельно рекомендуется к прочтению/поиску) Руководство к действию по работе c AutoIt. |
|
------- Отправлено: 10:47, 10-02-2006 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать XXXler
Цитата:
P.S: Под словом Раздел - я подразумиваю начало пунктам под которым есть ключи и значение у них, вот пример: [Раздел1] Ключь = Значение [Раздел2] Ключь = Значение И т.д.. |
|
------- Отправлено: 17:02, 18-07-2006 | #221 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
![]() Ветеран Сообщения: 1073
|
Профиль | Отправить PM | Цитировать Вызов функции:
IniWriteVP(Файл,Секция,Параметр,Значение,[опционально:позиция параметра в секции]) Например: IniWriteVP($File,"Section","Parametr","Этот параметр будет вторым",2) IniWriteVP($File,"Section","Parametr","Этот параметр будет записан также, как и с пом. IniWrite") Func IniWriteVP($File,$Sect,$Param,$Val,$Pos=0) Local $ValArr,$i If $Pos<>0 Then IniDelete($File,$Sect,$Param) $ValArr=IniReadSection($File,$Sect) If @error Or $Pos=0 Or $ValArr[0][0]<$Pos Then IniWrite($File,$Sect,$Param,$Val) SetError(@error) Else For $i=1 To $ValArr[0][0] IniDelete($File,$Sect,$ValArr[$i][0]) Next For $i=1 To $ValArr[0][0] If $Pos=$i Then IniWrite($File,$Sect,$Param,$Val) IniWrite($File,$Sect,$ValArr[$i][0],$ValArr[$i][1]) Next EndIf EndFunc |
Последний раз редактировалось XXXler, 20-07-2006 в 10:34. Отправлено: 19:09, 18-07-2006 | #222 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать XXXler
У меня что-то не получается ![]() $Sect="Test1" $Param="Параметр" $Val="Значение" $File="Test.ini" Func IniWriteVP($File,$Sect,$Param,$Val,$Pos=0) IniWriteVP($File,$Sect,$Param,$Val, 2) EndFunc Если не трудно, напиши пожалуйста скрипт так, чтобы он в файл Test.ini, в секцию "Test3", и в третью строчку этой секции, записывал параметр "Проба" со значением "1". Т.е вот так должна быть прописана строка: |
------- Отправлено: 00:11, 19-07-2006 | #223 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать bogomolv
Цитата:
Ты хочеш сказать, что в справке ясно описанно как сделать мою задумку, или что мою задумку не реально сделать в AotoIt? Тогда как-же в нём делают очень сложные задачи? а такую простую, как запись в определённую строку определённой секции ини файла, не возможно?! не поверю. Просто другое дело, нехватает опыта, или знании сделать такую задачу (или желания), а так или иначе, прямым, или обходным путём, реализовать мою задумку возможно... и надеюсь найдутся добрые, опытные, и желающие помочь новичку в этом деле (в программировании) люди (В их число, думаю входишь и ты, но почему-то предпочитаешь видеть во мне не новичка в программировании, а чайника в целом - что вовсе неверно!). P.S: Извеняюсь за офтоп, но мне хочется чтобы меня понимали, это необходимо для моего прибывание на форуме! |
|
------- Отправлено: 01:48, 19-07-2006 | #224 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать bogomolv
Цитата:
Во многих кодах, мне ясны только основные вырожения, типа IniWrite, IniRead, For..Next, Do...Untill, переменные $var, $Func, $Sect, $param, $val, $File и т.д и т.п... Но во многих случаях (да почти во всех), увидив их в примерах справки, или тут на форуме, мне не удаётся соеденить их логический смысл воедино. Это подобно тому, как я знаю с десяток слов на французском в отдельности (их звучание и дословный перевод), но если мне начнут говорить на этом языке, даже услышав знакомые слова, я не пойму о чём речь, потому что нету опыта в разгаворе и понимании языка. А взяв русско-французский словарь (аналогия на справку в AotoIt), и прочитав его залпом, будет таже ситуация, и разговор на этом языке я не пойму, пока не стану говорить на нём (разве что если тот самый словарь, будет написан с подробными разъяснениями и мини-уроками по практике речепонимания и произношения). А пример выше, огромное конечно спасибо за попытку, но он, как я понял, проверяет существует ли заданное значение в заданной секции, и если да, то создаёт заданный параметр с заданным значением в этой секции на одну строчку ниже, распознанного значения... а если значение не найдено, то заданный параметр со значением записывается в первую строчку заданного параметра... Но мне, вообще-то, ненужно чтобы там была какая-то либо или чего-то либо проверка, нужно чтобы был скрипт, в определённую команду которого (типа $Pos=3), я смог бы внести номер строки заданной секции, и после запуска данного скрипта, в эту строку прописался бы заданный параметр со значеним. Цитата:
Цитата:
|
|||
------- Отправлено: 15:32, 19-07-2006 | #225 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать bogomolv
Цитата:
Цитата:
А на счёт справки, Спасибо, так намного проще понимать что тебе советуют! ![]() |
||
------- Отправлено: 14:43, 20-07-2006 | #226 |
![]() Ветеран Сообщения: 1073
|
Профиль | Отправить PM | Цитировать Creat0R, пустые строки в секции имеют место?
|
------- Отправлено: 14:54, 20-07-2006 | #227 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать XXXler
Цитата:
|
|
------- Отправлено: 15:04, 20-07-2006 | #228 |
![]() Ветеран Сообщения: 1073
|
Профиль | Отправить PM | Цитировать Creat0R, все отловил ситуацию:
при таком заполнении: Func IniWriteVP($File,$Sect,$Param,$Val,$Pos=0) Local $ValArr,$i If $Pos<>0 Then IniDelete($File,$Sect,$Param) $ValArr=IniReadSection($File,$Sect) If @error Or $Pos=0 Or $ValArr[0][0]<$Pos Then IniWrite($File,$Sect,$Param,$Val) SetError(@error) Else For $i=1 To $ValArr[0][0] IniDelete($File,$Sect,$ValArr[$i][0]) Next For $i=1 To $ValArr[0][0] If $Pos=$i Then IniWrite($File,$Sect,$Param,$Val) IniWrite($File,$Sect,$ValArr[$i][0],$ValArr[$i][1]) Next EndIf EndFunc For $i=1 To 3 For $y=1 to 10 IniWriteVP(@ScriptDir&"\Test.ini","Test"&$i,"Par"&$y,"Фигня") Next Next IniWriteVP(@ScriptDir&"\Test.ini","Test1","Par100","пятое значение",5) IniWriteVP(@ScriptDir&"\Test.ini","Test3","Par3","третье значение",3) IniWriteVP(@ScriptDir&"\Test.ini","Test3","Par1","седьмое значение",7) [Test1] Par1=Фигня Par2=Фигня Par3=Фигня Par4=Фигня Par100=пятое значение Par5=Фигня Par6=Фигня Par7=Фигня Par8=Фигня Par9=Фигня Par10=Фигня [Test2] Par1=Фигня Par2=Фигня Par3=Фигня Par4=Фигня Par5=Фигня Par6=Фигня Par7=Фигня Par8=Фигня Par9=Фигня Par10=Фигня [Test3] Par2=Фигня Par3=третье значение Par4=Фигня Par5=Фигня Par6=Фигня Par7=Фигня Par1=седьмое значение Par8=Фигня Par9=Фигня Par10=Фигня попожжа наваяю, может быть |
Отправлено: 15:18, 20-07-2006 | #229 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать XXXler
Огромное спасибо за такое внимание! А может быть есть такая команда, которая после вставки параметра в первую строку, будет как бы двигать его (параметр) по одной строке вниз? А вообще, как я потихоньку начинаю убиждаться, моя задумка очень сложная для выполнения (не только на AutoIt) тем способом который я объяснил. Тогда у меня есть немного другая альтернатива, но цель впринципе та же: Вместо прописывания параметров в определённую строку секции, можно было бы проверять если заданный параметр прописан так как он определён (в скрипте), и если так и прописан, то пусть к этому параметру дописывается символ ; (чтобы параметр был как бы закоментирован), а если у этого параметра уже прописан такой символ, то пусть он убирается, и параметр таким образом становится активным - Этот вриант, как мне кажется, наиболее подходящий, и думаю даже более прост для выполнения скриптом AutoIt. |
------- Отправлено: 16:10, 20-07-2006 | #230 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Открывая 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.3] AutoIt скрипты | biork | AutoIt | 503 | 09-06-2007 11:27 | |
[Архив - Часть 1.1] AutoIt скрипты | EgOrus | AutoIt | 335 | 04-02-2006 16:58 |
|