txt datei in listbox anzeigen

  • Hallo Leute,


    möchte eine erstellte txt datei in einer listbox anzeigen lassen, und das so, das die TAB Stellen angezeigt werden - also sozusagen mit formatierung.... ?(

    Hoffe es kann mir jemand helfen.


    Spoiler anzeigen
    [autoit]


    Case $Listenansicht
    $Form1_1 = GUICreate("Form1", 1044, 443, 342, 274)
    $Group1 = GUICtrlCreateGroup("Eingabeliste", 33, 24, 976, 391)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x000080)
    $List1 = GUICtrlCreateList("", 39, 54, 964, 338, 0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    ;~ Dim $line
    $line = FileRead(@ScriptDir&"\list.esc")
    ;~ _FileReadToArray(@ScriptDir & "\list.esc", $line)
    ;~ For $i = 200 To UBound($line) -1
    _GUICtrlListBox_AddString ($List1, $line)
    ;~ Next
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GUIDelete()
    ExitLoop

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

    EndSwitch
    WEnd

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

    Func write()
    $file = FileOpen(@ScriptDir & "\list.esc", 1)
    If _FileCountLines(@ScriptDir & "\list.esc") < 1 Then
    FileWrite($file, "POS." & @TAB & @TAB & "T1" & @TAB & "T2" & @TAB & "T3" & @TAB & "T4" & @TAB & "T5" & @TAB & "T1.1" & @CRLF)
    FileWrite($file, "-------------------------------------------------------------" & @CRLF & @CRLF)
    EndIf
    FileWrite($file, GUICtrlRead($Pos) & @TAB & @TAB & GUICtrlRead($T1) & @TAB & GUICtrlRead($T2) & @TAB & GUICtrlRead($T3) & @TAB & GUICtrlRead($T4) & @TAB & GUICtrlRead($T5) & @TAB & GUICtrlRead($T1_1) & @CRLF)
    FileClose($file)
    EndFunc ;==>write

    [/autoit]
    Spoiler anzeigen
    Zitat

    Ich weiß wo dein Haus wohnt... 8o

    Einmal editiert, zuletzt von stinger2k (24. Februar 2010 um 21:11)

  • wäre gut wenn dus n bisschen genauer beschreibst.

    am besten anhand von beispielen.

    So sieht meine Txt aus:
    BlaBla
    So will ichs haben
    Bla2Bla2

    dann isses bestimmt gleich gelöst ;)

  • Danke das du meiner annimmst...


    txt.datei

    Spoiler anzeigen

    POS. T1 T2 T3 T4 T5 T1.1
    ---------------------------------------------------------------------------------------------------------

    1 85 85 34 132 108.5 200
    2 85 125 34 152 108.5 240
    3 325 325 461 372 406 680
    4 225 425 461 372 406 680
    5 85 85 461 132 406 200
    6 125 125 461 172 406 280
    7 126 124 461 172 406 280



    Mit diesem code erstellt...

    Spoiler anzeigen
    [autoit]


    #include <File.au3>
    #include <GuiEdit.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <GuiListBox.au3>
    #Region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Version=beta
    #AutoIt3Wrapper_Icon=C:\WinSetupFromUSB\files\5_1.ico
    #AutoIt3Wrapper_Outfile=n:\esco.exe
    #AutoIt3Wrapper_Compression=3
    #AutoIt3Wrapper_UseX64=n
    #AutoIt3Wrapper_Res_Comment=Diese Software ist urheberrechtlich geschützt
    #AutoIt3Wrapper_Res_Description=esco - Schubstangenkonfigurator
    #AutoIt3Wrapper_Res_Fileversion=0.1.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=(c) PMind Software
    #AutoIt3Wrapper_Res_Language=3079
    #AutoIt3Wrapper_Res_File_Add=n:\ESCO_2.l
    #AutoIt3Wrapper_Run_Obfuscator=y
    #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    ;~ AutoItSetOption("GUIDataSeparatorChar",@TAB)
    AutoItSetOption("TrayIconHide", 1)
    FileInstall("N:\ESCO_2.l", @ScriptDir)
    _FileCreate(@ScriptDir & "\list.esc")
    Global $T1rech, $T1_1rech, $T2rech, $T3rech, $T4rech, $T5rech, $T1, $T1_1, $T2, $T3, $T4, $T5
    Global $FB, $FH, $GH, $Checkbox1, $Pos, $file, $line

    #Region ### START Koda GUI section ### Form=
    $x = @DesktopWidth / 2 - 366
    $y = @DesktopHeight / 6
    $Form1 = GUICreate("esco - Schubstangenkonfigurator v0.1 beta", 732, 389, $x, $y)
    GUISetBkColor(0xFFFFFF)
    $Pic1 = GUICtrlCreatePic("N:\ESCO_2.l", 39, 9, 121, 40, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $Text_Progname = GUICtrlCreateLabel("Schubstangenkonfigurator (Roto T540-10 DK)", 180, 18, 632, 30)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Reference Sans Serif")
    GUICtrlSetColor(-1, 0x000080)
    $Text_Beschr = GUICtrlCreateLabel("Schubstangen-Berechnung", 39, 66, 134, 17)
    $Text_Beschr2 = GUICtrlCreateLabel("Bitte geben Sie folgende Maße (mm) ein:", 39, 81, 200, 17)
    $Text_FB = GUICtrlCreateLabel("Flügelbreite: (FB)", 39, 114, 89, 17)
    $Text_FH = GUICtrlCreateLabel("Flügelhöhe: (FH)", 39, 147, 89, 17)
    $Text_GH = GUICtrlCreateLabel("Griffhöhe: (GH)", 39, 180, 89, 17)
    $Text_Pos = GUICtrlCreateLabel("Pos. (optional)", 39, 213, 71, 17)
    $Text_T1 = GUICtrlCreateLabel("T1", 285, 114, 17, 17)
    $Text_T2 = GUICtrlCreateLabel("T2", 447, 114, 17, 17)
    $Text_T3 = GUICtrlCreateLabel("T3", 285, 147, 17, 17)
    $Text_T4 = GUICtrlCreateLabel("T4", 447, 147, 17, 17)
    $Text_T5 = GUICtrlCreateLabel("T5", 285, 180, 17, 17)
    $Text_T1_1 = GUICtrlCreateLabel("T1.1", 441, 180, 26, 17)
    $Icon_Hinweis = GUICtrlCreateIcon("c:\windows\system32\shell32.dll", -78, 39, 261, 16, 16)
    $Text_Hw_Main = GUICtrlCreateLabel("Hinweis:", 57, 261, 44, 17)
    $Text_Hw1 = GUICtrlCreateLabel("Diese Software ist nur zum Testen, es wird keine Haftung für die Richtigkeit der Daten gegeben.", 120, 261, 457, 17)
    $Text_Hw2 = GUICtrlCreateLabel("Es wird empfohlen die Daten mit den Naturmaßen abzugleichen.", 120, 276, 306, 17)
    $Text_Hw3 = GUICtrlCreateLabel("Diese Software ist urheberrechtlich geschützt, Vervielfältigungen und Veränderungen ohne Zu-", 120, 294, 450, 17)
    $Text_Hw4 = GUICtrlCreateLabel("stimmung des Autors sind nicht erlaubt.", 120, 312, 187, 17)
    $Text_Hw5 = GUICtrlCreateLabel("Verwendete Namen und Logo´s - wie esco - sind Eigentum der jew. Rechteinhaber und unterlie-", 120, 330, 457, 17)
    $Text_Hw6 = GUICtrlCreateLabel("gen ebenso dem Urheberrecht.", 120, 345, 151, 17)
    $FB = GUICtrlCreateInput("", 138, 111, 121, 21, $ES_NUMBER)
    $FH = GUICtrlCreateInput("", 138, 144, 121, 21, $ES_NUMBER)
    $GH = GUICtrlCreateInput("", 138, 177, 121, 21, $ES_NUMBER)
    $Pos = GUICtrlCreateInput("", 138, 210, 121, 21, $ES_UPPERCASE)
    $Group1 = GUICtrlCreateGroup("Schubstangenlängen: (mm)", 273, 91, 328, 148)
    $T1 = GUICtrlCreateInput("", 303, 111, 121, 21, $ES_READONLY)
    $T2 = GUICtrlCreateInput("", 465, 111, 121, 21, $ES_READONLY)
    $T3 = GUICtrlCreateInput("", 303, 144, 121, 21, $ES_READONLY)
    $T4 = GUICtrlCreateInput("", 465, 144, 121, 21, $ES_READONLY)
    $T5 = GUICtrlCreateInput("", 303, 177, 121, 21, $ES_READONLY)
    $T1_1 = GUICtrlCreateInput("", 465, 177, 121, 21, $ES_READONLY)
    $Checkbox1 = GUICtrlCreateCheckbox("mit Einlassgetriebe:", 303, 213, 124, 17)
    GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
    GUICtrlSetState($Checkbox1, $GUI_DISABLE)

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

    $Berechnen = GUICtrlCreateButton("Berechnen", 612, 108, 87, 25, $WS_GROUP)
    $Abbrechen = GUICtrlCreateButton("Abbrechen", 612, 141, 87, 25, $WS_GROUP)
    $Drucken__ = GUICtrlCreateButton("Drucken", 612, 174, 87, 25, $WS_GROUP)
    $Listenansicht = GUICtrlCreateButton("Listenansicht", 612, 207, 87, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $FB
    If GUICtrlRead($FB) < 405 Then
    _GUICtrlEdit_ShowBalloonTip($FB, "Fehler", "Fensterbreite (FB) unter 405 mm nicht zulässig", $TTI_INFO)
    ContinueLoop
    EndIf
    If GUICtrlRead($FB) > 1600 Then
    _GUICtrlEdit_ShowBalloonTip($FB, "Fehler", "Fensterbreite (FB) über 1600 mm nicht zulässig", $TTI_INFO)
    ContinueLoop
    EndIf
    GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
    GUICtrlSetState($Checkbox1, $GUI_DISABLE)
    ;~ Send(@TAB)
    Case $FH
    If GUICtrlRead($FH) < 520 Then
    _GUICtrlEdit_ShowBalloonTip($FH, "Fehler", "Fensterhöhe (FH) unter 520 mm nicht zulässig", $TTI_INFO)
    ContinueLoop
    EndIf
    If GUICtrlRead($FH) > 2400 Then
    _GUICtrlEdit_ShowBalloonTip($FH, "Fehler", "Fensterhöhe (FH) über 2400 mm nicht zulässig", $TTI_INFO)
    ContinueLoop
    EndIf
    If GUICtrlRead($GH) < Round(GUICtrlRead($FH) / 3, 0) Then
    GUICtrlSetData($GH, "260")
    EndIf
    $ghdata = Round(GUICtrlRead($FH) / 3, 0)
    If $ghdata < 260 Then
    GUICtrlSetData($GH, "260")
    Else
    GUICtrlSetData($GH, $ghdata)
    EndIf
    GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
    GUICtrlSetState($Checkbox1, $GUI_DISABLE)
    ;~ Send(@TAB)
    Case $GH
    If GUICtrlRead($FH) - $GH - 175 < 0 Then
    _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "(GH) ist für diese (FH) nicht zulässig!", $TTI_ERROR)
    ContinueLoop
    EndIf
    If GUICtrlRead($GH) < 260 Then
    GUICtrlSetData($GH, "260")
    ;~ Send(@TAB)
    ContinueLoop
    EndIf
    If GUICtrlRead($GH) < 260 Then
    _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "Griffhöhe (GH) unter 260 mm nicht zulässig", $TTI_INFO)
    ContinueLoop
    EndIf
    If GUICtrlRead($GH) < Round(GUICtrlRead($FH) / 3, 0) Then
    _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "(GH) muss mindestens 1/3 der (FH) sein", $TTI_INFO)
    GUICtrlSetData($GH, "260")
    ContinueLoop
    EndIf
    GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
    GUICtrlSetState($Checkbox1, $GUI_DISABLE)
    ;~ Send(@TAB)

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

    Case $Pos
    ;~ Send(@TAB)
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Checkbox1
    rechnen()
    If GUICtrlRead($T2) < 0 Then _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "(GH) ist für diese (FH) nicht zulässig!", $TTI_ERROR)
    Case $Abbrechen
    Exit
    Case $Berechnen
    GUISetState($Berechnen, $GUI_FOCUS)
    If GUICtrlRead($GH) < 260 Then GUICtrlSetData($GH, "260")
    rechnen()

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

    If GUICtrlRead($GH) < Round(GUICtrlRead($FH) / 3, 0) Then
    _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "(GH) muss mindestens 1/3 der (FH) sein", $TTI_ERROR)
    ContinueLoop
    EndIf
    If GUICtrlRead($GH) = "" Then
    _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "(GH) keine Maße zum berechnen!", $TTI_ERROR)
    ContinueLoop
    EndIf
    If GUICtrlRead($FB) = "" Then
    _GUICtrlEdit_ShowBalloonTip($FB, "Fehler", "(FB) keine Maße zum berechnen!", $TTI_ERROR)
    ContinueLoop
    EndIf
    If GUICtrlRead($FH) = "" Then
    _GUICtrlEdit_ShowBalloonTip($FH, "Fehler", "(FH) keine Maße zum berechnen!", $TTI_ERROR)
    ContinueLoop
    EndIf
    If GUICtrlRead($T2) < 0 Then
    _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "(GH) ist für diese (FH) nicht zulässig!", $TTI_ERROR)
    ContinueLoop
    EndIf
    If GUICtrlRead($T2) < 0 Then _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "(GH) ist für diese (FH) nicht zulässig!", $TTI_ERROR)
    GUICtrlSetState($Checkbox1, $GUI_ENABLE)
    If GUICtrlRead($FH) - $GH - 175 < 0 Then
    _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "(GH) ist für diese (FH) nicht zulässig!", $TTI_ERROR)
    ContinueLoop
    EndIf
    write()
    Case $Drucken__
    Case $Listenansicht
    $test = _FileCountLines (@ScriptDir & "\list.esc")
    msgbox (0,"",$test)
    $Form1_1 = GUICreate("Form1", 1044, 443, 342, 274)
    $Group1 = GUICtrlCreateGroup("Eingabeliste", 33, 24, 976, 391)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x000080)
    $List1 = GUICtrlCreateList("", 39, 54, 964, 338,0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    $line = FileRead(@ScriptDir&"\list.esc")
    _GUICtrlListBox_AddString ($List1, $line)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GUIDelete()
    ExitLoop

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

    Case $Form1
    Case $Form1
    Case $Form1
    Case $Form1
    Case $List1
    EndSwitch
    WEnd

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

    EndSwitch
    WEnd

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

    Func rechnen()
    If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
    $T1rech = GUICtrlRead($GH) - 222
    Else
    $T1rech = GUICtrlRead($GH) - 175
    EndIf
    If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
    $T2rech = GUICtrlRead($FH) - GUICtrlRead($GH) - 222
    Else
    $T2rech = GUICtrlRead($FH) - GUICtrlRead($GH) - 175
    EndIf
    If GUICtrlRead($FB) < 600 Then $T3rech = GUICtrlRead($FB) - 371
    If GUICtrlRead($FB) >= 600 Then $T3rech = GUICtrlRead($FB) - 539
    $T4rech = GUICtrlRead($FH) / 2 - 128
    $T5rech = GUICtrlRead($FB) / 2 - 94
    $T1_1rech = GUICtrlRead($FH) - 320
    GUICtrlSetData($T1, $T1rech)
    GUICtrlSetData($T2, $T2rech)
    GUICtrlSetData($T3, $T3rech)
    GUICtrlSetData($T4, $T4rech)
    GUICtrlSetData($T5, $T5rech)
    GUICtrlSetData($T1_1, $T1_1rech)
    EndFunc ;==>rechnen
    Func write()
    $file = FileOpen(@ScriptDir & "\list.esc", 1)
    If _FileCountLines (@ScriptDir&"\list.esc") < 1 Then
    FileWrite($file, "POS." & @TAB & @TAB & "T1" & @TAB & "T2" & @TAB & "T3" & @TAB & "T4" & @TAB & "T5" & @TAB & "T1.1" & @CRLF)
    FileWrite($file, "-------------------------------------------------------------" & @CRLF & @CRLF)
    EndIf
    FileWrite($file, GUICtrlRead($Pos) & @TAB & @TAB & GUICtrlRead($T1) & @TAB & GUICtrlRead($T2) & @TAB & GUICtrlRead($T3) & @TAB & GUICtrlRead($T4) & @TAB & GUICtrlRead($T5) & @TAB & GUICtrlRead($T1_1) & @CRLF)
    FileClose($file)
    EndFunc ;==>write

    [/autoit]


    Super wäre wenn ich über eine funktion dann noch eine auswertung wie folgt ans ende der datei schreiben könnnte:


    5 Stk. 85

    2 Stk. 325

    usw.

    Spoiler anzeigen
    Zitat

    Ich weiß wo dein Haus wohnt... 8o

    Einmal editiert, zuletzt von stinger2k (25. Februar 2010 um 09:08)

  • ich weiß nich ob es die beste lösung ist aber sie funktioniert denk ich:

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    $read = FileRead(@ScriptDir & "\test.txt")
    $array = StringSplit($read, "85", 1)
    _ArrayDisplay($array)
    $fund85 = @CRLF & $array[0] - 1 & " Stk. 85"
    $array = StringSplit($read, "325", 1)
    $fund325 = @CRLF & $array[0] - 1& " Stk. 325"
    FileWrite(@ScriptDir & "\ergebnis.txt", $read & $fund85 & $fund325)

    [/autoit]
  • man müsste vielleicht noch angeben in welchem Zahlenbereich also 35 ist die kleinste 2400 die größte

    z.b mit

    [autoit]


    For $i=35 To 2400

    [/autoit]

    um nicht die zahlen angeben zu müssen, da sie ja bei jeder erstellten Liste anders sind.


    nur komme ich nicht weiter mit dem das in der listbox columns erstellt werden z.b mit POS. T1 T2 T3 usw.

    und dann die spalten aus der txt datei ausließt und richtig zuordnet.


    vielleicht hast du eine idee?

    Spoiler anzeigen
    Zitat

    Ich weiß wo dein Haus wohnt... 8o

  • nur komme ich nicht weiter mit dem das in der listbox columns erstellt werden

    Ganz einfach: ListView statt ListBox benutzen!

    //EDIT:
    Probier mal das hier:

    Spoiler anzeigen
    [autoit]

    #include <GuiListView.au3>
    #include <File.au3>
    #include <GuiEdit.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #region ;**** Directives created by AutoIt3Wrapper_GUI ****
    #AutoIt3Wrapper_Version=beta
    #AutoIt3Wrapper_Icon=C:\WinSetupFromUSB\files\5_1.ico
    #AutoIt3Wrapper_Outfile=n:\esco.exe
    #AutoIt3Wrapper_Compression=3
    #AutoIt3Wrapper_UseX64=n
    #AutoIt3Wrapper_Res_Comment=Diese Software ist urheberrechtlich geschützt
    #AutoIt3Wrapper_Res_Description=esco - Schubstangenkonfigurator
    #AutoIt3Wrapper_Res_Fileversion=0.1.0.0
    #AutoIt3Wrapper_Res_LegalCopyright=(c) PMind Software
    #AutoIt3Wrapper_Res_Language=3079
    #AutoIt3Wrapper_Res_File_Add=n:\ESCO_2.l
    #AutoIt3Wrapper_Run_Obfuscator=y
    #endregion ;**** Directives created by AutoIt3Wrapper_GUI ****

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

    ;~ AutoItSetOption("GUIDataSeparatorChar",@TAB)
    AutoItSetOption("TrayIconHide", 1)
    FileInstall("N:\ESCO_2.l", @ScriptDir)
    _FileCreate(@ScriptDir & "\list.esc")
    Global $T1rech, $T1_1rech, $T2rech, $T3rech, $T4rech, $T5rech, $T1, $T1_1, $T2, $T3, $T4, $T5
    Global $FB, $FH, $GH, $Checkbox1, $Pos, $file, $line

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

    #region ### START Koda GUI section ### Form=
    $x = @DesktopWidth / 2 - 366
    $y = @DesktopHeight / 6
    $Form1 = GUICreate("esco - Schubstangenkonfigurator v0.1 beta", 732, 389, $x, $y)
    GUISetBkColor(0xFFFFFF)
    $Pic1 = GUICtrlCreatePic("N:\ESCO_2.l", 39, 9, 121, 40, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    $Text_Progname = GUICtrlCreateLabel("Schubstangenkonfigurator (Roto T540-10 DK)", 180, 18, 632, 30)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Reference Sans Serif")
    GUICtrlSetColor(-1, 0x000080)
    $Text_Beschr = GUICtrlCreateLabel("Schubstangen-Berechnung", 39, 66, 134, 17)
    $Text_Beschr2 = GUICtrlCreateLabel("Bitte geben Sie folgende Maße (mm) ein:", 39, 81, 200, 17)
    $Text_FB = GUICtrlCreateLabel("Flügelbreite: (FB)", 39, 114, 89, 17)
    $Text_FH = GUICtrlCreateLabel("Flügelhöhe: (FH)", 39, 147, 89, 17)
    $Text_GH = GUICtrlCreateLabel("Griffhöhe: (GH)", 39, 180, 89, 17)
    $Text_Pos = GUICtrlCreateLabel("Pos. (optional)", 39, 213, 71, 17)
    $Text_T1 = GUICtrlCreateLabel("T1", 285, 114, 17, 17)
    $Text_T2 = GUICtrlCreateLabel("T2", 447, 114, 17, 17)
    $Text_T3 = GUICtrlCreateLabel("T3", 285, 147, 17, 17)
    $Text_T4 = GUICtrlCreateLabel("T4", 447, 147, 17, 17)
    $Text_T5 = GUICtrlCreateLabel("T5", 285, 180, 17, 17)
    $Text_T1_1 = GUICtrlCreateLabel("T1.1", 441, 180, 26, 17)
    $Icon_Hinweis = GUICtrlCreateIcon("c:\windows\system32\shell32.dll", -78, 39, 261, 16, 16)
    $Text_Hw_Main = GUICtrlCreateLabel("Hinweis:", 57, 261, 44, 17)
    $Text_Hw1 = GUICtrlCreateLabel("Diese Software ist nur zum Testen, es wird keine Haftung für die Richtigkeit der Daten gegeben.", 120, 261, 457, 17)
    $Text_Hw2 = GUICtrlCreateLabel("Es wird empfohlen die Daten mit den Naturmaßen abzugleichen.", 120, 276, 306, 17)
    $Text_Hw3 = GUICtrlCreateLabel("Diese Software ist urheberrechtlich geschützt, Vervielfältigungen und Veränderungen ohne Zu-", 120, 294, 450, 17)
    $Text_Hw4 = GUICtrlCreateLabel("stimmung des Autors sind nicht erlaubt.", 120, 312, 187, 17)
    $Text_Hw5 = GUICtrlCreateLabel("Verwendete Namen und Logo´s - wie esco - sind Eigentum der jew. Rechteinhaber und unterlie-", 120, 330, 457, 17)
    $Text_Hw6 = GUICtrlCreateLabel("gen ebenso dem Urheberrecht.", 120, 345, 151, 17)
    $FB = GUICtrlCreateInput("", 138, 111, 121, 21, $ES_NUMBER)
    $FH = GUICtrlCreateInput("", 138, 144, 121, 21, $ES_NUMBER)
    $GH = GUICtrlCreateInput("", 138, 177, 121, 21, $ES_NUMBER)
    $Pos = GUICtrlCreateInput("", 138, 210, 121, 21, $ES_UPPERCASE)
    $Group1 = GUICtrlCreateGroup("Schubstangenlängen: (mm)", 273, 91, 328, 148)
    $T1 = GUICtrlCreateInput("", 303, 111, 121, 21, $ES_READONLY)
    $T2 = GUICtrlCreateInput("", 465, 111, 121, 21, $ES_READONLY)
    $T3 = GUICtrlCreateInput("", 303, 144, 121, 21, $ES_READONLY)
    $T4 = GUICtrlCreateInput("", 465, 144, 121, 21, $ES_READONLY)
    $T5 = GUICtrlCreateInput("", 303, 177, 121, 21, $ES_READONLY)
    $T1_1 = GUICtrlCreateInput("", 465, 177, 121, 21, $ES_READONLY)
    $Checkbox1 = GUICtrlCreateCheckbox("mit Einlassgetriebe:", 303, 213, 124, 17)
    GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
    GUICtrlSetState($Checkbox1, $GUI_DISABLE)

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

    $Berechnen = GUICtrlCreateButton("Berechnen", 612, 108, 87, 25, $WS_GROUP)
    $Abbrechen = GUICtrlCreateButton("Abbrechen", 612, 141, 87, 25, $WS_GROUP)
    $Drucken__ = GUICtrlCreateButton("Drucken", 612, 174, 87, 25, $WS_GROUP)
    $Listenansicht = GUICtrlCreateButton("Listenansicht", 612, 207, 87, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $FB
    If GUICtrlRead($FB) < 405 Then
    _GUICtrlEdit_ShowBalloonTip($FB, "Fehler", "Fensterbreite (FB) unter 405 mm nicht zulässig", $TTI_INFO)
    ContinueLoop
    EndIf
    If GUICtrlRead($FB) > 1600 Then
    _GUICtrlEdit_ShowBalloonTip($FB, "Fehler", "Fensterbreite (FB) über 1600 mm nicht zulässig", $TTI_INFO)
    ContinueLoop
    EndIf
    GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
    GUICtrlSetState($Checkbox1, $GUI_DISABLE)
    ;~ Send(@TAB)
    Case $FH
    If GUICtrlRead($FH) < 520 Then
    _GUICtrlEdit_ShowBalloonTip($FH, "Fehler", "Fensterhöhe (FH) unter 520 mm nicht zulässig", $TTI_INFO)
    ContinueLoop
    EndIf
    If GUICtrlRead($FH) > 2400 Then
    _GUICtrlEdit_ShowBalloonTip($FH, "Fehler", "Fensterhöhe (FH) über 2400 mm nicht zulässig", $TTI_INFO)
    ContinueLoop
    EndIf
    If GUICtrlRead($GH) < Round(GUICtrlRead($FH) / 3, 0) Then
    GUICtrlSetData($GH, "260")
    EndIf
    $ghdata = Round(GUICtrlRead($FH) / 3, 0)
    If $ghdata < 260 Then
    GUICtrlSetData($GH, "260")
    Else
    GUICtrlSetData($GH, $ghdata)
    EndIf
    GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
    GUICtrlSetState($Checkbox1, $GUI_DISABLE)
    ;~ Send(@TAB)
    Case $GH
    If GUICtrlRead($FH) - $GH - 175 < 0 Then
    _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "(GH) ist für diese (FH) nicht zulässig!", $TTI_ERROR)
    ContinueLoop
    EndIf
    If GUICtrlRead($GH) < 260 Then
    GUICtrlSetData($GH, "260")
    ;~ Send(@TAB)
    ContinueLoop
    EndIf
    If GUICtrlRead($GH) < 260 Then
    _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "Griffhöhe (GH) unter 260 mm nicht zulässig", $TTI_INFO)
    ContinueLoop
    EndIf
    If GUICtrlRead($GH) < Round(GUICtrlRead($FH) / 3, 0) Then
    _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "(GH) muss mindestens 1/3 der (FH) sein", $TTI_INFO)
    GUICtrlSetData($GH, "260")
    ContinueLoop
    EndIf
    GUICtrlSetState($Checkbox1, $GUI_UNCHECKED)
    GUICtrlSetState($Checkbox1, $GUI_DISABLE)
    ;~ Send(@TAB)

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

    Case $Pos
    ;~ Send(@TAB)
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Checkbox1
    rechnen()
    If GUICtrlRead($T2) < 0 Then _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "(GH) ist für diese (FH) nicht zulässig!", $TTI_ERROR)
    Case $Abbrechen
    Exit
    Case $Berechnen
    GUISetState($Berechnen, $GUI_FOCUS)
    If GUICtrlRead($GH) < 260 Then GUICtrlSetData($GH, "260")
    rechnen()

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

    If GUICtrlRead($GH) < Round(GUICtrlRead($FH) / 3, 0) Then
    _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "(GH) muss mindestens 1/3 der (FH) sein", $TTI_ERROR)
    ContinueLoop
    EndIf
    If GUICtrlRead($GH) = "" Then
    _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "(GH) keine Maße zum berechnen!", $TTI_ERROR)
    ContinueLoop
    EndIf
    If GUICtrlRead($FB) = "" Then
    _GUICtrlEdit_ShowBalloonTip($FB, "Fehler", "(FB) keine Maße zum berechnen!", $TTI_ERROR)
    ContinueLoop
    EndIf
    If GUICtrlRead($FH) = "" Then
    _GUICtrlEdit_ShowBalloonTip($FH, "Fehler", "(FH) keine Maße zum berechnen!", $TTI_ERROR)
    ContinueLoop
    EndIf
    If GUICtrlRead($T2) < 0 Then
    _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "(GH) ist für diese (FH) nicht zulässig!", $TTI_ERROR)
    ContinueLoop
    EndIf
    If GUICtrlRead($T2) < 0 Then _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "(GH) ist für diese (FH) nicht zulässig!", $TTI_ERROR)
    GUICtrlSetState($Checkbox1, $GUI_ENABLE)
    If GUICtrlRead($FH) - $GH - 175 < 0 Then
    _GUICtrlEdit_ShowBalloonTip($GH, "Fehler", "(GH) ist für diese (FH) nicht zulässig!", $TTI_ERROR)
    ContinueLoop
    EndIf
    write()
    Case $Drucken__
    Case $Listenansicht
    $test = _FileCountLines(@ScriptDir & "\list.esc")
    MsgBox(0, "", $test)
    $Form1_1 = GUICreate("Form1", 1044, 443, 342, 274)
    $Group1 = GUICtrlCreateGroup("Eingabeliste", 33, 24, 976, 391)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0x000080)
    $List1 = GUICtrlCreateListView("POS|T1|T2|T3|T4|T5|T1.1", 39, 54, 964, 338, 0)
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    GUISetState(@SW_SHOW)
    $line = FileRead(@ScriptDir & "\list.esc")
    $aTmp = StringRegExp($line, "(?:([\d\.]+)\s{2})?([\d\.]+)\s([\d\.]+)\s([\d\.]+)\s([\d\.]+)\s([\d\.]+)\s([\d\.]+)", 4)
    ;~ _ArrayDisplay($aTmp)
    $sAdd = ""
    For $i = 0 To UBound($aTmp) - 1
    $aDummy = $aTmp[$i]
    If UBound($aDummy) = 7 Then $sAdd = $aDummy[0]
    If UBound($aDummy) = 6 Then $sAdd = ""
    _GUICtrlListView_AddItem($List1, $sAdd)
    $iIndex = _GUICtrlListView_GetItemCount($List1)
    For $j = 1 To UBound($aDummy) - 1
    _GUICtrlListView_AddSubItem($List1, $iIndex - 1, $aDummy[$j], $j-1)
    Next
    Next
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    GUIDelete()
    ExitLoop
    Case $List1

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

    EndSwitch
    WEnd

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

    EndSwitch
    WEnd

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

    Func rechnen()
    If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
    $T1rech = GUICtrlRead($GH) - 222
    Else
    $T1rech = GUICtrlRead($GH) - 175
    EndIf
    If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
    $T2rech = GUICtrlRead($FH) - GUICtrlRead($GH) - 222
    Else
    $T2rech = GUICtrlRead($FH) - GUICtrlRead($GH) - 175
    EndIf
    If GUICtrlRead($FB) < 600 Then $T3rech = GUICtrlRead($FB) - 371
    If GUICtrlRead($FB) >= 600 Then $T3rech = GUICtrlRead($FB) - 539
    $T4rech = GUICtrlRead($FH) / 2 - 128
    $T5rech = GUICtrlRead($FB) / 2 - 94
    $T1_1rech = GUICtrlRead($FH) - 320
    GUICtrlSetData($T1, $T1rech)
    GUICtrlSetData($T2, $T2rech)
    GUICtrlSetData($T3, $T3rech)
    GUICtrlSetData($T4, $T4rech)
    GUICtrlSetData($T5, $T5rech)
    GUICtrlSetData($T1_1, $T1_1rech)
    EndFunc ;==>rechnen
    Func write()
    $file = FileOpen(@ScriptDir & "\list.esc", 1)
    If _FileCountLines(@ScriptDir & "\list.esc") < 1 Then
    FileWrite($file, "POS." & @TAB & @TAB & "T1" & @TAB & "T2" & @TAB & "T3" & @TAB & "T4" & @TAB & "T5" & @TAB & "T1.1" & @CRLF)
    FileWrite($file, "-------------------------------------------------------------" & @CRLF & @CRLF)
    EndIf
    FileWrite($file, GUICtrlRead($Pos) & @TAB & @TAB & GUICtrlRead($T1) & @TAB & GUICtrlRead($T2) & @TAB & GUICtrlRead($T3) & @TAB & GUICtrlRead($T4) & @TAB & GUICtrlRead($T5) & @TAB & GUICtrlRead($T1_1) & @CRLF)
    FileClose($file)
    EndFunc ;==>write

    [/autoit]