Не записываются значения в массив
|
|
tawer13371cs |
Дата: Воскресенье, 22.11.2020, 03:20 | Сообщение # 1
|
Новичок
Сообщений: 18
Статус: Offline
|
У меня есть RegEx который записывает номера входящих сообщений, он работает нормально, но после записи их в массив, выводится только номер последнего сообщения. Вывод используется через for, сам массив объявлен пустым в начале скрипта
Код smsTimer: chatsms := GetNewLine(FileChatLog) if (RegExMatch(chatsms, "Входящее СМС от (.*) \[(\d+)\]: (.*)", find)) { AddChatMessage("{7B68EE}[СМС] {FFFFFF}Входящее {FADC32}СМС {FFFFFF}от {FADC32}" find3 ". {FFFFFF}Нажмите {FADC32}\ {FFFFFF}для быстрого ответа.") arraySms[A_Index] := find4 ; запись номера в массив }
Сообщение отредактировал tawer13371cs - Воскресенье, 22.11.2020, 03:29 |
|
|
|
|
tawer13371cs |
Дата: Среда, 25.11.2020, 05:55 | Сообщение # 3
|
Новичок
Сообщений: 18
Статус: Offline
|
Цитата CZAR (  ) Попробуй .Push() Все равно тот же результат, выводится последнее записанное значение
|
|
|
|
MrGPro-new |
Дата: Среда, 25.11.2020, 21:47 | Сообщение # 4
|
Новичок
Сообщений: 1
Статус: Offline
|
Код global arraySms := [] global i := 0 smsTimer: if (RegExMatch(chatsms, "Входящее СМС от (?<name>.*) \[(?<id>\d+)\]: (?<sms>.*)", find_)) { AddChatMessage("{7B68EE}[СМС] {FFFFFF}Входящее {FADC32}СМС {FFFFFF}от {FADC32}" find_name ". {FFFFFF}Нажмите {FADC32}\ {FFFFFF}для быстрого ответа.") arraySms[i++] := [find_name, find_id, find_sms] ; запись номера в массив } return
Insert:: For index, key in arraySms { MsgBox,,, % arraySms[index][1] . " - " . arraySms[index][2] . " - " . arraySms[index][3] } return
|
|
|
|
CZAR |
Дата: Среда, 25.11.2020, 23:19 | Сообщение # 5
|
Czar Of Scripts
Сообщений: 1373
Статус: Offline
|
MrGPro-new, зачем эта не нужна переменная i? Чем тебе Push не угодил? Что это у тебя за прикольный for такой бессмысленный 
Код for key, value in arraySms { ; value[1] / value[2] / value[3] }
Почему бы вообще не сделать объект? Проще же обращаться по имени, чем помнить какой номер за что отвечает, не?
Я в ВК Ушел в веб.
• Ничего не покупаю. • Способы не проверяю.
У меня теперь новый домен, если ссылка не работает - напишите.
Гарант Cheat-Master: *тема* AHK [S-RP] House Finder / House Teleporter [SAMP] Online Counter [S-RP] [For Event] Show Star [S-RP] AntiCasino [S-RP] [BOT] Auto Fisher + Auto Find Worm + Auto Cook [S-RP] [BOT] /dance Winner | Делаем розыгрыши среди участников темы. SAMP-UDF [AHK Урок] Выбор в диалогах мышкой и enter`ом [SAMP] Быстрый ответ на СМС [ERP] Помощник для адвоката [DRP] FakeTime Достижения: - 26.02.2017 - 03.01.2018 - 26.05.2018 - 22.09.2018 - 04.04.2019
|
|
|
|
Godarck |
Дата: Понедельник, 30.11.2020, 20:40 | Сообщение # 6
|
AHK Скриптер
Сообщений: 252
Статус: Offline
|
Код smsTimer: chatsms := GetNewLine(FileChatLog) if (RegExMatch(chatsms, "Входящее СМС от (.*) \[(\d+)\]: (.*)", find)) {
AddChatMessage("{7B68EE}[СМС] {FFFFFF}Входящее {FADC32}СМС {FFFFFF}от {FADC32}" find1 ". {FFFFFF}Нажмите {FADC32}\ {FFFFFF}для быстрого ответа.")
arraySms.Insert(find1) ; запись номера в массив ;;; arraySms.Insert({Number:find2,Message:find3}) ;;; либо запись в массив, который после этого становится двумерным }
Немного не понял. либо ты дал не работающий код, либо вырезал кусок. но у тебя до find4 не дойдет набор в оригинале твоем
Бесплатный и новый бот рыбалки для GTA V RP GunList для GTA V RP - писать в ЛС Fake Time для GTA V RP
|
|
|
|
tawer13371cs |
Дата: Пятница, 04.12.2020, 03:56 | Сообщение # 7
|
Новичок
Сообщений: 18
Статус: Offline
|
С массивом разобрался, но обнаружил другую проблему) Если скопировать сообщение и отправить то получится такое:
Код [СМС] Входящее СМС от Mark Tucson [660]: СМС от Maria Versetti . Нажмите \ для быстрого ответа.
Как остановить regex после первого раза?
|
|
|
|
Godarck |
Дата: Пятница, 18.06.2021, 19:10 | Сообщение # 8
|
AHK Скриптер
Сообщений: 252
Статус: Offline
|
Цитата tawer13371cs (  ) Как остановить regex после первого раза? В самой функции - Никак. Можно скорректировать шаблон привязав к началу или к концу строки маркерами ^(начало) и (конец)$
У вас чатлог должен читаться постоянно, но выводится из цикла только тогда когда последняя строка отличается от предыдущей.
Бесплатный и новый бот рыбалки для GTA V RP GunList для GTA V RP - писать в ЛС Fake Time для GTA V RP
Сообщение отредактировал Godarck - Пятница, 18.06.2021, 19:14 |
|
|
|