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