InputBox - Ausgabewert

  • Also ich möchte wenn eine bestimmte Datei nicht vorhanden ist ($File), das eine InputBox aufgeht, man den entsprechenden Namen eingibt, dieser String (die Eingabe) dann einer Varibale zu gewießen wird (Dim $File = "String(Eingabe)"), Falls kein Eingabewert (nichts in der Inputbox eingeben wurde) vorhanden sein sollte das Script mit Exit beendet wird, wenn die neue Eingabe(der String) wieder nicht exestieren geht die intputbox wieder auf, solange bis das File gefunden wird. Das ganze möchte ich dann später in einer Select abfrage einbauen

    Also ungefähr so:

    [autoit]


    If Not FileExist($File) Then
    Do InputBox()
    ... ; Rückgabewert mit Dim einer Variable zu weißen
    ... ; keine Eingabewert Exit
    ...; wenn @error wieder InputBox
    Until FileExists($File)
    EndIf

    [/autoit]

    Ich hoffe ihr könnt mir helfen :D

  • Danke Oscar, genau das wollte ich :thumbup:

    Nur so nebenbei kann mann irrgendwie anders den Ausgabewert auslesehn, anstatt ihn direkt zu deklarieren?

    Also irrgendwie so:

    [autoit]

    If @error = 1Then
    Exit
    EndIf

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

    @error = $File

    [/autoit]
  • Zitat

    Rückgabewert
    Erfolg: Gibt den kompletten Pfad der ausgewählten Datei zurück. Rückgabe mehrerer Dateien wie folgt: "Verzeichnis|Datei1|Datei2|..."
    Fehler: Setzt @error auf 1.

    Also @error ist der negative Rückgabewert - nicht erfolgreich
    Aber wie lautet der positive Rückgabewert? @error 0 = Filepath & File oder wie?

    Ich möchte es einfach nur wießen, um Autoit besser zu verstehen ;)

    • Offizieller Beitrag

    Achso!
    Wenn der Anwender auf [Abbrechen] klickt, dann wird das @error-Makro auf 1 gesetzt und die Variable $sFile erhält einen Leerstring.
    Ansonsten ist @error = 0 und die Variable $sFile bekommt den kompletten Pfad plus Dateiname der ausgewählten Datei zugewiesen.

    Beachten solltest Du außerdem diesen Hinweis:

    Zitat

    @WorkingDir wird bei erfolgreichem Rückgabewert geändert.

    Das bedeutet, wenn Du danach eine Datei ohne kompletten Pfad verwendest (relative Pfadangabe, z.B.: "settings.ini"), dann wird die Datei in dem ausgewählten Pfad gesucht und vermutlich nicht gefunden.
    Deswegen ist es ratsam, immer den kompletten Pfad anzugeben (absolute Pfadangaben, z.B.: @ScriptDir & "\settings.ini"), um solche möglichen Fehlerquellen schon im Vorfeld zu vermeiden.