Text in Variable abspeichern

Stelle Fragen zur Programmierung mit Autohotkey

Moderator: jNizM

animagus46
Posts: 23
Joined: 19 Dec 2014, 15:23

Text in Variable abspeichern

19 Apr 2016, 14:33

Hallo zusammen,
ich versuche aus einer TXT Datei den Text auszulesen und diese in Verschiedene Variablen abzulegen.

TXT wäre so aufgebaut:

1.A111111
2.A222222
3.A333333

Der . wäre das Trennzeichen (da PinNummer bis 999 gehen soll)
Variablen wären dann.
PinNummer=1
PinCode=A111111

und so weiter

Ich komme nicht zu einer Lösung wie ich das anstellen kann.

Versucht habe ich sowas;

FileReadLine, TestString , C:\1\PIN.txt, 1 ; nur die 1'ste Zeile lesen, Zeile wird später gelöscht, dann ist die 2'te Zeile die erste usw.
Loop, parse, TestString , . ,
MsgBox %A_LoopField%.

Ich habe vor, das beim Aufruf nur 1 mal abgefragt wird (also immer die erste Zeile) und ich so weiss welche PinNummer drann ist und welcher PinCode es ist.
Ich habe auch mit dem Befehl StrSplit versucht, aber das Resultat ist das gleiche.

Es ist sicher was ganz einfaches, aber ich habe kein Plan.
Für ein paar Tips danke ich euch.

Gruss
Animagus
Last edited by animagus46 on 19 Apr 2016, 15:46, edited 3 times in total.
wolf_II
Posts: 2688
Joined: 08 Feb 2015, 20:55

Re: Text in Variable abspeichern

19 Apr 2016, 14:56

Darf ich vorschlagen Deine Variablen umzubenennen?

z.B.: PinNummer_1, PinNummer_2, ...
und PinCode_1, PinCode_2. ...

Dann kannst Du:

Code: Select all

FileRead, TestString, %A_ScriptDir%\PIN.txt
Loop, parse, TestString, `n, `r
    If RegExMatch(A_LoopField, "(.+)\.(.+)", $)
        PinNummer_%A_Index% := $1
        , PinCode_%A_Index% := $2

ListVars
MsgBox
Mit StringSplit:

Code: Select all

FileRead, TestString, %A_ScriptDir%\PIN.txt
Loop, parse, TestString, `n, `r
{
    IfEqual, A_LoopField,, Continue
    StringSplit, $, A_LoopField, .
    PinNummer_%A_Index% := $1
    PinCode_%A_Index% := $2
}

ListVars
MsgBox
animagus46
Posts: 23
Joined: 19 Dec 2014, 15:23

Re: Text in Variable abspeichern

19 Apr 2016, 15:55

Danke dir wolf_II,

ich habe mein Text noch "präzisiert", aber ich kann dein Code nehmen und das alles ohne Loop machen (dann läuft es ja nur 1 mal ab, denke ich)
so wird doch nur die erste Zeile abgefragt werden.

Danke dir für den Tip.

gruss
animagus
animagus46
Posts: 23
Joined: 19 Dec 2014, 15:23

Re: Text in Variable abspeichern

20 Apr 2016, 12:15

Wusst ich doch das es einfach ist. Musste wohl mal ausschlafen.

FileReadLine, ZeilePIN , C:\1\PIN.txt, 1
wort_array := StrSplit(ZeilePIN, "." , "" )
MsgBox % "PinNummer ist " wort_array[1]
MsgBox % "PinCode ist " wort_array[2]

Return to “Ich brauche Hilfe”

Who is online

Users browsing this forum: No registered users and 30 guests