Я только начинаю с AHK, и я учу себя, как читать текстовый файл, состоящий из 4 столбцов, пробелов и табуляторов и неизвестного количества строк.Проблемы с возвратом элементов из массива
Я пытаюсь захватить первый токен любых строк, содержащих строку «xcal», сохранить этот первый токен (% A_Index% = 1, справа?) В моем массиве (RunNum), а затем извлечь все сохраненные номера, отображающие их в MsgBox.
#SingleInstance, Force
RunNum := Object() ; Initialize temporary array
; ----------------- Read LIST.TAB. ---------------------------
IfNotExist, %A_ScriptDir%\LIST.TAB
{
MsgBox,48,Error!, LIST.TAB was not found.
ExitApp
}
else
{
RunCount = 1 ; Set Run counter
Loop, read, %A_ScriptDir%\list.tab ; Read config file
{
IfInString, A_LoopReadLine, xcal ; If current line contains the word 'xcal'...
{
Loop, Parse, A_LoopReadLine, %A_Space% %A_Tab% ; Parse through current line of config file, space and tab delimiter
{
if (%A_Index% = 1) ; Continue if at the first element/token of string
{
RunNum[RunCount] := A_LoopField ; Store current field in RunNum array
RunCount+=1 ; Increase counter
}
}
}
}
MsgBox % RunNum[RunCount]
}
право не является 'если A_Index = 1' не процентов знаки –
Также самый внутренний 'if', кажется, отсутствует фигурные скобки вокруг двух следующих строк. – wOxxOm
Удаление% 'ничего не меняет. И я должен забыть добавить фигурные скобки в цикле if, но они есть в моем подлинном скрипте. Я просто не понимаю, как я могу отображать значение в массиве, или если массив даже заполняется? – Glycoversi