Daten aus der Auswahlliste übergeben

  • Hallo zusammen,

    mein Script ist ja eigentlich schon fertig aber nun sehe ich da ein kleinen Fehler:

    Wenn ich erst die Archivedatei wähle und danach ein Postfach schreibt er mir dies nicht ins Logfile
    Zudem funktioniert die Clearfunktion nicht mehr.
    Ich hab die Case anweißung geändert (in If)

    Funktioniert aber dennoch net:

    Spoiler anzeigen
    [autoit]


    #include <GuiConstants.au3>
    #include <GuiCombo.au3>
    #Include <GuiEdit.au3>
    #Include <Array.au3>

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

    Dim $Label, $Input, $Btn_Show, $Btn_Hide, $Combo, $Btn_Exit, $msg, $ret

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

    FileDelete(@UserName & " Postfaecher.txt")

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

    ;Hauptfenster erstellen
    GUICreate("Outlook 2003 Konfigurationsassisten von xxxxxxxx", 405, 420)
    GUICtrlCreateLabel("Outlook 2003 Konfigurationsassisten", "15", "15")
    GUICtrlCreateLabel("von xxxxxxx-xxxxx", "15", "30")
    GUICtrlCreateLabel("V.1.2", "360", "10")
    ;HM-Logo
    GUICtrlCreatePic("xxxlogo.jpg", 110, 55, 193, 40)

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

    If Not FileExists("xxxxxlogo.jpg") Then
    GUICtrlCreateLabel("" & @CRLF & " xxxxxxxxxxxxx" & @CRLF & "", 110, 55, 190, 40)
    GUICtrlSetBkColor(-1, 0xcc0033)
    GUICtrlSetColor(-1, 0xffffff)
    EndIf

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

    ;Labels
    GUICtrlCreateLabel("Es werden nun folgende Einstellungen für Sie übernommen:", "15", "114", "290")
    GUICtrlCreateLabel("UserName:", "15", "138", "80")
    $username = GUICtrlCreateLabel(@UserName, 80, 138, 120, 16)
    GUICtrlCreateLabel("Server:", "15", "155", "90")
    $server = GUICtrlCreateLabel("xxxxxxxxxxxx", "80", "155", "150")
    GUICtrlCreateLabel("Postfächer:", "37", "185", "90")
    GUICtrlCreateLabel("Ihre Auswahl:", "225", "185", "90")

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

    $Combo = GUICtrlCreateList("", 37, 200, 150, 120)

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

    ;~ Inhalt der ComboBox für Postfächer
    $Postfaecher = FileRead("Postfaecher.txt")
    GUICtrlSetData($Combo, $Postfaecher)

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

    $Btn_Add = GUICtrlCreateButton("+", 196, 225, 20, 20)
    $Btn_Del = GUICtrlCreateButton("-", 196, 255, 20, 20)
    $text_I = GUICtrlCreateList("", 225, 200, 150, 120,)

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

    GUICtrlCreateLabel("Archive Datei:", "15", "335", "90")
    $archivedat = GUICtrlCreateInput("", "85", "332", "150")
    $durchsuchen = GUICtrlCreateButton("Durchsuchen", "245", "330", "80")
    $archivclear = GUICtrlCreateButton("löschen", "332", "330", "50")

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

    ;Ok-Button erstellen
    $ok = GUICtrlCreateButton("OK", "112", "370", "80")
    ;Abbrechen-Button erstellen
    $cancel = GUICtrlCreateButton("Abbrechen", "220", "370", "80")
    Global $status = 0
    GUICtrlCreateLabel("© xxxxx-xxxxxxxxxx", "111", "396", "420")

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

    GUISetState()
    $status1 = 0
    $status2 = 0
    $statusarchiv = 0

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $cancel Then
    FileDelete(@UserName & " Postfaecher.txt")
    Exit
    EndIf
    If $msg = $ok Then ExitLoop
    If $msg = $Btn_Del Then
    $status = 0
    GUICtrlSetData($text_I, "")
    FileDelete(@UserName & " Postfaecher.txt")
    EndIf
    If $msg = $Btn_Add Then
    GUICtrlSetData($text_I, GUICtrlRead($Combo))
    FileWrite(@UserName & " Postfaecher.txt", GUICtrlRead($Combo) & @CRLF)
    EndIf
    If $msg = $durchsuchen Then
    $durchsuchen1 = FileOpenDialog("","Z:\","PST Dateien (*.pst)")
    GUICtrlSetData($archivedat,$durchsuchen1)
    $statusarchiv = 1
    If @error Then ContinueLoop
    EndIf
    If $msg = $archivclear Then
    GUICtrlSetData($archivedat,"")
    $statusarchiv = 0
    EndIf

    [/autoit]

    WEnd

  • Also wenn ich auf den Add Button gehen (nur Postfächer) schreibt er mir eine TXT Datei ins Verzeichnis.

    Beim Archivfeld brauch ich das nicht deswegen macht er es auch nicht :)

    Unten das Akt. script von mir:


    EDIT: also ich schätze mal es liegt am $durchsuchen1 = FileOpenDialog("","Z:\","PST Dateien (*.pst)")

    Wenn ich den Dialog öffne funktionieren meine Schaltfläschen net mehr warum auch immer. Wenn jemand ne Lösung gefunden hat vielleicht mir auch kurz erklären warum es nicht geht. Bin ja noch Anfänger :)

    Gruß und dank!!!!

    Spoiler anzeigen


    #include <GuiConstants.au3>
    #include <GuiCombo.au3>
    #Include <GuiEdit.au3>
    #Include <Array.au3>



    Dim $Label, $Input, $Btn_Show, $Btn_Hide, $Combo, $Btn_Exit, $msg, $ret

    FileDelete(@UserName & " Postfaecher.txt")

    ;Hauptfenster erstellen
    GUICreate("Outlook 2003 Konfigurationsassisten von xxxxxxxx", 405, 420)
    GUICtrlCreateLabel("Outlook 2003 Konfigurationsassisten", "15", "15")
    GUICtrlCreateLabel("von xxxxxxx-xxxxx", "15", "30")
    GUICtrlCreateLabel("V.1.2", "360", "10")
    ;HM-Logo
    GUICtrlCreatePic("xxxlogo.jpg", 110, 55, 193, 40)

    If Not FileExists("xxxxxlogo.jpg") Then
    GUICtrlCreateLabel("" & @CRLF & " xxxxxxxxxxxxx" & @CRLF & "", 110, 55, 190, 40)
    GUICtrlSetBkColor(-1, 0xcc0033)
    GUICtrlSetColor(-1, 0xffffff)
    EndIf

    ;Labels
    GUICtrlCreateLabel("Es werden nun folgende Einstellungen für Sie übernommen:", "15", "114", "290")
    GUICtrlCreateLabel("UserName:", "15", "138", "80")
    $username = GUICtrlCreateLabel(@UserName, 80, 138, 120, 16)
    GUICtrlCreateLabel("Server:", "15", "155", "90")
    $server = GUICtrlCreateLabel("xxxxxxxxxxxx", "80", "155", "150")
    GUICtrlCreateLabel("Postfächer:", "37", "185", "90")
    GUICtrlCreateLabel("Ihre Auswahl:", "225", "185", "90")

    $Combo = GUICtrlCreateList("", 37, 200, 150, 120)


    ;~ Inhalt der ComboBox für Postfächer
    $Postfaecher = FileRead("Postfaecher.txt")
    GUICtrlSetData($Combo, $Postfaecher)

    $Btn_Add = GUICtrlCreateButton("+", 196, 225, 20, 20)
    $Btn_Del = GUICtrlCreateButton("-", 196, 255, 20, 20)
    $text_I = GUICtrlCreateList("", 225, 200, 150, 120,)

    GUICtrlCreateLabel("Archive Datei:", "15", "335", "90")
    $archivedat = GUICtrlCreateInput("", "85", "332", "150")
    $durchsuchen = GUICtrlCreateButton("Durchsuchen", "245", "330", "80")
    $archivclear = GUICtrlCreateButton("löschen", "332", "330", "50")

    ;Ok-Button erstellen
    $ok = GUICtrlCreateButton("OK", "112", "370", "80")
    ;Abbrechen-Button erstellen
    $cancel = GUICtrlCreateButton("Abbrechen", "220", "370", "80")
    Global $status = 0
    GUICtrlCreateLabel("© xxxxx-xxxxxxxxxx", "111", "396", "420")

    GUISetState()
    $statusarchiv = 0

    While 1
    $msg = GUIGetMsg()
    If $msg = $cancel Then
    FileDelete(@UserName & " Postfaecher.txt")
    Exit
    EndIf
    If $msg = $ok Then ExitLoop
    If $msg = $Btn_Del Then
    $status = 0
    GUICtrlSetData($text_I, "")
    FileDelete(@UserName & " Postfaecher.txt")
    $status = 0
    EndIf
    If $msg = $Btn_Add Then
    GUICtrlSetData($text_I, GUICtrlRead($Combo))
    If GUICtrlRead($text_I) == GUICtrlRead($Combo) Then
    ContinueLoop
    EndIf
    FileWrite(@UserName & " Postfaecher.txt", GUICtrlRead($Combo) & @CRLF)
    $status = $status + 1
    EndIf
    If $msg = $durchsuchen Then
    $durchsuchen1 = FileOpenDialog("","Z:\","PST Dateien (*.pst)")
    GUICtrlSetData($archivedat,$durchsuchen1)
    $statusarchiv = 1
    If @error Then
    ContinueLoop
    $statusarchiv = 0
    EndIf
    EndIf
    If $msg = $archivclear Then
    GUICtrlSetData($archivedat,"")
    $statusarchiv = 0
    EndIf
    WEnd

    Einmal editiert, zuletzt von Flitzer (19. Januar 2007 um 11:53)

    • Offizieller Beitrag

    Hi,

    so?

    Spoiler anzeigen
    [autoit]

    #include <GuiConstants.au3>
    #include <GuiCombo.au3>
    #Include <GuiEdit.au3>
    #Include <Array.au3>

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

    Dim $Label, $Input, $Btn_Show, $Btn_Hide, $Combo, $Btn_Exit, $msg, $ret

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

    FileDelete(@UserName & " Postfaecher.txt")

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

    ;Hauptfenster erstellen
    GUICreate("Outlook 2003 Konfigurationsassisten von xxxxxxxx", 405, 420)
    GUICtrlCreateLabel("Outlook 2003 Konfigurationsassisten", "15", "15")
    GUICtrlCreateLabel("von xxxxxxx-xxxxx", "15", "30")
    GUICtrlCreateLabel("V.1.2", "360", "10")
    ;HM-Logo
    GUICtrlCreatePic("xxxlogo.jpg", 110, 55, 193, 40)

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

    If Not FileExists("xxxxxlogo.jpg") Then
    GUICtrlCreateLabel("" & @CRLF & " xxxxxxxxxxxxx" & @CRLF & "", 110, 55, 190, 40)
    GUICtrlSetBkColor(-1, 0xcc0033)
    GUICtrlSetColor(-1, 0xffffff)
    EndIf

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

    ;Labels
    GUICtrlCreateLabel("Es werden nun folgende Einstellungen für Sie übernommen:", "15", "114", "290")
    GUICtrlCreateLabel("UserName:", "15", "138", "80")
    $username = GUICtrlCreateLabel(@UserName, 80, 138, 120, 16)
    GUICtrlCreateLabel("Server:", "15", "155", "90")
    $server = GUICtrlCreateLabel("xxxxxxxxxxxx", "80", "155", "150")
    GUICtrlCreateLabel("Postfächer:", "37", "185", "90")
    GUICtrlCreateLabel("Ihre Auswahl:", "225", "185", "90")

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

    $Combo = GUICtrlCreateList("", 37, 200, 150, 120)

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

    ;~ Inhalt der ComboBox für Postfächer
    $Postfaecher = FileRead("2.txt")
    GUICtrlSetData($Combo, $Postfaecher)

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

    $Btn_Add = GUICtrlCreateButton("+", 196, 225, 20, 20)
    $Btn_Del = GUICtrlCreateButton("-", 196, 255, 20, 20)
    $text_I = GUICtrlCreateList("", 225, 200, 150, 120)

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

    GUICtrlCreateLabel("Archive Datei:", "15", "335", "90")
    $archivedat = GUICtrlCreateInput("", "85", "332", "150")
    $durchsuchen = GUICtrlCreateButton("Durchsuchen", "245", "330", "80")
    $archivclear = GUICtrlCreateButton("löschen", "332", "330", "50")

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

    ;Ok-Button erstellen
    $ok = GUICtrlCreateButton("OK", "112", "370", "80")
    ;Abbrechen-Button erstellen
    $cancel = GUICtrlCreateButton("Abbrechen", "220", "370", "80")
    Global $status = 0
    GUICtrlCreateLabel("© xxxxx-xxxxxxxxxx", "111", "396", "420")

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

    GUISetState()
    $statusarchiv = 0

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $cancel Then
    FileDelete(@UserName & " Postfaecher.txt")
    Exit
    EndIf
    If $msg = $ok Then ExitLoop
    If $msg = $Btn_Del Then
    $status = 0
    GUICtrlSetData($text_I, "")
    FileDelete(@UserName & " Postfaecher.txt")
    $status = 0
    EndIf
    If $msg = $Btn_Add Then
    GUICtrlSetData($text_I, GUICtrlRead($Combo))
    If GUICtrlRead($text_I) == GUICtrlRead($Combo) Then
    ContinueLoop
    EndIf
    $file = FileOpen(@UserName & " Postfaecher.txt", 1)

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

    ; Check if file opened for writing OK
    If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf
    FileWrite(@UserName & " Postfaecher.txt", GUICtrlRead($Combo) & @CRLF)
    $file = FileOpen("test.txt", 1)

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

    ; Check if file opened for writing OK
    If $file = -1 Then
    MsgBox(0, "Error", "Unable to open file.")
    Exit
    EndIf
    $status = $status + 1
    EndIf
    If $msg = $durchsuchen Then
    $durchsuchen1 = FileOpenDialog("", "Z:\", "PST Dateien (*.pst)")
    GUICtrlSetData($archivedat, $durchsuchen1)
    $statusarchiv = 1
    If @error Then
    ContinueLoop
    $statusarchiv = 0
    EndIf
    EndIf
    If $msg = $archivclear Then
    GUICtrlSetData($archivedat, "")
    $statusarchiv = 0
    EndIf
    WEnd

    [/autoit]

    So long,

    Mega

  • Hi,

    tut mir leid aber es funktioniert so nicht,

    Ich beschreibe mal wie ich genau vorgehe event. könnt ihr (bzw du) das nachstellen.


    Ich öffne das Script.
    gehe auf Archivedatei auswählen -> Es folgt ein Fenster (Laufwerk Z:)
    Dort wähle ich meine PST Datei. Dann gehe ich auf Speichern.
    So jetzt bin ich wieder in meiner Maske und sehe im Feld $archivedat
    meine Datei die ich ausgewählt habe.

    So als nun nächster Schritt wähle ich ein Postfach aus.
    Die Auswahl springt von $combi ins $text_I

    So aber genau hier hat das Script ein Problem:
    Es schreibt die TXT Datei nicht warum auch immer.

    Wenn ich erst die Postfächer auswähle und danach die Archivdatei funktioniert es.

    Die TXT Datei brauche ich da ich noch eine Schleife hab die später die TXT Datei ausliest....

    Ich schätze das Problem liegt hier:
    $durchsuchen1 = FileOpenDialog("","Z:\","PST Dateien (*.pst)")

    Wenn das Ausgeführt wird schreibt er mir die TXT Datei nicht bzw. löscht Sie nicht wenn ich auf Clear (Minus Button)


    Danke

  • Hallo,

    ich weiß ich Spam und nerv aber ich komm echt nicht weiter und brauch Hilfe.

    Ich hab nun schon alles versucht aber ich hab so das Gefühl dass beim FileOpenDialog er kein FileWrite mehr macht.

    Ich hab den FileWrite in ne Func eingefügt leider ohne erfolg.

    Hoffe ihr könnt mir helfen, am besten den vorherigen Beitrag mal durchlesen........... Dankeeeeeee