Beiträge von Fintan

    Ich meine so natürlich...

    Hm ok, äh so bleibt der Splashtext auch da...
    Wie müßt man das schreiben, dass der Splashtext zu geht?

    In der Firma ist der PC langsam, die Suche mit _FO_FolderSearch läuft länger, deswegen würde ich gerne,
    während der Suche ein Splashtext anzeigen lassen, das geht auch, aber es schließt nicht mehr!
    Nur was ist falsch?

    @ Kanashius
    Hm, ich weiß nicht wie/wo ich meine Pfade in dein Script schreiben soll, weil es 2 verschiede sind.
    G:\Dateien\Kunden\ANGEBOT \ AUFTRAG
    G:\Dateien\alte daten\Kunden\ANGEBOT \ AUFTRAG


    Ich brauche schon die _FO_FolderSearch Suchfunktion, damit kann ich dann Ordner suchen die einen Unbekannten Ordner enthalten kann.
    G:\Dateien\Kunden\AUFTRAG 2014\02-XXXX-14\01-8888-14


    Meine konstruierten Pfade sind etwas verwirrend, aber die brauche ich so konstruiert, damit das Script funktioniert...

    Kanashius, ah du hast dir so eine Mühe gemacht, danke.
    Hilfe lesen habe ich kein Problem, eher mit der Umsetzung, bin also wirklich noch Anfänger.


    Also mich würde nur die _goAngAlt Funktion in Zeile 232 im Script interessieren, alle anderen kann man lassen.Suchfunktion habe ich ja schon mit _FO_FolderSearch, hängt am Ende vom Script, mir ging es wirlich nur um die Umformulierung.
    Habe gedacht, das sieht man im Script-fetzen von Oben.


    Und die 01-1111-12 wird mit 3 Inputs ausgelesen, worauf dann die einzelnen Suchen begründen ...

    Interessante Möglichkeit, mich würde aber lieber die zuvor gefragte Select..case Variante interessieren..
    Ich bräuchte halt ein konkretes beispiel mit einer meinen If--then Schleifen, damit ich verstehe wie sowas geht.


    Wie man vielleicht erkennen kann, will ich mit verschiedenen Eingaben mehrere Ordner durchsuchen.


    - mit '01-1111-8' soll 'Angebot 2008' + 'alte Angebot 2008' oder 'alte Angebot 2008' mit 'AN-01-1111-8' -Ordnern durchsucht werden.
    - mit '01-1111-12' soll 'Angebot 2012' + 'alte Angebot 2012' oder 'Auftrag 2012' oder 'Auftrag 2013' durchsucht werden.



    Das sind schon 5 Ordnersuchvarianten...

    Ich habe da eine verschachtelte If..Then Schleife, die sehr unübersichlich geworden ist und würde die gerne umwandeln
    und habs zwar im Wiki gelesen, weiß aber nicht wie ich meine so umwandeln kann.

    Habe jetzt kein extra Wiki-Beitrag gesehen, falls es hier falsch einfach verschieben...


    Beim durchlesen sind mir folgende Fehler im Text aufgefallen:


    Syntax von If-Abfragen:
    ...zu verlgichen = zu vergleichen
    ...ausgeführt wurdewar = ausgeführt wurde
    ...und mehrt = und kehrt


    im Beispielkasten:
    vor dem letzten EndIf, zahl groß = Zahl


    Rückgabewerte von Funktionen:
    ...ob die Ausfürhung = Ausführung

    Guten Morgen Raupi


    Danke für deine Mühe, jeztzt geht es doch mit Stringlen,
    ich hatte nur eine Variable falsch plaziert in Zeile 153, weswegen es nicht klappte.


    Case $Jump2AngAlt
    Local $IAA = GUICtrlRead($InpAngAlt3) ; ließt die Zahl 9 aus
    $OrdAngAlt = $OrdAngJa & "20" & $IAA & "\" ; bei 2 Zahlen (10) = Angebot 2010
    If (StringLen($IAA) < 2) Then $OrdAngAlt = $OrdAngJa & "20" & "0" & $IAA & "\" ; wenn nur 1 Zahl (9), dann addierts Null dazu = Angebot 2009
    ShellExecute($OrdAngJa & "20" & $IAA & "\", "", "", "open") <- falsche Variable so nicht
    ShellExecute($OrdAngAlt, "", "", "open") ; so funktionierts jetzt


    manchmal muß man einfach noch mal eine Nacht drüber schlafen

    und in Zeile 202 dann so:


    ; wie in meinem Beispiel Oben
    Func _goAngAlt()


    Local $IAA = GUICtrlRead($InpAngAlt3) ; ließt die Zahl 9 aus
    Local $AngAltGanzNum = GUICtrlRead($InpAngAlt1) & '-' & GUICtrlRead($InpAngAlt2) & '-' & $IAA ; setzt 01-1234-9 zusammen
    $OrdAngAlt = $OrdAngJa & "20" & $IAA & "\" ; bei 2 Zahlen (10) = Angebot 2010
    If (StringLen($IAA) < 2) Then $OrdAngAlt = $OrdAngJa & "20" & "0" & $IAA & "\" ; wenn nur 1 Zahl (9), dann addiert Null dazu = Angebot 2009


    If Not FileExists($OrdAngAlt & $AngAltGanzNum) Then
    MsgBox(64, $Fel, $OrdNix, 2)
    Else
    ShellExecute($AngAltGanzNum, "", $OrdAngAlt, "open")
    EndIf
    EndFunc ;==>_goAngAlt

    Hallo Raupi


    Hm, triffts leider nicht ganz, jetzt kommt bei 1Zahl als Ergebnis "Angebot 20 9" also ein Leerzeichen drin, somit findet er den Ordner nicht,
    bei 2 Zahlen funktionierts.
    gebraucht werden aber 2 variablen mit der Abfrage bei Eingabe von 1Zahl, einmal mit aufgefüllter Null "09", einmal nur so"9"


    So soll es sein bei Eingabe 1Zahl, z.B.: 9, "...\Angebot 2009\01-1234-9:
    $OrdAngAlt immer mit Null sein = "Angebot 2009", weil einen Ordner "Angebot 20 9" gibts nicht!
    $AngAltGanzNum = 01-1234-9 (alle vor 2010 nur 1Zahl als letztes)


    So soll es bei Eingabe 2Zahlen sein, z.B.: 10, "...\Angebot 2010\01-1234-10":
    $OrdAngAlt ließt 2 stellige Zahl aus, also 10 = "Angebot 2010"
    $AngAltGanzNum = 01-1234-10 (alle nach 2009 2Zahlen als letztes)

    Hallo



    Vorweg, ich nutze noch: autoit3.exe - AU3Check (3.3.10.0), AutoIt3Wrapper v.2.1.4.3, SciTE v.3.5.1.0
    Bin in der Zeit von Damals stehen geblieben... Evtl. könnt Ihr mir deswegen nicht weiterhelfen, aber ich probiere es mal.


    Ich will mit 'stringlen' ein Input prüfen und müßte jetzt eine If...Then schleife konstruieren, da weiß ich nicht weiter.


    Im Hauptordner sind "Angebot 2009", Unterordner 01-1234-9 (alle vor 2010 nur 1Zahl als letztes)
    Im Hauptordner sind "Angebot 2010", Unterordner 01-1234-10 (alle nach 2010 2Zahlen als letztes)


    - Wenn im Input $IAA nur 1 Zahl eingegeben wurde, dann soll eine Null vorne angehängt werden
    - Wenn im Input $IAA 2 Zahlen eingegeben wurden, dann soll die Zahl so belassen werden
    - $OrdAngAlt muß als Ausgabe also immer mit Null sein, also "Angebot 2009" weil einen Ordner "Angebot 209" gibts nicht!
    - Wobei $AngAltGanzNum auch nur eine Zahl als letztes haben kann 01-1234-9 (alle vor 2010 nur 1Zahl als letztes)





    Hier mal das ganze Script
    Ich habe mir das in Zeile 203 mit einer MSGBox ausgeben lassen um zu sehen was ich erhalte.
    evtl. kann man ja auch eine Globale Varialble machen, weil ich muß das ganze auch in Zeile 150 machen.





    Wenn was unklar ist fragt.

    Hallo



    Vorweg, ich nutze noch: autoit3.exe - AU3Check (3.3.10.0), AutoIt3Wrapper v.2.1.4.3, SciTE v.3.5.1.0
    Bin in der Zeit von Damals stehen geblieben... Evtl. könnt Ihr mir deswegen nicht weiterhelfen, aber ich probiere es mal.



    Ich habe Eingabefelder in die Oberfläche hinzu gefügt und jetzt bringt er mir zwar keine Fehlermeldungen, aber der Ordner-Springer funktioniert nicht!
    Ich vermute es liegt an den Zeilen 225 + 235, das da die Zahlen nicht ausgelesen werden können, aber ich weiß jetzt nicht mehr weiter.



    Fehler: Wenn ich in die Inputs (Zeile 80,90 + 100,110) Zahlen vorgebe, dann springt er mit Zahleneingabe und diesen Vorgaben in die Ordner.
    Wenn ich aber keine Vorgaben mache, springt er nirgends hin, obwohl die Ordner da sind, sondern bringt gleich die MSGBox, dass nix gefunden wurde!



    An was kann das liegen, was ist da falsch?



    Fragt, wenn ich mich unklar ausgedrückt habe, danke schon mal.

    Ein Blick in die Hilfedatei von SciTE4AutoIt3 erklärt auch noch folgendes:
    #Obfuscator_Parameters=/MergeOnly oder /MO
    Will produce a scriptfile as AUT2EXE includes in the Compiled EXE. This allows you to find the proper linenumber when errors are reported.


    Ein Blick in Jos AutoIt3Wrapper_beta_SciTE4AutoIt3 läßt auf ein undokumentierten Parameter blicken:
    #Obfuscator_Parameters=/report


    Was der Parameter macht, müßte man mal ausprobieren... vielleicht hilft das dann weiter.