[Помощь] Помощь со скриптом
|
|
Alex_Santos |
Дата: Среда, 31.07.2019, 16:41 | Сообщение # 1
|
Новичок
Сообщений: 7
Статус: Offline
|
Здравствуйте, я решил написать один скрипт, но у меня появилась одна проблема. В общем когда идет цикл, всё хорошо. В файле 3 ника, первый ник и второй ник проверяет хорошо, т.е их проверяет и функция удаляет их из файла, но когда цикл доходит до последней (3) строчки, то я не могу понять что происходит. Строка не удаляется, а начинает копироватся и идет бесконечный цикл, копируется один и тот же ник и вставляется, хотя должно быть так чтобы скрипт дошел до конечной строчки, удалил её и закончил цикл.
Код !1:: { goto start }
start: fileread, var, nick.txt if(RegExMatch(var, "(.*)_(.*) (.*) (.*)", find)) { SendInput, {F6}/id %find1%_%find2%{Enter} a+=1 Sleep 500 Filename=%A_MyDocuments%\GTA San Andreas User Files\SAMP\chatlog.txt fileread, str, %Filename% if(InStr(str, " Игрок не найден!")) { SendInput, {F6}/offban %find1%_%find2% %find3% %find4%{Enter} filenick=nick.txt StrEdit(filenick,a,"") FileDelete %Filename% Sleep 2000 SendInput, {F6}%a%{Enter} goto start } else { RegExMatch(str, "\Q[\E(.*):(.*):(.*)\Q]\E Ник: (.*)_(.*) \Q|\E ID: (.*) \Q|\E LvL: (.*) ", id) SendInput, {F6}/ban %id6% %find3% %find4%{Enter} filenick=nick.txt StrEdit(filenick,a,"") FileDelete %Filename% Sleep 2000 SendInput, {F6}%a%{Enter} goto start } } else ExitApp
StrEdit(File,Line,New=0){ Loop,read,%File% Vsego := A_Index th2 :=Line-1 loop %th2% { FileReadLine,th3,%File%,%A_Index% if th4 != th4 := th4 "`n" th3 If th4 = th4 := th3 } if New != th4 := th4 "`n" New if New = th4 := th4 loop % Vsego - th2 - 1 { Line1 := Line + A_Index FileReadLine,th3,%File%,%Line1% th4 := th4 "`n" th3 } FileDelete,%File% FileAppend,%th4%,%File% return th4 }
Сообщение отредактировал Alex_Santos - Среда, 31.07.2019, 16:48 |
|
|
|
|
Alex_Santos |
Дата: Среда, 31.07.2019, 19:08 | Сообщение # 3
|
Новичок
Сообщений: 7
Статус: Offline
|
Я вот немного изучил, но вот проблема мелкая возникла почти такая же Например в файле 3 строки, я запустил скрипт, он удалил первую строку, вторую, а вот какараз 3 (последнюю не хочет удалять). Можете подсказать в чем проблема?
Код filenick = nick.txt FileRead, text, %filenick% text := RegexReplace(text, ".*`r`n") FileDelete, %filenick% FileAppend, %text%, %filenick%
|
|
|
|
|
Alex_Santos |
Дата: Среда, 31.07.2019, 19:26 | Сообщение # 5
|
Новичок
Сообщений: 7
Статус: Offline
|
Можете объяснить кратко как такое произошло? Т.к я читал про `r`n и не на 100 процентов понял
|
|
|
|
|
Alex_Santos |
Дата: Среда, 31.07.2019, 23:14 | Сообщение # 7
|
Новичок
Сообщений: 7
Статус: Offline
|
Это понятно. Можете помочь пожалуйста сделать так чтобы удаляло последовательно, а не такими пробелами?
|
|
|
|
|
Alex_Santos |
Дата: Четверг, 01.08.2019, 01:05 | Сообщение # 9
|
Новичок
Сообщений: 7
Статус: Offline
|
Если честно, на словах трудно понять. Можно хотя бы мелкий пример в виде кода?
|
|
|
|
|