Ini-Eintrag

  • OFFEN

    [autoit]

    ;Wenn der Fehler kommt, dass das System die angegebene Datei nicht finden konnte ...

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

    $folder=FileOpenDialog("Ordner suchen","Arbeitsplatz","(*.*)")
    If Run($folder) ... then ;hier soll die Abfrage, die guckt ob oben benannter Fehler kommt: Wenn Fehler, dann MsgBox
    MsgBox(0,"Error","Falsches Verzeichnis")
    EndIf

    [/autoit]


    Wie geht das?


    OFFEN
    Wusste das mal, weiß aber nicht mehr wie das geht.
    Beispiel:

    [autoit]

    If not IniRead("C:\test.ini","testinfo","id",0) Then $user=InputBox("World o Warcraft","Accountname von WoW") IniWrite("C:\test.ini","testinfo","id",$user) Endif

    [/autoit]


    Ihr wisst ja hoffentlich, was das bewirkt :)
    Wenn also in der Ini steht:

    Code
    [testinfo] id=


    dann fragt er die id neu ab.
    Wenn aber z.B. in der Ini steht:

    Code
    [testinfo] use=


    also das "r" fehlt, oder "user" erst gar nicht da steht, dann fragt er das nicht neu ab..., wie kriege ich das hin, dass er auch dann die InputBox startet, ich weiß, dass das nur ne Kleinigkeit an der If Abfrage war.


    GELÖST
    Wenn ich zum Beispiel ein Tool schreibe, was ein Spiel öffnet (online) und automatisch die Accountdaten eingeben soll... sowas kriege ich ja hin. Nur bei dem Spiel kann ich es nicht mit WinWaitActive("spiel") machen, weil unten das schon lange geöffnet ist, aber das Spiel an sich noch nicht, also hat es da nie geklappt. Jetzt mache ich es so umständlich, dass das Programm solange nach 2 Farben auf dem Bildschirm tastet, die ich sonst nicht habe, die aber das Spiel hat, und dann fortfährt. Ist ne Lösung, die zwar wunderbar klappt, aber ein bisschen umständlich ist. Gibt es da eine andere Lösung?

    GELÖST
    Meine nächste Frage ^^ :
    Wie kriege ich so ein Fenster hin bzw. wie lautet der Code dafür, dass ich einen Ordner wählen kann:
    [Blockierte Grafik: http://img3.imagebanana.com/img/yy795qx/Screenshot12.01.200812_58_38.png]


    Danke für jede Hilfe ^^
    MfG

    6 Mal editiert, zuletzt von NoName (13. Januar 2008 um 00:54)

  • Ja, habs mit IniRead zuerst nicht hinbekommen, weil ich so nen blöden Fehler hatte und das nicht kapiert habe :cursing:
    War schon geklärt ;)
    Aber das jetzige oben ist noch offen...


    Hat keiner eine Lösung?

    Einmal editiert, zuletzt von NoName (11. Januar 2008 um 22:12)

  • öhhm einfach die statusleiste vom IE bzw. FireFox auslesen normalerweise steht da dann Fertig ^^
    oder is das en applet?... dann musst du einfach schaun was da in der Statusleiste vom Browser steht ;)
    Normalerweise verändert sie die Leiste wenn das applet geladen ist!

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • wenn es kein java spiel ist dann nimm einfach die gute alte ie.au3

    es gibt eine funktion die heisst _ieloadwait($oIE) die sollte dir weiterhelfen.

    genau das hätte ich jetzt auch vorgeschlagen.
    ansonsten machst du es einfach so wie du es schon hast (winwaitactive) und gibst einfach noch n paar sec mit sleep() dazu

  • Ok, das klappt auch,, danke.... Aber wie mache ich das, dass ich auch die InputBox in dem Fenster habe, wo mn den Pfad reinschreiben kann, und wo der immer ausgelesen wird, wenn man unten was in der Liste angeklickt hat?

  • hier mal ein kleines GUI-Beispiel:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    GUICreate( "Beispiel", 300, 100, 100, 100)
    $button = GUICtrlCreateButton( "...", 265, 10, 30, 25)
    $input = GUICtrlCreateInput( "", 10, 11, 250, 20)
    GUISetState(@SW_SHOW)
    While 1
    $msg = GUIGetMsg()
    Select
    Case $msg = $GUI_EVENT_CLOSE
    Exit
    Case $msg = $button
    $folder = FileSelectFolder( "Beispiel", "C:\", 5)
    GUICtrlSetData($input, $folder)
    EndSelect
    WEnd

    [/autoit]

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • öhhm sowas in der art?
    FileSelectFolder("egal", "C:\Programme\", 5)
    Oder ehr FileOpenDialog?
    ???

    Ja, genau FileOpenDialog meinte ich, danke...


    Hallo,

    entweder mit den Parametern der Funktion (siehe Hilfe, bin mir aber nicht ganz sicher, ob das genau das macht) oder mit einer eigenen GUI :).

    peethebee

    Ein GUI für diese Art von Tool mir zu umständlich ;)
    Dann bräuchte ich das GUI nur für diese Abfrage...

    Das gelöst und ich habe schon eine weitere Frage.
    Wusste das mal, weiß aber nicht mehr wie das geht.
    Beispiel:

    [autoit]

    If not IniRead("C:\test.ini","testinfo","id",0) Then
    $user=InputBox("World o Warcraft","Accountname von WoW")
    IniWrite("C:\test.ini","testinfo","id",$user)
    Endif

    [/autoit]


    Ihr wisst ja hoffentlich, was das bewirkt :)
    Wenn also in der Ini steht:

    Code
    [testinfo]
    id=


    dann fragt er die id neu ab.
    Wenn aber z.B. in der Ini steht:

    Code
    [testinfo]
    use=


    also das "r" fehlt, oder "user" erst gar nicht da steht, dann fragt er das nicht neu ab..., wie kriege ich das hin, dass er auch dann die InputBox startet, ich weiß, dass das nur ne Kleinigkeit an der If Abfrage war.

    Noch eine weitere Frage:

    [autoit]

    ;Wenn der Fehler kommt, dass das System die angegebene Datei nicht finden konnte ...

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

    $folder=FileOpenDialog("Ordner suchen","Arbeitsplatz","(*.*)")
    If Run($folder) ... then ;hier soll die Abfrage, die guckt ob oben benannter Fehler kommt: Wenn Fehler, dann MsgBox
    MsgBox(0,"Error","Verzeichnis oder Datei nicht vorhanden")
    EndIf

    [/autoit]


    Wie geht das?

    2 Mal editiert, zuletzt von NoName (13. Januar 2008 um 00:53)

  • ähhm also wenn die datei durch den FileOpenDialog ausgesucht wird... existiert sie ja schon es kann höchstens sein dass sie gerade schon verwendet wird dazu:

    So... also eigentlich müsste sich da windoof schon melden wenn die datei nicht geöffnet werden kann, so wars zumindest bei mir...

    MFG FireFlyer

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • So... also eigentlich müsste sich da windoof schon melden wenn die datei nicht geöffnet werden kann, so wars zumindest bei mir...

    MFG FireFlyer

    Ja, nur genau in dem Fall sollte er den Fehler erkennen und eine weitere FileOpenDialog rausgeben...

  • na dann benutz doch

    [autoit]

    $run = run(....)
    If $run = 0 Then
    FileOpendialog usw
    Endif

    [/autoit]


    Nicht getestet aber entweder so oder mit @error ==> Hilfe Lesen

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Das habe ich ja schon probiert. Das problem dabei ist, dass er, bevor er den neuen fileopendialog ... machen würde, der WinError kommt, der das Script automatisch beendet...

  • die Hilfe hilft da weiter ;)

    Zitat

    AutoItSetOption: RunErrorsFatal
    RunErrorsFatal Sets if the script should terminate with a fatal error if a Run/RunWait function fails due to bad paths/file not found/Bad login IDs:
    1 = fatal error (default)
    0 = silent error (@error set to 1)

    also

    [autoit]

    AutoItSetOption( "RunErrorsFatal", 0)

    [/autoit]

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Gelöst, danke, letztes Problem erstmal:

    [autoit]

    If not IniRead("C:\test.ini","testinfo","id",0) Then
    $user=InputBox("Window","Einfach was eingeben...")
    IniWrite("C:\test.ini","testinfo","id",$user)
    Endif

    [/autoit]


    Ihr wisst ja hoffentlich, was das bewirkt :)
    Wenn also in der Ini steht:

    Code
    [testinfo] 
    id=


    dann fragt er die id neu ab.
    Wenn aber z.B. in der Ini steht:

    Code
    [testinfo] 
    i=


    also das "d" fehlt, oder "id" erst gar nicht da steht, dann fragt er das nicht neu ab..., wie kriege ich das hin, dass er auch dann die InputBox startet, ich weiß, dass das nur ne Kleinigkeit an der If Abfrage war.

  • ungetestet und einfach mal so aus dem kopf:

    [autoit]

    $ini = IniRead("DEINEINI", "TESTSEKTION", "id=")
    If $ini = Default Then
    ;InputBox oder was auch immer
    Else
    ;keine ahnung.. was du da jetzt reinmachen willst
    EndIf

    [/autoit]

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D