Statusbar + Prozessbar

  • Ich habe eine Gui Dort ist eine Statusbar integriert. Wenn man im menü Datei Auslesen drückt, soll in der statusbar eine Prozessbar zu sehen sein, die Anzeigt das die Datei geladen wird. Ist dise zu 100% voll Verschwindet die Prozessbar und es steht nur noch Fertig da.

    Kann mir jemand einen Code schnipsel geben mit der ich das ziel erreiche? Statusbar hab ich schon.

    Spoiler anzeigen
    [autoit]


    #include <File.au3>
    #include <GUIConstants.au3>
    #include <GuiStatusBar.au3>
    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>

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

    ;***************************************************
    ;***************** Phat Puls daten ******************
    #Region ### START Koda GUI section ### Form=C:\Users\busch.GAIAAKKU\Desktop\PorscheFeinabrufForm.kxf
    $Form1 = GUICreate("Feinabruf Porsche AG Gaia Akkumulatorenwerke GmbH ", 715, 513, 313, 170)
    $KundNr = GUICtrlCreateLabel("Kund-Nr:", 296, 88, 54, 17)
    $LiefNr = GUICtrlCreateLabel("Lief-Nr:", 296, 64, 54, 17)
    $UebertrNr = GUICtrlCreateLabel("Übertr-Nr:", 16, 88, 54, 17)
    $SachnrKunde = GUICtrlCreateLabel("Sachnr.-Kunde:", 16, 128, 86, 17)
    $WerkKunde = GUICtrlCreateLabel("Werk-Kunde:", 16, 152, 86, 17)
    $Abladestelle = GUICtrlCreateLabel("Abladestelle:", 16, 176, 86, 17)
    $Verwendung = GUICtrlCreateLabel("Verwendung:", 296, 176, 86, 17)
    $FeinabrufNr = GUICtrlCreateLabel("Feinabruf-Nr:", 544, 176, 86, 17)
    $BestellNr = GUICtrlCreateLabel("Bestell-Nr:", 544, 152, 86, 17)
    $Datum = GUICtrlCreateLabel("Datum:", 544, 64, 46, 17)
    $Datenelemente = GUICtrlCreateTab(16, 224, 681, 89)
    GUICtrlSetResizing(-1, $GUI_DOCKWIDTH+$GUI_DOCKHEIGHT)
    $Datenelemente1 = GUICtrlCreateTabItem("Abrufmenge 1")
    $LSDatum1 = GUICtrlCreateLabel("LS-Datum:", 36, 257, 62, 17)
    $WEDatu1 = GUICtrlCreateLabel("WE-Datum:", 36, 281, 59, 17)
    $Liefermenge1 = GUICtrlCreateLabel("Liefermenge:", 220, 257, 65, 17)
    $EingFsZahl1 = GUICtrlCreateLabel("Eing.Fs-Zahl:", 220, 281, 66, 17)
    $Lieferscheinnummer1 = GUICtrlCreateLabel("Lieferschein-Nr:", 428, 257, 78, 17)
    $Lieferstatus1 = GUICtrlCreateLabel("Lieferstatus:", 428, 281, 61, 17)
    $Datenelemente2 = GUICtrlCreateTabItem("Abrufmenge 2")
    $LSDatum2 = GUICtrlCreateLabel("LS-Datum:", 36, 257, 54, 17)
    $WEDatum2 = GUICtrlCreateLabel("WE-Datum:", 36, 281, 59, 17)
    $Liefermenge2 = GUICtrlCreateLabel("Liefermenge:", 220, 257, 65, 17)
    $EingFsZahl2 = GUICtrlCreateLabel("Eing.Fs-Zahl:", 220, 281, 66, 17)
    $Lieferscheinnr2 = GUICtrlCreateLabel("Lieferschein-Nr:", 428, 257, 78, 17)
    $Lieferstatus2 = GUICtrlCreateLabel("Lieferstatus:", 428, 281, 61, 17)
    $Datenelemente3 = GUICtrlCreateTabItem("Abrufmenge 3")
    $LSDatum3 = GUICtrlCreateLabel("LS-Datum:", 36, 257, 54, 17)
    $WEDatum3 = GUICtrlCreateLabel("WE-Datum:", 36, 281, 59, 17)
    $Liefermenge3 = GUICtrlCreateLabel("Liefermenge:", 220, 257, 65, 17)
    $EingFsZahl3 = GUICtrlCreateLabel("Eing.Fs-Zahl:", 220, 281, 66, 17)
    $LieferscheinNr3 = GUICtrlCreateLabel("Lieferschein-Nr:", 428, 257, 78, 17)
    $Lieferstatus3 = GUICtrlCreateLabel("Lieferstatus:", 428, 281, 61, 17)
    GUICtrlCreateTabItem("")
    $Abgrenzungsdaten = GUICtrlCreateListView("WE-Datum|WE-Zeit|Menge|Bedarfsstatus", 16, 320, 681, 134)
    GUICtrlSendMsg(-1, 0x101E, 0, 150)
    GUICtrlSendMsg(-1, 0x101E, 1, 150)
    GUICtrlSendMsg(-1, 0x101E, 2, 150)
    GUICtrlSendMsg(-1, 0x101E, 3, 200)
    $Abgrenzungsdaten_0 = GUICtrlCreateListViewItem("", $Abgrenzungsdaten)
    $Abgrenzungsdaten_1 = GUICtrlCreateListViewItem("", $Abgrenzungsdaten)
    $Abgrenzungsdaten_2 = GUICtrlCreateListViewItem("", $Abgrenzungsdaten)
    $Abgrenzungsdaten_3 = GUICtrlCreateListViewItem("", $Abgrenzungsdaten)
    $Abgrenzungsdaten_4 = GUICtrlCreateListViewItem("", $Abgrenzungsdaten)
    $Abgrenzungsdaten_5 = GUICtrlCreateListViewItem("", $Abgrenzungsdaten)
    $Label1 = GUICtrlCreateLabel("Gaia Akkumulatorenwerke GmbH", 16, 40, 162, 17)
    $Label2 = GUICtrlCreateLabel("FAX-Nr: 03631616728", 16, 64, 110, 17)
    $MDatei = GUICtrlCreateMenu("Datei")
    $MDOffnen = GUICtrlCreateMenuItem("Öffnen", $MDatei)
    $MDDrucken = GUICtrlCreateMenuItem("Drucken", $MDatei)
    $MDBeenden = GUICtrlCreateMenuItem("Beenden", $MDatei)
    $MAnsicht = GUICtrlCreateMenu("Ansicht")
    $MAAdminAnsicht = GUICtrlCreateMenuItem("Admin Ansicht", $MAnsicht)
    $MAUserAnsicht = GUICtrlCreateMenuItem("Benutzer Ansicht", $MAnsicht)
    $MAErwUserAnsicht = GUICtrlCreateMenuItem("Erweiterte Benutzer A.", $MAnsicht)
    $MHilfe = GUICtrlCreateMenu("Hilfe")
    $MHInfo = GUICtrlCreateMenuItem("Info", $MHilfe)

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

    Local $aParts[1] = [715]
    $hStatus = _GUICtrlStatusBar_Create ($Form1)
    _GUICtrlStatusBar_SetParts ($hStatus, $aParts)
    ;$progressbar1 = GUICtrlCreateProgress(10, 10, 200, 20)
    ;GUICtrlSetColor(-1, 32250)
    ;$Datum = _GUICtrlStatusBar_SetText($hStatus, @MDAY & "." & @MON & "." & @YEAR, 0)
    ;$Zeit = _GUICtrlStatusBar_SetText($hStatus, @HOUR & ":" & @MIN & ":" & @SEC, 1)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###
    ;******** Phat Puls daten Ende **********************
    ;***************************************************

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $MDBeenden
    Exit

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

    ;Durchsuchen button: um den Phat zu bestimmen, Anfangs ort kann bestimmt werden.
    Case $MDOffnen
    $re = FileOpenDialog("Datei öffnen", @DesktopDir, "Textdateien (*.asc)")
    If @error Then
    MsgBox(16, "Error" , "Es ist nichts ausgewählt!", 5)
    EndIf

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

    $file = FileOpen( $re , 0)
    If $file = -1 Then
    MsgBox(0, "Fehler", "Die Datei konnte nicht geöffnet werden.")
    Exit
    EndIf

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

    ;Lieferabruf
    $result = StringInStr( $re , "4905")
    If $result <> 0 Then
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
    ;MsgBox(0, "Zeile gelesen:", $line)
    $Satzart = StringMid( $line , 1 , 3 )
    MsgBox(0, "Inhalt: ", $line)
    MsgBox(0, "Nach Satzart: ", $Satzart)
    If ( $Satzart = 511 ) Then
    ;Satzart Definition
    $Versi = StringMid( $line , 4 , 2 )
    $Kundennummer = StringMid( $line , 6 , 9 )
    $Lieferantennummer = StringMid( $line , 15 , 9 )
    $olduebertragungsnummer = StringMid( $line , 24 , 5 )
    $newuebertragungsnummer = StringMid( $line , 29 , 5 )
    $ubertragungsdate = StringMid( $line , 34 , 6 )
    $Datumnullstelleneingang = StringMid( $line , 40 , 6 )
    $Leer = StringMid( $line , 46 , 83 )
    MsgBox(0, "Nach Satzart:", "Satzart: " & $Satzart & @CRLF & "Version: " & $Versi & @CRLF & "Kundennummer: " & $Kundennummer & @CRLF & "Lieferantennummer: " & $Lieferantennummer & @CRLF & "olduebertragungsnummer: " & $olduebertragungsnummer & @CRLF & "newuebertragungsnummer: " & $newuebertragungsnummer & @CRLF & "ubertragungsdate: " & $ubertragungsdate & @CRLF & "Datum nullstellen eingang: " & $Datumnullstelleneingang & @CRLF & "Leer: " & $Leer)
    ;Satzart Definition Ende
    Else
    MsgBox(16, "Error" , "Dieser Typ ist nicht definiert!" & @CRLF & "Bitte den Administrator informieren und die Datei mitschicken." & @CRLF & @CRLF & "Mit freundlichen Grüßen" & @CRLF & "Hans Buch", 10)
    EndIf
    EndIf
    ;Lieferabruf Ende

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

    ;Feinabruf
    $result1 = StringInStr( $re , "4915")
    If $result1 <> 0 Then
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop

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

    ;Anlage 1
    $Satzart = StringMid( $line , 1 , 3 )
    ;MsgBox(0, "Inhalt: ", $line)

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

    While 1
    If ( $Satzart = 551 ) Then
    ;Vorsatz der Feinabrufdaten
    $551Versi = StringMid( $line , 4 , 2 )
    $551Kundennummer = StringMid( $line , 6 , 9 )
    $551Lieferantennummer = StringMid( $line , 15 , 9 )
    $551olduebertragungsnummer = StringMid( $line , 24 , 5 )
    $551newuebertragungsnummer = StringMid( $line , 29 , 5 )
    $551ubertragungsdate = StringMid( $line , 34 , 6 )
    $551Datumnullstelleneingang = StringMid( $line , 40 , 6 )
    ;MsgBox(0, "Vorsatz der Feinabrufdaten: ", "Satzart: " & $Satzart & @CRLF & "Version: " & $551Versi & @CRLF & "Kundennummer: " & $551Kundennummer & @CRLF & "Lieferantennummer: " & $551Lieferantennummer & @CRLF & "olduebertragungsnummer: " & $551olduebertragungsnummer & @CRLF & "newuebertragungsnummer: " & $551newuebertragungsnummer & @CRLF & "ubertragungsdate: " & $551ubertragungsdate & @CRLF & "Datum nullstellen eingang: " & $551Datumnullstelleneingang)
    ;Vorsatz der Feinabrufdaten Ende
    $line = StringTrimLeft( $line , 128 )
    $Satzart = StringMid( $line , 1 , 3 )
    EndIf

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

    ;Anlage 2
    If ( $Satzart = 552 ) Then
    Dim $552line = $line
    ;Einmalige Datenelemente des Feinabrufes
    $552Versi = StringMid( $552line , 4 , 2 )
    $552Werkkunde = StringMid( $552line , 6 , 3 )
    $552Feinabrufneu = StringMid( $552line , 9 , 9 )
    $552Feinabrufdatum = StringMid( $552line , 18 , 6 )
    $552SachnummerKunde = StringMid( $552line , 24 , 22 )
    $552SachnummerLieferant = StringMid( $552line , 46 , 22 )
    $552Abladestelle = StringMid( $552line , 68 , 5 )
    $552Lagerortkunde = StringMid( $552line , 73 , 7 )
    $552Kritbestandschlussel = StringMid( $552line , 80 , 1 )
    $552Verwendungsschlussel = StringMid( $552line , 81 , 1 )
    $552FABHorizont = StringMid( $552line , 82 , 6 )
    $552Terminschlussel = StringMid( $552line , 88 , 1 )
    $552Abschlussbestellnummer = StringMid( $552line , 89 , 12 )
    $552Fortschrittszahlendifferenz = StringMid( $552line , 101 , 10 )
    $552Verbrauchsstelle = StringMid( $552line , 111 , 14 )
    ;MsgBox(0, "Einmalige Datenelemente des Feinabrufes: ", "Satzart: " & $Satzart& @CRLF &"Versionsnummer: " & $552Versi & @CRLF &"Werk Kunde: " & $552Werkkunde & @CRLF &"Feinabruf-Nr. neu: " & $552Feinabrufneu & @CRLF &"Feinabruf Datum: " & $552Feinabrufdatum & @CRLF &"Sachnummer Kunde: " & $552SachnummerKunde & @CRLF &"Sachnummer Lieferant: " & $552SachnummerLieferant & @CRLF &"Abladestelle: " & $552Abladestelle & @CRLF &"Lagerort Kunde: " & $552Lagerortkunde & @CRLF &"Kritischer Bestand Schlüssel: " & $552Kritbestandschlussel & @CRLF &"Verwendungsschlüssel: " & $552Verwendungsschlussel & @CRLF &"FAB-Horizont: " & $552FABHorizont & @CRLF &"Termin Schlüssel: " & $552Terminschlussel & @CRLF &"Abschluss Bestellnummer: " & $552Abschlussbestellnummer & @CRLF &"Fortschrittszahlen Differenz: " & $552Fortschrittszahlendifferenz & @CRLF &"Verbrauchsstelle: " & $552Verbrauchsstelle)
    ;Einmalige Datenelemente des Feinabrufes Ende
    $line = StringTrimLeft( $line , 128 )
    $Satzart = StringMid( $line , 1 , 3 )
    EndIf
    ;~
    ;Anlage 3
    If ( $Satzart = 553 ) Then
    ;Feinabruf- Abgrenzungsdaten
    Dim $553line = $line
    $553v = StringMid( $553line , 4 , 2 )
    $553e = StringMid( $553line , 6 , 10 )
    $553ed1 = StringMid( $553line , 16 , 6 )
    $553ls1 = StringMid( $553line , 22 , 8 )
    $553lsd1 = StringMid( $553line , 30 , 6 )
    $553lm1 = StringMid( $553line , 36 , 12 )
    $553lst1 = StringMid( $553line , 48 , 1 )
    $553ed2 = StringMid( $553line , 49 , 6 )
    $553ls2 = StringMid( $553line , 55 , 8 )
    $553lsd2 = StringMid( $553line , 63 , 6 )
    $553lm2 = StringMid( $553line , 69 , 12 )
    $553lst2 = StringMid( $553line , 81 , 1 )
    $553ed3 = StringMid( $553line , 82 , 6 )
    $553ls3 = StringMid( $553line , 88 , 8 )
    $553lsd3 = StringMid( $553line , 96 , 6 )
    $553lm3 = StringMid( $553line , 102 , 12 )
    $553lst3 = StringMid( $553line , 114 , 1 )
    ;MsgBox(0, "Einmalige Datenelemente des Feinabrufes: ", "Satzart : " & $Satzart& @CRLF &"Version : " & $553v & @CRLF &"Eingangsfortschrittszahl : " & $553e & @CRLF &"Eintreffdatum : " & $553ed1 & @CRLF &"Lieferscheinnummer : " & $553ls1 & @CRLF &"Lieferscheindatum : " & $553lsd1 & @CRLF &"Liefermenge : " & $553lm1 & @CRLF &"Lieferstatus : " & $553lst1 & @CRLF &"Eintreffdatum : " & $553ed2 & @CRLF &"Lieferscheinnummer : " & $553ls2 & @CRLF &"Lieferscheindatum : " & $553lsd2 & @CRLF &"Liefermenge : " & $553lm2 & @CRLF &"Lieferstatus : " & $553lst2 & @CRLF &"Eintreffdatum : " & $553ed3 & @CRLF &"Lieferscheinnummer : " & $553ls3 & @CRLF & "Lieferscheindatum : " & $553lsd3 & @CRLF &"Liefermenge : " & $553lm3 & @CRLF & "Lieferstatus : " & $553lst3 )
    ;Feinabruf- Abgrenzungsdaten Ende
    $line = StringTrimLeft( $line , 128 )
    $Satzart = StringMid( $line , 1 , 3 )
    EndIf

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

    ;~ ;Anlage 4
    If ( $Satzart = 554 ) Then
    ;Feinabruf Daten
    Dim $554line = $line
    $554Versionsnummer = StringMid( $554line , 4 , 2 )
    $554Abrufdatum = StringMid( $554line , 6 , 6 )
    $554Abrufzeit = StringMid( $554line , 12 , 4 )
    $554Abrufmenge = StringMid( $554line , 16 , 9 )
    $554Bedarfsstatus = StringMid( $554line , 25 , 1 )
    $554Abrufdatum2 = StringMid( $554line , 26 , 6 )
    $554Abrufzeit2 = StringMid( $554line , 32 , 4 )
    $554Abrufmenge2 = StringMid( $554line , 36 , 9 )
    $554Bedarfsstatus2 = StringMid( $554line , 45 , 1 )
    $554Abrufdatum3 = StringMid( $554line , 46 , 6 )
    $554Abrufzeit3 = StringMid( $554line , 52 , 4 )
    $554Abrufmenge3 = StringMid( $554line , 56 , 9 )
    $554Bedarfsstatus3 = StringMid( $554line , 65 , 1 )
    $554Abrufdatum4 = StringMid( $554line , 66 , 6 )
    $554Abrufzeit4 = StringMid( $554line , 72 , 4 )
    $554Abrufmenge4 = StringMid( $554line , 76 , 9 )
    $554Bedarfsstatus4 = StringMid( $554line , 85 , 1 )
    $554Abrufdatum5 = StringMid( $554line , 86 , 6 )
    $554Abrufzeit5 = StringMid( $554line , 92 , 4 )
    $554Abrufmenge5 = StringMid( $554line , 96 , 9 )
    $554Bedarfsstatus5 = StringMid( $554line , 105 , 1 )
    $554Abrufdatum6 = StringMid( $554line , 106 , 6 )
    $554Abrufzeit6 = StringMid( $554line , 112 , 4 )
    $554Abrufmenge6 = StringMid( $554line , 116 , 9 )
    $554Bedarfsstatus6 = StringMid( $554line , 125 , 1 )
    GUICtrlSetData($Abgrenzungsdaten_0, "" & $554Abrufdatum & "|" & $554Abrufzeit & "|" & $554Abrufmenge & "|" & $554Bedarfsstatus &"")
    GUICtrlSetData($Abgrenzungsdaten_1, "|||")
    GUICtrlSetData($Abgrenzungsdaten_2, "|||")
    GUICtrlSetData($Abgrenzungsdaten_3, "|||")
    GUICtrlSetData($Abgrenzungsdaten_4, "|||")
    GUICtrlSetData($Abgrenzungsdaten_5, "|||")
    ;MsgBox(0, "Einmalige Datenelemente des Feinabrufes: ", "Satzart : " & $Satzart & @CRLF &"Version : " & $554Versionsnummer & @CRLF &"Abrufdatum : " & $554Abrufdatum & @CRLF &"Abrufzeit : " & $554Abrufzeit & @CRLF &"Abrufmenge : " & $554Abrufmenge & @CRLF &"Bedarfsstatus : " & $554Bedarfsstatus & @CRLF &"Abrufdatum : " & $554Abrufdatum2 & @CRLF &"Abrufzeit : " & $554Abrufzeit2 & @CRLF &"Abrufmenge : " & $554Abrufmenge2 & @CRLF &"Bedarfsstatus : " & $554Bedarfsstatus2 & @CRLF &"Abrufdatum : " & $554Abrufdatum3 & @CRLF &"Abrufzeit : " & $554Abrufzeit3 & @CRLF &"Abrufmenge : " & $554Abrufmenge3 & @CRLF &"Bedarfsstatus : " & $554Bedarfsstatus3 & @CRLF &"Abrufdatum : " & $554Abrufdatum4 & @CRLF &"Abrufzeit : " & $554Abrufzeit4 & @CRLF &"Abrufmenge : " & $554Abrufmenge4 & @CRLF &"Bedarfsstatus : " & $554Bedarfsstatus4 & @CRLF &"Abrufdatum : " & $554Abrufdatum5 & @CRLF &"Abrufzeit : " & $554Abrufzeit5 & @CRLF &"Abrufmenge : " & $554Abrufmenge5 & @CRLF &"Bedarfsstatus : " & $554Bedarfsstatus5 & @CRLF &"Abrufdatum : " & $554Abrufdatum6 & @CRLF &"Abrufzeit : " & $554Abrufzeit6 & @CRLF &"Abrufmenge : " & $554Abrufmenge6 & @CRLF & "Bedarfsstatus : " & $554Bedarfsstatus6 )
    ;Feinabruf Daten Ende
    $line = StringTrimLeft( $line , 128 )
    $Satzart = StringMid( $line , 1 , 3 )
    EndIf

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

    ;Anlage 5
    If ( $Satzart = 555 ) Then
    Dim $555line = $line
    ;Zusatzdaten des Feinabrufes
    $555Versionsnummer = StringMid( $555line , 4 , 2 )
    $555Zwischenlieferant = StringMid( $555line , 6 , 9 )
    $555Ergaenzende_Sachnummer = StringMid( $555line , 15 , 22 )
    $555Zur_Nullstellung_erreichte_Fortschrittszahl = StringMid( $555line , 37 , 10 )
    ;MsgBox(0, "Einmalige Datenelemente des Feinabrufes: ", "Satzart : " & $Satzart & @CRLF &"Versionsnummer : " & $Satzart & @CRLF &"Zwischenlieferant : " & $555Zwischenlieferant & @CRLF &"Ergaenzende_Sachnummer : " & $555Ergaenzende_Sachnummer & @CRLF &"Zur_Nullstellung_erreichte_Fortschrittszahl : " & $555Zur_Nullstellung_erreichte_Fortschrittszahl)
    ;Zusatzdaten des Feinabrufes Ende
    $line = StringTrimLeft( $line , 128 )
    $Satzart = StringMid( $line , 1 , 3 )
    EndIf

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

    ;Anlage 6
    If ( $Satzart = 556 ) Then
    ;Packmitteldaten des Feinabrufes
    Dim $556line = $line
    $556Versionsnummer = StringMid( $556line , 4 , 2 )
    $556Sachnummer = StringMid( $556line , 6 , 22 )
    $556Sachnummer_Lieferant = StringMid( $556line , 28 , 22 )
    $556Fuellmenge_Soll = StringMid( $556line , 50 , 7 )
    ;MsgBox(0, "Einmalige Datenelemente des Feinabrufes: ", "$Satzart : " & $Satzart & @CRLF &"Version : " & $556Versionsnummer & @CRLF &"Sachnummer : " & $556Sachnummer & @CRLF &"Sachnummer Lieferant : " & $556Sachnummer_Lieferant & @CRLF &"Füllmenge Soll : " & $556Fuellmenge_Soll)
    ;Packmitteldaten des Feinabrufes Ende
    $line = StringTrimLeft( $line , 128 )
    $Satzart = StringMid( $line , 1 , 3 )
    EndIf

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

    ;Anlage 7
    If ( $Satzart = 557 ) Then
    ;Feinabruf Textdaten
    Dim $557line = $line
    $557Versionsnummer = StringMid( $557line , 4 , 2 )
    $557Text1 = StringMid( $557line , 6 , 40 )
    $557Text2 = StringMid( $557line , 46 , 40 )
    $557Text3 = StringMid( $557line , 86 , 40 )
    ;MsgBox(0, "Einmalige Datenelemente des Feinabrufes: ", "$Satzart : " & $Satzart & @CRLF &"Versionsnummer : " & $557Versionsnummer & @CRLF &"Text : " & $557Text1 & @CRLF &"Text : " & $557Text2 & @CRLF &"Text : " & $557Text3)
    ;Feinabruf Textdaten Ende
    $line = StringTrimLeft( $line , 128 )
    $Satzart = StringMid( $line , 1 , 3 )
    EndIf

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

    ;Anlage 9
    If ( $Satzart = 559 ) Then
    ;Nachsatz Feinabruf
    Dim $559line = $line
    $559Versionsnummer = StringMid( $559line , 4 , 2 )
    $559ZahlerSatz551 = StringMid( $559line , 6 , 7 )
    $559ZahlerSatz552 = StringMid( $559line , 13 , 7 )
    $559ZahlerSatz553 = StringMid( $559line , 20 , 7 )
    $559ZahlerSatz554 = StringMid( $559line , 27 , 7 )
    $559ZahlerSatz555 = StringMid( $559line , 34 , 7 )
    $559ZahlerSatz556 = StringMid( $559line , 41 , 7 )
    $559ZahlerSatz557 = StringMid( $559line , 48 , 7 )
    $559ZahlerSatz559 = StringMid( $559line , 55 , 7 )
    ;MsgBox(0, "Einmalige Datenelemente des Feinabrufes: ", "Version : " & $Satzart & @CRLF & "Zähler Satzart 551 : " & $559ZahlerSatz551 & @CRLF &"Zähler Satzart 552 : " & $559ZahlerSatz552 & @CRLF &"Zähler Satzart 553 : " & $559ZahlerSatz553 & @CRLF &"Zähler Satzart 554 : " & $559ZahlerSatz554 & @CRLF &"Zähler Satzart 555 : " & $559ZahlerSatz555 & @CRLF &"Zähler Satzart 556 : " & $559ZahlerSatz556 & @CRLF &"Zähler Satzart 557 : " & $559ZahlerSatz557 & @CRLF &"Zähler Satzart 559 : " & $559ZahlerSatz559 )
    ;Nachsatz Feinabruf Ende
    $line = StringTrimLeft( $line , 128 )
    $Satzart = StringMid( $line , 1 , 3 )
    EndIf

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

    If ( $Satzart = "" ) Then
    MsgBox(48, "" & $Satzart , "Auslese beendet" )
    ExitLoop
    Else
    MsgBox(16, "Error: " & $Satzart , "Dieser Typ ist nicht definiert im Vorsatz der Feinabrufdaten!" & @CRLF & "Bitte den Administrator informieren und die Datei mitschicken." & @CRLF & @CRLF & "Mit freundlichen Grüßen" & @CRLF & "Hans Buch", 10)
    EndIf

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

    WEnd
    EndIf
    FileClose($file)
    ;Feinabruf Ende

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

    EndSwitch
    WEnd

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


    Als datei wird solch eine benötigt:
    Schema: ZU.50225.V4915~000016.asc
    Inhalt: 55101porsche 50225 0000900010100325100101 55202W2 000000024100325997.611.020.00

    2 Mal editiert, zuletzt von Skar (6. April 2010 um 13:31)

  • Bitteschön, ansehen, verstehen und in dein Skript einbauen:

    Spoiler anzeigen
    [autoit]


    #include <GUIConstantsEx.au3>
    #include <ProgressConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=
    Global $Form1 = GUICreate("Form1", 625, 445, 192, 124)
    Global $Progress1 = GUICtrlCreateProgress(104, 88, 345, 81)
    Global $Button1 = GUICtrlCreateButton("Prozess", 350, 200, 100, 30)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    For $i = 0 To 100 Step 10
    GUICtrlSetData($Progress1, $i)
    Sleep(500)
    Next

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

    GUICtrlSetState($Progress1, $GUI_HIDE)

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

    GUICtrlCreateLabel("Fertig", 200, 200, 50, 30)

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

    EndSwitch
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Hallo

    hier das Beispiel aus der Hilfe zu _GUICtrlStatusBar_EmbedControl :

    Spoiler anzeigen
    [autoit]

    #include <GuiConstantsEx.au3>
    #include <GuiStatusBar.au3>
    #include <ProgressConstants.au3>
    #include <SendMessage.au3>

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

    Opt('MustDeclareVars', 1)

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

    _Main()

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

    Func _Main()

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

    Local $hGUI, $hProgress, $hInput, $input, $progress, $hStatus
    Local $aParts[4] = [80, 160, 300, -1]

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

    ; Erstellt eine GUI
    $hGUI = GUICreate("StatusBar: Control einbinden", 400, 300)

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

    ;===============================================================================
    ; Standard ist 1 Abschnitt und kein Text
    $hStatus = _GUICtrlStatusBar_Create($hGUI)
    _GUICtrlStatusBar_SetMinHeight($hStatus, 20)

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

    ;===============================================================================
    GUISetState()

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

    ; Initialisiert drei Abschnitte
    _GUICtrlStatusBar_SetParts($hStatus, $aParts)
    _GUICtrlStatusBar_SetText($hStatus, "Abschnitt 1")
    _GUICtrlStatusBar_SetText($hStatus, "Abschnitt 2", 1)

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

    ; Bindet eine Progressbar in das Control ein
    If @OSType = "WIN32_WINDOWS" Then
    $progress = GUICtrlCreateProgress(0, 0, -1, -1, $PBS_SMOOTH)
    $hProgress = GUICtrlGetHandle($progress)
    _GUICtrlStatusBar_EmbedControl($hStatus, 2, $hProgress)
    Else
    $progress = GUICtrlCreateProgress(0, 0, -1, -1, $PBS_MARQUEE) ; Der Stil 'marquee' funktioniert bei Windows XP und neuer
    $hProgress = GUICtrlGetHandle($progress)
    _GUICtrlStatusBar_EmbedControl($hStatus, 2, $hProgress)
    _SendMessage($hProgress, $PBM_SETMARQUEE, True, 200) ; Der Stil 'marquee' funktioniert bei Windows XP und neuer
    EndIf

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

    $input = GUICtrlCreateInput("Dies wurde eingebunden", 0, 0)
    $hInput = GUICtrlGetHandle($input)
    _GUICtrlStatusBar_EmbedControl($hStatus, 3, $hInput, 3)

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

    ; Die Schleife wiederholt sich, bis der Benutzer die Beenden-Aktion der GUI auslöst
    Do
    Until GUIGetMsg() = $GUI_EVENT_CLOSE
    GUIDelete()
    EndFunc ;==>_Main

    [/autoit]

    clezZ die Progress soll in der Statsbar eingebettet sein

    mfg (Auto)Bert

  • Und in kompliziert : /

    Spoiler anzeigen
    [autoit]

    #include <GuiStatusBar.au3>
    #include <WinAPI.au3>
    #include <GUIConstantsEx.au3>
    #include <WindowsConstants.au3>
    #include <ProgressConstants.au3>
    #include <SendMessage.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 269, 146, 192, 124)
    $StatusBar1 = _GUICtrlStatusBar_Create($Form1)
    _GUICtrlStatusBar_SetMinHeight($StatusBar1, 25)
    ;~ DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 0)
    $Bar = _Progress_Create($Form1, 0, 120, 269, 25)
    ;~ DllCall('uxtheme.dll', 'none', 'SetThemeAppProperties', 'int', 7)
    $ControlIDBar = _WinAPI_GetDlgCtrlID($Bar)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    Do
    $i = 0
    Do
    _Progress_SetStep($Bar, 10)
    _Progress_StepIt($Bar)
    Sleep(500)
    $i += 10
    Until $i = 100
    Sleep(50)
    Exit
    Until GUIGetMsg() = -3

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

    Func _Progress_Create($hWnd, $iX, $iY, $iWidth = -1, $iHeight = -1, $iStyle = 0, $iExStyle = 0)
    $iStyle = BitOR($iStyle, $WS_CHILD, $WS_VISIBLE)
    Return _WinAPI_CreateWindowEx($iExStyle, "msctls_progress32", "", $iStyle, $iX, $iY, $iWidth, $iHeight, $hWnd)
    EndFunc ;==>_Progress_Create

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

    Func _Progress_SetBarColor($hWnd, $iColor)
    Return _SendMessage($hWnd, $PBM_SETBARCOLOR, 0, $iColor)
    EndFunc ;==>_Progress_SetBarColor

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

    Func _Progress_SetPos($hWnd, $iPos)
    Return _SendMessage($hWnd, $PBM_SETPOS, $iPos, 0)
    EndFunc ;==>_Progress_SetPos

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

    Func _Progress_SetBkColor($hWnd, $iColor)
    Return _SendMessage($hWnd, $PBM_SETBKCOLOR, 0, $iColor)
    EndFunc ;==>_Progress_SetBkColor

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

    Func _Progress_SetStep($hWnd, $iStep = 10)
    Return _SendMessage($hWnd, $PBM_SETSTEP, $iStep, 0)
    EndFunc ;==>_Progress_SetStep

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

    Func _Progress_StepIt($hWnd)
    Return _SendMessage($hWnd, $PBM_STEPIT, 0, 0)
    EndFunc ;==>_Progress_StepIt

    [/autoit]

    Das mit den Progress hatte ich auch mal im englischen Forum zu Listviews gefunden, falls das so nicht gehen sollte, mach die Kommentar bei den beiden DLLCalls oben weg...
    Aber ich rate dir, nimm die Lösung von clezZ(seine Lösung entsprach nicht dem Problem :D) oder AutoBert ^^

  • Hallo,
    ich habe eben das gepostete Beispiel von AutoBert getestet.
    Funktionieren tuts wunderbar... bis man die GUI minimiert und danach wieder aufruft.

    Dann ist die Prozessbar nämlich in der unteren linken Ecke.


    Gibts da zufällig ein Mittel gegen, ausser die GUI nicht zu minimieren? :)

    Gruß
    Manta

    • Offizieller Beitrag

    autoBert,
    funktioniert das Hilfebeispiel bei dir einwandfrei?
    Wenn ich es unter WinXP ausführe , minimiere und wiederherstelle raucht AutoIt ab.
    Bei Win7/64 und Win7/64 der gleiche Fehler wie bei Manta.

    Scheint ein AutoitBug zu sein.

  • Hallo

    ich habe das Beispiel gerade getestet wenn ic nicht minimiere kann ich ganz normal beenden ($GUI_EVENT_CLOSE), Nachdem minimieren und wiederherstellen beim ausführen des Hilfe-Skriptes gleicher Fehler wie Raupi bechrieben. Hier verhält sich das von mir gepostete Beispiel anders, es tritt nach dem wiederherstellen der von @Manta gepostete Fehler auf. Beim Beenden schmiert AutoIt ab. Das seltsame ist ich kann ausser den unterschiedlichen Sprachen bei den Texten keinen Unterschied feststellen.

    mfg autoBert