1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Fintan

Beiträge von Fintan

  • Während Suche Splashtext anzeigen, Splashtext geht nicht mehr zu

    • Fintan
    • 26. Februar 2016 um 20:04

    Ach so meinst du das, probiere ich mal aus...

  • Während Suche Splashtext anzeigen, Splashtext geht nicht mehr zu

    • Fintan
    • 26. Februar 2016 um 19:43

    Ich meine so natürlich...

    AutoIt
    SplashTextOn("", "Suche läuft...", 220, 40, 730, 388, 21)
            $timer = TimerInit() ; Suche nach Ordner AN-01-XXXX-8
    	Local $SuchOrdAngAlt = _FO_FolderSearch($OrdAngAlt2, '*' & $AngAltGanzNum, True, 3, 0, 0)
    	$timer = Round(TimerDiff($timer) / 1000, 2) & ' sec'
    
    
    	If $SuchOrdAngAlt = "" Then
                SplashOff()
                MsgBox(262144, $Inf, $OrdNix, 1)
    	Else
                SplashOff()
    	    ShellExecute($SuchOrdAngAlt, "", $OrdAngAlt2, "open")
                Sleep(500)
    	    MsgBox(262144, $Inf, '' & @LF & _
    			'Suchzeit = ' & $timer & @LF & @LF & _
    			$OrdAngAlt2 & @LF & @LF & _
    			$SuchOrdAngAlt, 8)
            Return
    	EndIf
    Alles anzeigen
  • Während Suche Splashtext anzeigen, Splashtext geht nicht mehr zu

    • Fintan
    • 26. Februar 2016 um 19:32

    Ich habe doch eine IF.. Then.. Else Schleife.
    Dann müßte ich ja 2 SplashOffs machen, 1. vor der MSBox und die 2. vor der ShellExecute, weil ich weiß ja nicht ob überhaupt ein Ordner gefunden wird!

  • Während Suche Splashtext anzeigen, Splashtext geht nicht mehr zu

    • Fintan
    • 26. Februar 2016 um 18:38

    Ja, während der Func _FO_FolderSearch soll der SplashScreen gezeigt werden, weil bei der Funktion in der Firma langsam läuft und nichts angezeigt wird.

  • Während Suche Splashtext anzeigen, Splashtext geht nicht mehr zu

    • Fintan
    • 24. Februar 2016 um 20:09

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

    AutoIt
    $timer = TimerInit()
    	Local $SuchOrdAngAlt = _FO_FolderSearch($OrdAngAlt2, '*' & $AngAltGanzNum, True, 0, 0, 0) 
    	$timer = Round(TimerDiff($timer) / 1000, 2) & ' sec'
            While 1
    		SplashTextOn("", "Suche läuft...", 220, 40, 730, 388, 21)
    		If $SuchOrdAngAlt = "" Then
    			MsgBox(262144, $Inf, $OrdNix, 0.3)
    		Else
    			ShellExecute($SuchOrdAngAlt, "", $OrdAngAlt2, "open")
    			Sleep(500)
    			MsgBox(262144, $Inf, '' & @LF & _
    					'Suchzeit = ' & $timer & @LF & @LF & _
    					$OrdAngAlt2 & @LF & @LF & _
    					$SuchOrdAngAlt, 8)
    		EndIf
    		SplashOff()
    	WEnd
    Alles anzeigen
  • Während Suche Splashtext anzeigen, Splashtext geht nicht mehr zu

    • Fintan
    • 24. Februar 2016 um 18:11

    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?

    AutoIt
    $timer = TimerInit()
    	Local $SuchOrdAngAlt = _FO_FolderSearch($OrdAngAlt2, '*' & $AngAltGanzNum, True, 0, 0, 0) ; Suche nach Ordner 'AN-01-XXXX-XX'
    	$timer = Round(TimerDiff($timer) / 1000, 2) & ' sec'
    
    
    	While $SuchOrdAngAlt = ""
    		Do
    			SplashTextOn("", "Suche läuft...", 220, 40, 730, 388, 21)
    		Until $SuchOrdAngAlt > ""
    		SplashOff()
    	WEnd
    
    
    	If $SuchOrdAngAlt = "" Then
    		MsgBox(262144, $Inf, $OrdNix, 0.3)
    	Else
    		ShellExecute($SuchOrdAngAlt, "", $OrdAngAlt2, "open")
    		Sleep(500)
    		MsgBox(262144, $Inf, '' & @LF & _
    				'Suchzeit = ' & $timer & @LF & @LF & _
    				$OrdAngAlt2 & @LF & @LF & _
    				$SuchOrdAngAlt, 8)
    	EndIf
    Alles anzeigen
  • If..Then Verschachtelung umwandeln in Select..Case oder Switch..

    • Fintan
    • 10. Februar 2016 um 19:57

    @ 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...

  • [Gelöst] If ...Then Schleife mit Stringlen 2 Varianten konstruieren...

    • Fintan
    • 10. Februar 2016 um 19:37

    Hi Raupi

    Nur noch als Rückmeldung.
    StringFormat("%02d", GUICtrlRead($InpAngAlt3) funktioniert, hatte nur meine 2. Variable falsch konstruiert...
    und ist auf jeden Fall kürzer wie meine 'gschreibsel'.

  • If..Then Verschachtelung umwandeln in Select..Case oder Switch..

    • Fintan
    • 3. Februar 2016 um 18:09

    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 ...

  • If..Then Verschachtelung umwandeln in Select..Case oder Switch..

    • Fintan
    • 2. Februar 2016 um 19:53

    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...

  • Fehler im AutoIt-wiki entdeckt

    • Fintan
    • 2. Februar 2016 um 17:42

    Hey danke, das ging dann mal schnell ...

  • If..Then Verschachtelung umwandeln in Select..Case oder Switch..

    • Fintan
    • 2. Februar 2016 um 17:31

    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.

    Spoiler anzeigen
    AutoIt: If..Then funktion
    Func _goAngAlt()
    	Local $IAngA = GUICtrlRead($InpAngAlt3) ; Jahr auslesen '8' oder '11'
    	Local $AngAltGanzNum = GUICtrlRead($InpAngAlt1) & '-' & GUICtrlRead($InpAngAlt2) & '-' & $IAngA ; = AngebotsNummer 'XX-XXXX-X' oder 'XX-XXXX-XX'
    	Local $OrdAngAlt = $OrdAngJa & "20" & $IAngA & "\" ; Pfad zusammen setzen "G:\Dateien\Kunden\ANGEBOT " +'20'+'8' oder '11'
    	If (StringLen($IAngA) < 2) Then $OrdAngAlt = $OrdAngJa & "20" & "0" & $IAngA & "\" ; wenn nur '8' dann '20'+'0'+'8'
    	Local $OrdAngAlt2 = $OrdJahrAA & "20" & $IAngA & "\" ; Pfad zusammen setzen "G:\Dateien\alte Aufträge\Kunden\ANGEBOT " +'20'+'8' oder '11'
    	If (StringLen($IAngA) < 2) Then $OrdAngAlt2 = $OrdJahrAA & "20" & "0" & $IAngA & "\" ;  ; wenn nur '8' dann '20'+'0'+'8'
    
    
    	If Not FileExists($OrdAngAlt) Or Not FileExists($OrdAngAlt & $AngAltGanzNum) Then ; normale 'ANGEBOT 20XX' oder 'ANGEBOT 20XX' + '01-XXXX-XX'
    		If MsgBox(262144, $Inf, $LukAA, 0.3) = 1 Then
    		Else
    			If Not FileExists($OrdAngAlt2 & $AngAltGanzNum) Then ; alte Aufträge 01-2222-8
    				If MsgBox(262144, $Inf, $LukAA, 0.3) = 1 Then
    				Else
    					Local $SuchOrdAngAlt = _FO_FolderSearch($OrdAngAlt2, '*' & $AngAltGanzNum, True, 0, 0, 0) ; Suche nach Ordner 'AN-01-XXXX-XX'
    					If Not (StringLen($SuchOrdAngAlt) > 10) Then ; alte Aufträge Suche: AN-01-2222-8
    						If MsgBox(262144, $Inf, $LukAA, 0.3) = 1 Then
    						Else
    							Local $SuchAngAlt2 = _FO_FolderSearch($OrdAufJa & "20" & $IAngA, $AngAltGanzNum, True, 2, 0, 0) ; Suche nach Ordner '01-XXXX-14' im AUFTRAG 2014
    							If $SuchAngAlt2 = "" Then ; alte Aufträge Suche 'AUFTRAG 20XX' +Suchfund
    								If MsgBox(262144, $Inf, $LukAA, 0.3) = 1 Then
    								Else
    									Local $SuchAngAlt3 = _FO_FolderSearch($OrdAufJa & "20" & $IAngA + 1, $AngAltGanzNum, True, 2, 0, 0) ; Suche nach Ordner '01-XXXX-14' im AUFTRAG 2015
    									If $SuchAngAlt3 = "" Then ; alte Aufträge Suche 'AUFTRAG 20XX'+1
    										MsgBox(262208, 'Such-Info', 'Ordner Leider Nicht da!' & @LF & @LF & _
    												'Such-Ordner = ' & $OrdAufJa & "20" & $IAngA + 1 & @LF & @LF & _
    												'Such-Nummer = ' & $AngAltGanzNum, 11)
    									Else
    										ShellExecute($SuchAngAlt3, "", $OrdAufJa & "20" & $IAngA + 1, "open") ; öffnet alte Aufträge Suche 'AUFTRAG 20XX' + 1 +Suchfund +'01-XXXX-XX'
    										Sleep(600)
    										MsgBox(262144, 'Info', '' & @LF & _
    												$OrdAufJa & "20" & $IAngA + 1 & @LF & @LF & _
    												$SuchAngAlt3, 11)
    									EndIf
    								EndIf
    							Else
    								ShellExecute($SuchAngAlt2, "", $OrdAufJa & "20" & $IAngA, "open") ; öffnet alte Aufträge Suche 'AUFTRAG 20XX' +Suchfund +'01-XXXX-XX'
    								Sleep(600)
    								MsgBox(262144, 'Info', '' & @LF & _
    										$OrdAufJa & "20" & $IAngA & @LF & @LF & _
    										$SuchAngAlt2, 11)
    							EndIf
    						EndIf
    					Else
    						ShellExecute($SuchOrdAngAlt, "", $OrdAngAlt2, "open") ; öffnet alte Aufträge Suche 'ANGEBOT 200X' + 'AN-01-XXXX-XX'
    						Sleep(600)
    						MsgBox(262144, 'Info', '' & @LF & _
    								$OrdAngAlt2 & @LF & @LF & _
    								$SuchOrdAngAlt, 11)
    					EndIf
    				EndIf
    			Else
    				ShellExecute($AngAltGanzNum, "", $OrdAngAlt2, "open") ; öffnet alte Aufträge 'ANGEBOT 20XX' + '01-XXXX-XX'
    			EndIf
    		EndIf
    	Else
    		ShellExecute($AngAltGanzNum, "", $OrdAngAlt, "open") ; öffnet normale 'ANGEBOT 20XX' + '01-XXXX-XX'
    	EndIf
    EndFunc   ;==>_goAngAlt
    Alles anzeigen
  • Fehler im AutoIt-wiki entdeckt

    • Fintan
    • 2. Februar 2016 um 17:00

    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

  • [Gelöst] If ...Then Schleife mit Stringlen 2 Varianten konstruieren...

    • Fintan
    • 5. Januar 2016 um 08:20

    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

  • [Gelöst] If ...Then Schleife mit Stringlen 2 Varianten konstruieren...

    • Fintan
    • 5. Januar 2016 um 00:06

    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)

  • [Gelöst] If ...Then Schleife mit Stringlen 2 Varianten konstruieren...

    • Fintan
    • 4. Januar 2016 um 20:26

    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.

  • [Gelöst] Inputs auslesen Scriptfehler? Ordner-Springer

    • Fintan
    • 28. Dezember 2015 um 19:27

    Aaahhh ja, vielen Dank Bioshade, das war der richtige Hinweis.
    Ich frage die Eingabefelder in den jeweiligen Funktionen ab und jetzt funktioniert es wie es soll, super.

    Für das Forum habe ich den Pfad verändert, mit der Script-Veränderung findet er die Ordner.

  • [Gelöst] Inputs auslesen Scriptfehler? Ordner-Springer

    • Fintan
    • 28. Dezember 2015 um 14:05

    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.

  • Maximale Zeichenlänge für ein Input

    • Fintan
    • 26. Januar 2014 um 18:01
    [autoit]

    GUICtrlCreateInput("", 53, 30, 35, 20)
    GUICtrlSetLimit(-1, 4); begrenzt das Input auf 4

    [/autoit]

    Edit: Oscar war schneller...

  • Dekompilieren für Eigenbedarf nicht mehr möglich? Alternative?

    • Fintan
    • 23. Januar 2014 um 19:35

    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.

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™