Ich bin ein bisschen erstaunt, erst wollte keiner helfen und nun gibt es ein Combat wer die beste Lösung hat.
Beiträge von Raupi
-
-
Zitat von autoBert
ja jetzt muß nur noch einer per Hand nach rechnen, nicht das Raupi Recht hat. Ich dachte, als das Thema eröffnet wurde, es sei ein 2. Account von Raupi (er hat mal in der SB eine Andeutung in diese Richtung Rift gemacht) und er ist nur zu faul.
Wat? Was für eine Andeutung?
Mein 2. Account ist der einzigste im Forum der von Anfang an genehmigt war. RaupiClient.
Das mit den Leerzeichen hab ich von Anfang an rausgefunden, deshalb habe ich ja StringStripWS benutz um die Leerzeichen zu killen.
Die Leerzeichen entstehen wenn in einer Zeile kein x zum splitten enthalten ist. -
@autoBert, warum hast du deinen letzten Beitrag deaktiviert?
-
Zitat von Mars
Man wird ja wohl noch etwas diskutieren dürfen
Manchmal ist es schon okay, dass ein bisschen geschwätzt wird, wir sind schließlich keine Roboter die mit einem Input ohne irgendwas zu sagen direkt einen Output liefern.Wer hat behauptet, das man nicht diskutieren darf?
Btw, stelle ich gerade fest, das der Highlighter nich nur probleme mit den Kommentaren hat, sondern vollkommen unzureichend ist. UDF Befehle werden nicht eingefärbt. Da werde ich mich doch irgendwann mal dran machen müssen und versuchen das zu ändern
Obwohl ich nicht verstehe warum das so ist, die Keywords sind im Highlighter enthalten, hab nur keine Ahnung ob und wie Gun-Food das eingebunden hat. -
Ich sehe kein Problem darin eine Lokale Datei für sich selbst aufzubereiten. Für mich hat das keinerlei Einfluss auf das Spiel.
Hier mal mein Lösungsansatz, bin schon ein bisschen eingrostet, weil ich ewig nix mehr in AutoIt gemacht habe.Spoiler anzeigen
AutoIt
Alles anzeigen#include <Debug.au3> #include <File.au3> #include <Timers.au3> #include <Misc.au3> #include <ButtonConstants.au3> #include <MsgBoxConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <array.au3> #include <String.au3> Global $log = (@MyDocumentsDir & '\RIFT\log.txt') Global $plog = @ScriptDir & "\pickup.txt" FileOpen($plog, 2) Global $file = FileRead(@MyDocumentsDir & "\RIFT\log.txt") f1() Func f1() Local $aResult_u = StringRegExp($file, 'Ihr erhaltet: (.*)', 3) If Not @error Then _ArrayDisplay($aResult_u, "RegExp Ergebnis") Local $a_split[UBound($aResult_u)][2] For $h = 1 To UBound($aResult_u) - 1 $a_temp = StringSplit($aResult_u[$h], "x") For $j = 1 To $a_temp[0] $a_split[$h][$j - 1] = StringStripWS($a_temp[$j], 8) Next Next _ArrayDelete($a_split, 0) _ArraySort($a_split) Local $aTmp = _ArrayUnique($a_split, 0, 0, 0, 0) Local $aTmp2[UBound($aTmp)][2] For $i = 0 To UBound($aTmp) - 1 Local $icnt = 0 For $j = 0 To UBound($a_split) - 1 If $a_split[$j][0] = $aTmp[$i] Then If $a_split[$j][1] = "" Then $icnt += 1 Else $icnt += Number($a_split[$j][1]) EndIf EndIf $aTmp2[$i][0] = $aTmp[$i] $aTmp2[$i][1] = $icnt Next Next _FileWriteFromArray($plog, $aTmp2) _ArrayDisplay($aTmp2,"Resultat") EndIf f2($a_split) EndFunc ;==>f1 Func f2($a_split,$Titel="") _ArrayDisplay($a_split,$Titel) EndFunc ;==>f2
Achte bitte darauf, das man in Funktionen keine Globalen Variablen erstellen sollte. Das kann dir viel Ärger bereiten.
Edit: Um deine Fragen zu beantworten, du kannst dein Array mit _ArrayUnique filtern, damit mehrfachaufkommen aussotiert werden.
Wie man dann die Vorkommen zusammenzählt kannst du in meinem Script sehen, hab es jetzt extra nicht kommentiert damit du dich
damit auseinandersetzen musst
Wenn du dich fragen solltest, warum ich StringStripWS benutzt habe, lasse das ganze mal weg und sieh dir das Resultat deiner Beispielsdatei genau an -
Poste mal eine Beispielsdate deiner Daten, mit denen man testen kann.
Damit meine ich deine log.txt Datei. -
Kloppt euch nicht...
-
Schick mal eine Message an Gun-Food, nur er kann das ändern.
-
Ich habe für die 2 GB Karten je 99 Cent bezahlt. So Kleinkram bestelle ich immer beim freundlichen Chinesen.
Hab eh ein Dauerabo aus dem Chinaland, keine Woche ohne Post aus China,Taiwan, HongKong -
-
2 Gb sind für einen Arduino sowieso überdimensioniert. Selbst wenn du Jahrelang Daten schreibst, bekommst du die nicht voll
-
-
Der Reader ist ok, den selben habe ich auch. Besorge dir mal eine kleine Sd-Card für deinen Shield z.b. 2Gb. Habe gelesen das normale Sd-Cards > 2 GB in dem Shield rumspacken.
-
-
Ich habe verschiedene Reader für SD und Micro-SD. Welche SD-Karten hast du genau? SD? MicroSD? MicroSDHC?
-
-
Mit welchem Dateisystem ist die Karte formatiert?
Welche Libary benutzt du? Mit der Lib von Adafruit hat bei mir die Sd-Card überhaut nicht gefunzt.
Ich hatte auch immer Probleme mit SD-Karten über 4 GB.
Wenn das Shield überhaut nicht funzt, bestell dir einfach einen SD-Card Reader für den Arduino, hab für 2 Stück 1,70€ bezahlt.Und mal so als kleiner Tipp: Besorge dir ein paar Levelshifter, von den Teilen kann man nie genug rumfliegen haben.
Sd-Card, Funkmodule, Esp8266 usw. mögen es den gar nicht, wenn man sie mit dem 5 Volt Level des Arduino ansteuert.
Im umgekehrten Fall ist es kein Problem, der Arduino kommt auch mit 3,3 Volt Signalen zurecht.
Kannst natürlich statt einem Levelshifter auch einen Spannungsteiler benutzen. -
-
Eine Quelle habe ich leider nicht, aber suchen bei Ebay hilft meist.
Hoffentlich bist du da anders veranlagt als ich und verfällst nicht in einen Kaufrausch
Mittlerweile habe ich 9 33er Schubladenboxen mit Elekronikkram voll. -
-
Wenn du den Esp8266 benutzt, brauchst du den Arduino nicht mal. Fast alles was du mit dem Arduino machen kannst, kann auch der Esp8266 selbst.
Speichetechnisch ist das Modul besser bestückt als ein Arduino Mega 2560.
Mit AutoIt in Verbindung mit dem Arduino mache ich eigentlich nicht viel, ausser mal den Status auslesen.
Wenn du Daten von Esp8266 abrufen willst, geht das genauso, als wenn du Daten einer Webseite abrufst.
Das nervige dabei ist es den Webteil auf dem Esp zu proggen.
Schau dir mal diese Videos an: https://www.youtube.com/watch?v=0H1_9tu25HU und https://www.youtube.com/watch?v=LJ9TrVol3vA
Dort baut der Kerl eine Riesenuhr mit Websteuerung. Dort kannst du sehen was möglich ist und der Code ist auch zugängig.Btw, ich besitze nur 1 Original Arduino und zwar den UNO, alle anderen sind Clones. Für jeden Scheiß benutze ich einen eigenen Controller.
Einen Nano oder Mini Clone bekommt man für unter 2 € (incl. Versand),das ist so günstig das selbst ein ATMega328 sich nicht zu kaufen lohnt.
Der naggische Chip selbst kostet mehr als ein Modul, mal abgesehen von den horrenden Versandkosten in DE.
Die Teile liegen bei mir im Dutzend rum, man muss nur etwas länger warten, bis die Teile geliefert werden (3-5 Wochen).
Just for Fun hab ich aber schon selbst Arduinos zusammengebastelt, nur weil mir das rumgefrickel und gelöte eigentlich mehr Spaß macht als
die Programmierung des Controllers selbst -
-
Wenn du die Daten aus dem Arduino auslesen willst, kommt unter AutoIt nur die Seriell- Kommunikation in Frage.
Natürlich kannst du das auch per Http erledigen, dazu brauchst du dann aber einen Ethershield.
Nachteil bei einem Ethershield ist, das der Ethershield und die darauf enthaltene SD-Card beide SPI benutzen und die beiden Libs dazu nicht richtig arbeiten.
Also entweder die Sd-Card oder das Ethernet, beides gleichzeitig hab ich noch nie zum laufen bekommen.
Ich selbst benutze die Sd-Card des Etehershield nicht, sondern benutze einen extra SD-Card Reader der mittels Software SPI angesteuert wird.
Alternativ kannst du aber auch mal nach ESP8266 googlen, dieses Coole Modul hat mehr Power,Speicher usw als ein Arduino und kostet zwischen 3-5 €.
Den ESP8266 kann man mittlerweile sogar per Arduino IDE programmieren. Der ESP8266 hat zwar nicht so viele Aus- u. Eingänge wie ein Arduino, aber
auf die Anzahl kommt es eh nicht an. Per i2c kann man alles an den ESP hängen (LCD,Temperaturfühler, Eeprom usw) und braucht nur 2 Pins.
Habe z.Z. einen Esp8266 mit 4 Temperaturfühlern ,2 LCD Displays 1024 kbit EEprom und diversen Tastern die alle an 2 Pins hängen.
Die Taster und Lcds hängen alle an PFC8574 Portexpandern, die Anzahl der I/O Pins ist nur durch die zur Verfügung stehenden Geräteadressen begrenzt. -
-
Für mich hört sich das eher wie ein Fehler im Script an und nicht Murks bei WinWaitActive.
Poste mal das Script, das der Recorder erzeugt hat. Glaskugel reiben bringt wenig.... -
Schau dir mal GUISetBkColor an.
-
Frage am Rande: Das Highlighten der Syntax in meinem Eintrag war nicht korrekt. Was könnte ich falsch gemacht haben?
Du hast nichts falsch gemacht, der Syntaxhighlighter spinnt manchmal.
-
Um das ganze leichter zu machen, wo genau trifft der Fehler auf (Funktion, Zeilennummer) ?
Deine Variablennamen sind alles andere als leicht zu lesen und ich habe deine Verzeichnisstruktur nicht.Edit: Benutze mal diesen StrinFormat:
StringFormat("%02s", GUICtrlRead($InpAngAlt3)
AutoIt
Alles anzeigen#NoTrayIcon #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_Icon=Ordner1.ico #AutoIt3Wrapper_Outfile=Ordner-Springer2016.exe #AutoIt3Wrapper_UseUpx=y #AutoIt3Wrapper_Res_Comment=Direkt zu den Ordnern springen #AutoIt3Wrapper_Res_Description=Direkt zu den Ordnern springen #AutoIt3Wrapper_Res_Fileversion=1.6.0.1 #AutoIt3Wrapper_Res_LegalCopyright=Copyright © 2016 #AutoIt3Wrapper_Res_Language=1031 #AutoIt3Wrapper_AU3Check_Stop_OnWarning=y #AutoIt3Wrapper_AU3Check_Parameters=-w 1, -w 2, -w 3, -w 4 #AutoIt3Wrapper_Run_Tidy=y #AutoIt3Wrapper_Run_Obfuscator=y #Obfuscator_Parameters=/striponly #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** #Region ; ~~ Includes ~~ #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <GuiEdit.au3> #include <WinAPI.au3> #include <WindowsConstants.au3> #EndRegion ; ~~ Includes ~~ #Region ; ~~ Global-Variables ~~ Global $OrdAngJa, $OrdAufJa, $OrdJahrAA, $Fel, $OrdNix, $LukAA, $OrdLeiNix Global $ljk = StringTrimLeft(@YEAR, 2) - 1 ; letztes Jahr kurz minus 1 Jahr Global $djk = StringTrimLeft(@YEAR, 2) ; dieses Jahr kurz, -2 Stellen, xx15 $OrdAngJa = "G:\Dateien\Kunden\ANGEBOT " ; & @YEAR & "\" $OrdAufJa = "G:\Dateien\Kunden\AUFTRAG " ; & @YEAR & "\" $OrdJahrAA = "G:\Dateien\alte Aufträge\Kunden\AUFTRAG " ; & @YEAR & "\" $Fel = "Fehlermeldung!" $OrdNix = "Huhu, der Ordner ist nicht da!" $LukAA = "Im alte-Aufträge-Ordner nachsehen?" $OrdLeiNix = "Auch hier ist er leider nicht!" Global $hSendFocus #EndRegion ; ~~ Global-Variables ~~ #Region ; ~~ GUI - Ordner-Springer ~~ $hGui = GUICreate("Ordner-Springer " & @YEAR, 400, 120) If Not @Compiled Then GUISetIcon('Ordner1.ico') GUICtrlCreateLabel('', 0, 0, 200, 120, 0x01 + 0x0200) GUICtrlSetState(-1, $GUI_DISABLE) GUICtrlSetBkColor(-1, 0xF2FBD2) ;~ ~~~~~~~ GUICtrlCreateLabel('', 200, 0, 200, 120, 0x01 + 0x0200) GUICtrlSetState(-1, $GUI_DISABLE) GUICtrlSetBkColor(-1, 0xDAFF01) GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 24, 10, 150, 13) GUICtrlSetColor(-1, 0x47474B) GUICtrlSetBkColor(-1, 0xF2FBD2) GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 24, 65, 150, 13) GUICtrlSetColor(-1, 0x47474B) GUICtrlSetBkColor(-1, 0xF2FBD2) GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 225, 10, 150, 13) GUICtrlSetBkColor(-1, 0xDAFF01) GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 225, 65, 150, 13) GUICtrlSetBkColor(-1, 0xDAFF01) GUICtrlCreateLabel("|", 200, 1, 2, 120, 0x11) Global $InpAngAlt1, $InpAngAlt2, $InpAngAlt3, $Jump2AngljNum, $Jump2AngAlt $InpAngAlt1 = GUICtrlCreateInput("01", 24, 30, 20, 20) GUICtrlSetLimit(-1, 2) GUICtrlCreateLabel("-", 46, 33, 4, 13) GUICtrlSetColor(-1, 0x4E4F56) GUICtrlSetBkColor(-1, 0xF2FBD2) $InpAngAlt2 = GUICtrlCreateInput("", 52, 30, 32, 20) GUICtrlSetLimit(-1, 4) GUICtrlCreateLabel("-", 86, 33, 4, 13) GUICtrlSetColor(-1, 0x4E4F56) GUICtrlSetBkColor(-1, 0xF2FBD2) $InpAngAlt3 = GUICtrlCreateInput($ljk, 92, 30, 20, 20) GUICtrlSetLimit(-1, 2) $Jump2AngljNum = GUICtrlCreateButton("1", 122, 29, 23, 23, 0x0040) GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner 20xx springen.") GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0) $Jump2AngAlt = GUICtrlCreateButton("2", 149, 29, 23, 23, 0x0040) GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner 20xx springen.") GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 4, 0) Global $InpAufAlt1, $InpAufAlt2, $InpAufAlt3, $Jump2AFljNum, $Jump2AltAA $InpAufAlt1 = GUICtrlCreateInput("02", 24, 85, 20, 20) GUICtrlSetLimit(-1, 2) GUICtrlCreateLabel("-", 46, 88, 4, 13) GUICtrlSetColor(-1, 0x4E4F56) GUICtrlSetBkColor(-1, 0xF2FBD2) $InpAufAlt2 = GUICtrlCreateInput("", 52, 85, 32, 20) GUICtrlSetLimit(-1, 4) GUICtrlCreateLabel("-", 86, 88, 4, 13) GUICtrlSetColor(-1, 0x4E4F56) GUICtrlSetBkColor(-1, 0xF2FBD2) $InpAufAlt3 = GUICtrlCreateInput($ljk, 92, 85, 20, 20) GUICtrlSetLimit(-1, 2) $Jump2AFljNum = GUICtrlCreateButton("3", 122, 84, 23, 23, 0x0040) GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner 20xx springen.") GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0) $Jump2AltAA = GUICtrlCreateButton("4", 149, 84, 23, 23, 0x0040) GUICtrlSetTip(-1, "Zum selber Suchen in den alte-Aufträge-Ordner 20xx springen.") GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0) Global $InpAngNeu, $Jump2ANdjNum, $Jump2AngJa $InpAngNeu = GUICtrlCreateInput("", 253, 30, 35, 20) GUICtrlSetLimit(-1, 4) GUICtrlCreateLabel("01 -", 232, 33, 20, 13) GUICtrlSetColor(-1, 0x4E4F56) GUICtrlSetBkColor(-1, 0xDAFF01) GUICtrlCreateLabel("-" & $djk, 292, 33, 20, 13) GUICtrlSetColor(-1, 0x4E4F56) GUICtrlSetBkColor(-1, 0xDAFF01) $Jump2ANdjNum = GUICtrlCreateButton("5", 315, 29, 23, 23, 0x0040) GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner " & @YEAR & " springen.") GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0) $Jump2AngJa = GUICtrlCreateButton("6", 343, 29, 23, 23, 0x0040) GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner " & @YEAR & " springen.") GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 4, 0) Global $InpAufNeu, $Jump2AFdjNum, $Jump2AFdjAA $InpAufNeu = GUICtrlCreateInput("", 253, 85, 35, 20) GUICtrlSetLimit(-1, 4) GUICtrlCreateLabel("02 -", 232, 88, 20, 13) GUICtrlSetColor(-1, 0x4E4F56) GUICtrlSetBkColor(-1, 0xDAFF01) GUICtrlCreateLabel("-" & $djk, 292, 88, 20, 13) GUICtrlSetColor(-1, 0x4E4F56) GUICtrlSetBkColor(-1, 0xDAFF01) $Jump2AFdjNum = GUICtrlCreateButton("7", 315, 84, 23, 23, 0x0040) GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner " & @YEAR & " springen.") GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0) $Jump2AFdjAA = GUICtrlCreateButton("8", 343, 84, 23, 23, 0x0040) GUICtrlSetTip(-1, "Zum selber Suchen in den alte-Aufträge-Ordner " & @YEAR & " springen.") GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0) Global $hReturnDummy = GUICtrlCreateDummy() GUICtrlSetOnEvent($hReturnDummy, "_Enter") Global $Accels[1][2] = [["{ENTER}", $hReturnDummy]] GUISetAccelerators($Accels) GUISetState() GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND") GUICtrlSetState($InpAufNeu, $GUI_FOCUS) While 1 $msg = GUIGetMsg() Switch $msg Case $GUI_EVENT_CLOSE ExitLoop Case $Jump2AngljNum _goAngAlt() Case $Jump2AngAlt ;Local $IAA = GUICtrlRead($InpAngAlt3) Local $IAA = StringFormat("%02s", GUICtrlRead($InpAngAlt3)) $OrdAngAlt = $OrdAngJa & "20" & $IAA & "\" ShellExecute($OrdAngJa & "20" & $IAA & "\", "", "", "open") Case $Jump2AFljNum _goAufAlt() Case $Jump2AltAA ShellExecute($OrdJahrAA & "20" & GUICtrlRead($InpAufAlt3) & "\", "", "", "open") Case $Jump2ANdjNum _goAngNeu() Case $Jump2AngJa ShellExecute($OrdAngJa & @YEAR & "\", "", "", "open") Case $Jump2AFdjNum _goAufNeu() Case $Jump2AFdjAA ShellExecute($OrdJahrAA & @YEAR & "\", "", "", "open") Case $hReturnDummy _Enter() EndSwitch WEnd #EndRegion ; ~~ GUI - Ordner-Springer ~~ #Region ; ~~ Funktionen ~~ Func _Enter() Switch $hSendFocus Case $InpAngAlt1 _goAngAlt() _GUICtrlEdit_SetSel($InpAngAlt1, 0, 2) Case $InpAngAlt2 _goAngAlt() _GUICtrlEdit_SetSel($InpAngAlt2, 0, 4) Case $InpAngAlt3 _goAngAlt() _GUICtrlEdit_SetSel($InpAngAlt3, 0, 2) Case $InpAufAlt1 _goAufAlt() _GUICtrlEdit_SetSel($InpAufAlt1, 0, 2) Case $InpAufAlt2 _goAufAlt() _GUICtrlEdit_SetSel($InpAufAlt2, 0, 4) Case $InpAufAlt3 _goAufAlt() _GUICtrlEdit_SetSel($InpAufAlt3, 0, 2) Case $InpAngNeu _goAngNeu() _GUICtrlEdit_SetSel($InpAngNeu, 0, 4) Case $InpAufNeu _goAufNeu() _GUICtrlEdit_SetSel($InpAufNeu, 0, 4) EndSwitch EndFunc ;==>_Enter Func _goAngAlt() Local $IAA = StringFormat("%02s", GUICtrlRead($InpAngAlt3)) Local $AngAltGanzNum = GUICtrlRead($InpAngAlt1) & '-' & GUICtrlRead($InpAngAlt2) & '-' & $IAA $OrdAngAlt = $OrdAngJa & "20" & $IAA & "\" MsgBox(0, "Ausgabe", $OrdAngAlt & @CRLF & _ $AngAltGanzNum) ;~ If Not FileExists($OrdAngAlt & $AngAltGanzNum) Then ;~ MsgBox(64, $Fel, $OrdNix, 2) ;~ Else ;~ ShellExecute($AngAltGanzNum, "", $OrdAngAlt, "open") ;~ EndIf EndFunc ;==>_goAngAlt Func _goAufAlt() Local $AufAltGanzNum = GUICtrlRead($InpAufAlt1) & '-' & GUICtrlRead($InpAufAlt2) & '-' & GUICtrlRead($InpAufAlt3) Local $OrdAufAlt = $OrdAufJa & "20" & GUICtrlRead($InpAufAlt3) & "\" Local $OrdAltAA = $OrdJahrAA & "20" & GUICtrlRead($InpAufAlt3) & "\" If Not FileExists($OrdAufAlt & $AufAltGanzNum) Then If MsgBox(262212, $Fel, $OrdNix & @CRLF & @CRLF & $LukAA) = 7 Then Else If Not FileExists($OrdAltAA & $AufAltGanzNum) Then MsgBox(64, $Fel, $OrdLeiNix, 2) Else ShellExecute($AufAltGanzNum, "", $OrdAltAA, "open") EndIf EndIf Else ShellExecute($AufAltGanzNum, "", $OrdAufAlt, "open") EndIf EndFunc ;==>_goAufAlt Func _goAngNeu() Local $AngNeuAlNum = '01-' & GUICtrlRead($InpAngNeu) & '-' & $djk If Not FileExists($OrdAngJa & $AngNeuAlNum) Then MsgBox(64, $Fel, $OrdNix, 2) Else ShellExecute($AngNeuAlNum, "", $OrdAngJa, "open") EndIf EndFunc ;==>_goAngNeu Func _goAufNeu() Local $AufNeuAlNum = '02-' & GUICtrlRead($InpAufNeu) & '-' & $djk If Not FileExists($OrdAufJa & $AufNeuAlNum) Then If MsgBox(262212, $Fel, $OrdNix & @CRLF & @CRLF & $LukAA) = 7 Then Else If Not FileExists($OrdJahrAA & @YEAR & "\" & $AufNeuAlNum) Then MsgBox(64, $Fel, $OrdLeiNix, 2) Else ShellExecute($AufNeuAlNum, "", $OrdJahrAA & @YEAR & "\", "open") EndIf EndIf Else ShellExecute($AufNeuAlNum, "", $OrdAufJa, "open") EndIf EndFunc ;==>_goAufNeu Func _WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam) Local $hWndFrom = $ilParam Local $iCode = _WinAPI_HiWord($iwParam) Local $hWndEdit1 = GUICtrlGetHandle($InpAngAlt1) Local $hWndEdit2 = GUICtrlGetHandle($InpAngAlt2) Local $hWndEdit3 = GUICtrlGetHandle($InpAngAlt3) Local $hWndEdit4 = GUICtrlGetHandle($InpAufAlt1) Local $hWndEdit5 = GUICtrlGetHandle($InpAufAlt2) Local $hWndEdit6 = GUICtrlGetHandle($InpAufAlt3) Local $hWndEdit7 = GUICtrlGetHandle($InpAngNeu) Local $hWndEdit8 = GUICtrlGetHandle($InpAufNeu) Switch $hWndFrom Case $hWndEdit1, $hWndEdit2, $hWndEdit3, $hWndEdit4, $hWndEdit5, $hWndEdit6, $hWndEdit7, $hWndEdit8; Switch $iCode Case $EN_SETFOCUS Switch $hWndFrom Case $hWndEdit1 $hSendFocus = $InpAngAlt1 Case $hWndEdit2 $hSendFocus = $InpAngAlt2 Case $hWndEdit3 $hSendFocus = $InpAngAlt3 Case $hWndEdit4 $hSendFocus = $InpAufAlt1 Case $hWndEdit5 $hSendFocus = $InpAufAlt2 Case $hWndEdit6 $hSendFocus = $InpAufAlt3 Case $hWndEdit7 $hSendFocus = $InpAngNeu Case $hWndEdit8 $hSendFocus = $InpAufNeu EndSwitch Case Else EndSwitch EndSwitch Return $GUI_RUNDEFMSG EndFunc ;==>_WM_COMMAND #EndRegion ; ~~ Funktionen ~~
Edit 2: Ich hab bei StringFormat gepennt und vergessen die führende 0 einzubauen.
Beim 1. Script von mir einfach "%02i" anstatt "%2i" bei StringFormat verwenden, alternativ auch "%02s" das kommt aufs gleiche raus, da Autoit Int und String gleich behandelt.