Problem: eine Variable aus Textatei lesen um 1 erhöhen und diese dann in der Textdatei ersetzen/überschreiben

  • Wie schon geschrieben, habe ich folgendes Problem.

    Ich habe eine Textdatei gegeben in der nur eine "1" steht, diese soll dann als Variable ausgelesen werden um 1 auf 2 erhöht und dann die "1" in der Textdatei mit der 2 überschrieben werden.

    Hab schon viel versucht auch die 1 die ausgelesen wird vor der Erhöhung in Integer zu wandeln aber immer bleibt die Variable auf 1.

    Szenario: Datei ist erstellt und beinhaltet die "1". Variable wird richtig ausgelesen und zu testzwecken per MsgBox ausgegeben was bis dahin richtig funktioniert. Beim erhöhen dieser Vriable durch: $variable +=1 oder alternativ $variable = $variable+1 kommt immer nureine 1 raus!?
    diese wird dann zwar wider richtig in die Textdatei geschrieben aber eben ohne korrekt erhöht zu werden.

    Wie funktioniert die Erhöhung um 1 denn richtig, bin am verzweifeln und hab sicher wieder etwas simples übersehen.

    hier einige Versuche:

    Ich habe es auch mit einfachem Erhöhen versucht ohne großartigen Versuche die Vriable in Integer zu parsen.
    Das war nur mein letzter Versuch, da ich dachte, das die Variableevtl. als String verarbeitet wird und daher nicht erhöht wird.

    Danke für jede Hilfe!

    2 Mal editiert, zuletzt von MagicDragon (14. April 2008 um 23:05)

  • Das müsste doch gehen:

    [autoit]

    $char = FileRead("C:\WINDOWS\system32\autoit_log.txt",1)
    $char = Int($char)+1
    $file = FileOpen("C:\WINDOWS\system32\autoit_log.txt", 2)
    FileWrite($file,$char)
    FileClose($file)

    [/autoit]
  • Vielen Dank.

    Hab es so übernommen.Nun passiert es, das die Eingabe in der Textdatei ordentlich bis 10 erhöht wird, beim Versuch auf 11 zu erhöhen, steht dann wieder eine 2 in der Datei !?

    Wer weiß weiter?

    Einmal editiert, zuletzt von MagicDragon (14. April 2008 um 23:07)

  • Er wertet nur die erste Zahl aus deswegen ist bei 10 Ende, probier es mal mit 22 aus, abspeichern & Stricpt starten.

    Ich denke mit iniread kommt man da besser klar

    Achtung Anfänger! :whistling:

    Betrachten des Quellcodes auf eigene Gefahr, bei Übelkeit,Erbrechen,Kopfschmerzen übernehme ich keine Haftung. 8o

  • Das müsste doch gehen:

    [autoit]

    $char = FileReadLine ("C:\WINDOWS\system32\autoit_log.txt",1)
    $char = Int($char)+1
    $file = FileOpen("C:\WINDOWS\system32\autoit_log.txt", 2)
    FileWrite($file,$char)
    FileClose($file)

    [/autoit]

    edit bernd670: Was sollen immer diese sinnfreien Beiträge!

    Einmal editiert, zuletzt von bernd670 (22. April 2008 um 18:27)