Quick TXT-Viewer

  • Hi all,

    hier mal der "Quick TXT-Viewer".

    Man kopiert die kompilierte *.exe in einen Ordner mit vielen *.txt-Files und kann die dann damit durchklicken und direkt ansehen, ohne sie direkt zu öffnen (spart Zeit, meiner Meinung nach).

    Spoiler anzeigen
    [autoit]

    #include <file.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>

    [/autoit] [autoit][/autoit] [autoit]

    $Form1 = GUICreate("File Viewer", 631, 469, 192, 114)
    $path = GUICtrlCreateInput("", 16, 16, 593, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $out = GUICtrlCreateEdit("", 16, 72, 593, 377)
    $back = GUICtrlCreateButton("<-", 16, 40, 75, 25, $WS_GROUP)
    $open = GUICtrlCreateButton("Öffnen", 96, 40, 75, 25, $WS_GROUP)
    $fwd = GUICtrlCreateButton("->", 176, 40, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

    [/autoit] [autoit][/autoit] [autoit]

    Global $dir = @ScriptDir
    Global $files = _FileListToArray($dir,"*.txt")
    Global $cnt = UBound($files)
    Global $i = 0

    [/autoit] [autoit][/autoit] [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $back
    file("back")
    Case $fwd
    file("next")
    Case $open
    file("open")
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit]

    func file($opt)
    if $opt = "open" Then ShellExecute(GUICtrlRead($path))
    if $opt = "next" Then $i += 1
    if $opt = "back" Then $i -= 1
    if $i >= $files[0] +1 Then $i = 1
    if $i <= 0 Then $i = $files[0]
    GUICtrlSetData($path, $dir & "\" & $files[$i])
    GUICtrlSetData($out, "")
    GUICtrlSetData($out, FileRead($files[$i]))
    EndFunc

    [/autoit]

    Gruß
    x0r

    Simon nörgelt, Simon nervt - aber Simon verbessert die Welt. Glaubt er.

  • Genau, dein Skript sollte die Txt wenigstens anzeigen. Ansonsten kann man doch einfach im Explorer mit Pfeiltasten und ENTER durchklicken ^^

    Hatte mich nur auf Oscar bezogen ^^. Ja funktioniert wie es soll, wenn du es praktischer findest ^^. Vielleicht könntest du das ganze noch mehr integrieren und für alle ASCII Dateiformate zulassen.

    Einmal editiert, zuletzt von minx (22. März 2013 um 23:02)

  • ...habt ihrs überhaupt ausprobiert, bevor ihr große Reden schwingt?

    Offenbar nicht.. Aus welchem Grund sollte sonst eine "EditBox" mit drin sein, wenn man die TXT nicht direkt einsehen kann und bei BEDARF direkt öffnen?!

    Ich bitte euch!

    €dit:

    [autoit]

    GUICtrlSetData($out, FileRead($files[$i]))

    [/autoit]

    [...]und direkt ansehen, ohne sie direkt zu öffnen[...]

    €dit²:
    Thx minx! Der Plan war eigentlich, in meiner Firma den ganzen (ultra-gestressten) Chefs ihre Arbeit beim Suchen von Texten ein wenig zu erleichtern. Ich bastel noch ein Teil, mit dem man Excellisten einsehen kann, halt genauso wie das Ding, PDF ist grad in der Mache, drum ja auch die Hilfe-Anfrage, aber denke das wurde schon gelöst, kanns nur grade nicht testen :)

    Simon nörgelt, Simon nervt - aber Simon verbessert die Welt. Glaubt er.

    2 Mal editiert, zuletzt von x0r (22. März 2013 um 23:23)

    • Offizieller Beitrag

    Ok sorry, es wird schon angezeigt (hatte es wirklich nicht getestet).
    Es wird aber trotzdem immer die ganze Textdatei angezeigt. Bei großen Textdateien dauert das aber etwas.
    Vielleicht solltest Du das noch konfigurierbar machen. Zum Beispiel, dass bei Dateien mit mehr als 100 Zeilen nur die ersten 100 Zeilen angezeigt werden oder so.
    Zum durchblättern sollte das ja reichen.

  • Hi Oscar,

    siehst du: Erst testen, dann maulen :D

    Das mit den ersten 100 Zeilen klingt nicht schlecht, schätze das werd ich demnächst mal umsetzen :thumbup:

    Gruß
    x0r

    Simon nörgelt, Simon nervt - aber Simon verbessert die Welt. Glaubt er.