Txt wird bei Ausgabe nicht vollständig angezeigt

  • Hey,

    Ich muss eine txt Datei (mehrere Zeilen) auslesen und in einer gui anzeigen lassen. Mir wird allerdings nur die erste Zeile der txt angezeigt.

    GUI Erstellung...

    Local $file = FileOpen("test.txt",0)

    Local $line = FileReadLine($file)

    Local $idAusgabe = GUICtrlCreateLabel($line & @CRLF, 25, 130, 250, 25)

    GUISetState(@SW_SHOW)

    Send("{END}")

    So sieht mein Programm aus. Kann mir da vielleicht jemand weiterhelfen?

    Danke schonmal im Vorraus!

  • Mit Local $line = FileReadLine($file) ließt du natürlich nur die erste Zeile aus.

    Das musst du schon per Schleife lösen, wobei ich den Weg über ein Array bevorzuge, da es diverse einfachere Lösungen gibt.

    AutoIt
    Local $File, $String, $idAusgabe
      _Filereadtoarray('test.txt', $File, $FRTA_NOCOUNT) ;Wenn du eine Schleife benutzst, empfehle ich anstatt $FRTA_NOCOUNT folgendes: $FRTA_COUNT
      ;For $Row = 1 to $File[0]
      ;  $String &= $File[$Row] & @CRLF
      ;Next
    
      $String = _ArrayToString($File, @CRLF)
      ;$idAusgabe = GUICtrlCreateLabel($String, 25, 130, 250, 25) ;Ich denke das LAbel wäre dafür zu klein daher hier die Testausgabe:
      MsgBox(1, 'Test', $String)

    2 Mal editiert, zuletzt von Moombas (18. November 2022 um 11:11)

  • Hallo!

    Das Label ist wahrscheinlich auch zu klein mit einer Höhe von 25...

    Tipp: Ich lasse mir Texte immer zuerst in der Console ausgeben und dann passe dann die Label an.

    lg

    Harald

  • Miniscript:

    Code
    $gui=guicreate("")
    $label=GUICtrlCreateLabel("",5,5,300,300)
    $text=fileread(@ScriptName)
    GUICtrlSetData($label,$text)
    guisetstate()
    sleep(5000)
  • Moin,

    wenn die Anzahl der Zeilen in der Datei nicht begrenzt ist, solltest Du ein Edit Control verwenden. Darin kannst Du bei Bedarf scrollen. Wenn nichts verändert werden darf, musst Du den Stil $ES_READONLY ergänzen.