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

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


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

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


amel27
Цитата:
Функция выводит сообщения (Select) и возвращает двумерный массив со счетчиком (номер строки и текст)
Немного не так - Мне нужно чтобы вернулись в массив все номера строк, которые содержат дубляжи (именно дубляжи, без первой находки искомого слова), и желательно, чтобы в массиве эти номера строк, помещались через разделитель (допустим, через | ). В случае неудачи (или если вовсе не найденно вхождении), т.е если дубликатов нет, ненужно выводить сообщения, а просто в массив с нулём ($Array[0]) поместить содержание искомого слова (ну или вообще просто пустату "" - это нужно для проверки содержит ли массив номера строк, т.е дубляжи).

Просто дело в том, что задача у меня примерно такая:
-Проверить файл на дубликаты определённово слова (а точнее ссылки), если есть таковы, то просто удалить все дубликаты, оставив один-“оригинал” - Как удалять я знаю, имея номера строк, я могу восспользоваться функцией _FileWriteToLine...

Код: Выделить весь код
#include <File.au3>

$Array = StringSplit("1|4|6|8", "|") ;Вместо цифр будет подставлен тот самый массив с номерами строк

For $i = 1 to $Array[0]
	_FileWriteToLine("File.txt", $Array[$i], "", 1)
Next
Но и тут есть проблема, после удаления строки под первым номером присутствующем в массиве, все остальные теряют своё значения, и удаляются уже не те строки (вернее по номеру это правильные строки, а по контексту нет) - Поэтому нужно как то удалять строки все одновременно, или на основе номеров строк, брать их содержание в другой массив, и уже потом удалять (вернее заменять) их основываясь на тексте - Но как это реализовать, я пока смутно себе представляю

---------------------------------

TERMINAL

У тебя в примере, нет упоминания о патче, но попробую привести нужны пример на основе воображения :

Код: Выделить весь код
Opt("WinTitleMatchMode", 4)

Global $serial='12345-67890-12345-67890'
Run ( @ScriptDir & '\' & 'Setup.exe' )
WinWait("ACDSee 8 - InstallShield Wizard","ACDSee 8 can run with previous")
WinActivate("ACDSee 8 - InstallShield Wizard","ACDSee 8 can run with previous")
ControlClick("ACDSee 8 - InstallShield Wizard","ACDSee 8 can run with previous","Button1")
WinWait("ACDSee 8 - InstallShield Wizard","I &accept the terms in the lic")
WinActivate("ACDSee 8 - InstallShield Wizard","I &accept the terms in the lic")
ControlClick("ACDSee 8 - InstallShield Wizard","I &accept the terms in the lic","Button3")
ControlClick("ACDSee 8 - InstallShield Wizard","I &accept the terms in the lic","Button5")
WinWait("ACDSee 8 - InstallShield Wizard","&Organization:")
WinActivate("ACDSee 8 - InstallShield Wizard","&Organization:")
ControlClick("ACDSee 8 - InstallShield Wizard","&Organization:","RichEdit20W3")
ControlCommand("ACDSee 8 - InstallShield Wizard", "Customer Information", "Edit3", "EditPaste", $serial)
ControlClick("ACDSee 8 - InstallShield Wizard","&Organization:","Button8")
WinWait("ACDSee 8 - InstallShield Wizard","&Complete")
WinActivate("ACDSee 8 - InstallShield Wizard","&Complete")

While 1
Run( @ScriptDir & '\' & 'Path.exe' )

WinWait("MM", "", 10) ; ждём 10 секунд окна с заголовком MM

;В случае появления окна с заголовком “MM”, Закрываем его, и запускаем патч снова
If WinExists("MM", "") Then
WinClose("MM", "") 
ContinueLoop
EndIf
ExitLoop
Wend

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

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

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:52, 04-11-2006 | #438