Danke dir Raupi, besonders für die ausführliche Beschreibung, top.
Wie GUICtrlCreateInput aufteilen in Vorgabewert und Eingabewert? für Ordner-Jumper.
-
- [ gelöst ]
-
Fintan -
5. November 2011 um 22:57 -
Geschlossen -
Erledigt
-
-
- Offizieller Beitrag
Ich denke dein Hauptproblem liegt am Logischen Begreifen deiner If Strukturen.
[autoit]
Hier noch mal ein kommentiertes Beispiel:Func _go2()
[/autoit]
If Not FileExists($Pfad2 & '02-' & GUICtrlRead($Input2) & '-11') Then; If Abfrage 1
If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then;If Abfrage 2
Return; Muß nicht unbedingt sein, aber das Abarbeiten der Restlichen Funktion ist bei Nein Sinnlos. Also kann die Funktiuon hier beendet werden
Else ;Else der 2. Abfrage
If Not FileExists($Pfad2a & '02-' & GUICtrlRead($Input2) & '-11') Then; 3. If Abfrage
MsgBox(64, $m1, $m3, 4); Anzeige das File nicht exitsiert
Else; Else 3. Abfrage
ShellExecute('02-' & GUICtrlRead($Input2) & '-11', "", $Pfad2a, "open")
EndIf; Ende 3. Abfrage
EndIf; Ende 2. Abfrage
Else; Else 1. Abfrage
ShellExecute('02-' & GUICtrlRead($Input2) & '-11', "", $Pfad2, "open"); Diese Zeile
EndIf;Ende 1. Abfrage
EndFunc
Du kannst sehen, das man das Return nicht unbedingt braucht. -
Tolle Ausführung danke, könnte man direkt mit in die deutsche Hilfe übernehmen.
Würde bestimmt so manschen Anderem auch helfen. -
Hi
Ich probiere gerade in einem neuen Tab noch neue Ordner erstellen zu lassen, das soweit klappt, aber noch nicht so wie ich mir erhoffe.1. Ich kann im Tab "neue Ordner" nicht in das Inputfeld "von" reinklicken!
2. meine Abfragen stimmen zwar und werden nicht als Fehler angezeigt, funktionieren aber nicht so wie ich mir erhoffe.Was ist da nur falsch?
[autoit]Case $Create_Ang
[/autoit][autoit][/autoit][autoit]
Local $ReadAngVon = GUICtrlRead($InputAngVon)
Local $ReadAngBis = GUICtrlRead($InputAngBis)
Local $LenVon = StringLen($ReadAngVon) ;~ Länge, gibt Anzahl zurück
Local $LenBis = StringLen($ReadAngBis)
Local $ZahlVon = StringIsDigit($ReadAngVon) ;~ Zahl -Erfolg = 1, Fehler = 0
Local $ZahlBis = StringIsDigit($ReadAngBis)For $AngEingZahl = $ReadAngVon To $ReadAngBis
[/autoit]
$AngOrdnerNum = $OrdAng12 & "01-" & $AngEingZahl & "-12"
If $ZahlVon <1 And $ZahlBis <1 Then
MsgBox(48, "Falsche Eingabe", "Bitte 4 Zahlen eingeben!", 2)
Else
If $LenVon <4 And $LenBis <4 Then
MsgBox(48, "Falsche Eingabe", "Bitte 4 Zahlen eingeben!", 2)
Else
If FileExists($AngOrdnerNum) Then
MsgBox(262212, "Fehler!", "Datei " & $AngOrdnerNum & " existiert schon!")
Else
EndIf
DirCreate($AngOrdnerNum)
EndIf
EndIf
NextHier ist das ganze Script:
Spoiler anzeigen
[autoit];~ #NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]
#RequireAdmin
#include <EditConstants.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <GuiEdit.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>Local $Pfad1, $Pfad2, $Pfad2a, $OrdAng12, $OrdAuf12, $Pfad4a, $m1, $m2, $m2a, $m3
[/autoit] [autoit][/autoit] [autoit]
$Pfad1 = "C:\Temp\ANGEBOT 2011\"
$Pfad2 = "C:\Temp\AUFTRAG 2011\"
$Pfad2a = "C:\Temp\alte Aufträge 2011\"
$OrdAng12 = "C:\Temp\ANGEBOT 2012\"
$OrdAuf12 = "C:\Temp\AUFTRAG 2012\"
$Pfad4a = "C:\Temp\alte Aufträge 2012\"
$m1 = "Fehlermeldung!"
$m2 = "Der Ordner ist nicht da!"
$m2a = "Wollen Sie im CD-Brennen-Ordner nachsehen?"
$m3 = "Leider ist er auch hier nicht da!"Global $hSendFocus
[/autoit] [autoit][/autoit] [autoit]
$hGui = GUICreate("Ordner-Springer", 400, 145);~ ~~~ Tab ~~~~~~~ Ordner-Springer ~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]If Not @Compiled Then GUISetIcon('Ordner1.ico')
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateTab(0, 0, 400, 145)
GUICtrlCreateTabItem("Ordner-Springer")
GUICtrlCreateLabel('', 200, 21, 198, 121, 0x01+0x0200)
GUICtrlSetState(-1,$GUI_DISABLE)
GUICtrlSetBkColor (-1,0xD6FA83)
GUICtrlCreateLabel ("|", 200,21,2,124,0x11)Local $Jump1, $Jump1a, $Input1
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 25, 35, 150, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Input1 = GUICtrlCreateInput("", 63, 55, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("01-", 42, 58, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
GUICtrlCreateLabel("-11", 102, 58, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Jump1 = GUICtrlCreateButton("1", 125, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump1a = GUICtrlCreateButton("2", 153, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0);4Local $Input2, $Jump2, $Jump2a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 25, 90, 150, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Input2 = GUICtrlCreateInput("", 63, 110, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("02-", 42, 113, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
GUICtrlCreateLabel("-11", 102, 113, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Jump2 = GUICtrlCreateButton("3", 125, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump2a = GUICtrlCreateButton("4", 153, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den alten Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0)Local $Input3, $Jump3, $Jump3a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 230, 35, 150, 13)
$Input3 = GUICtrlCreateInput("", 268, 55, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("01-", 247, 58, 20, 13)
GUICtrlCreateLabel("-12", 307, 58, 20, 13)
$Jump3 = GUICtrlCreateButton("5", 330, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump3a = GUICtrlCreateButton("6", 358, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)Local $Input4, $Jump4, $Jump4a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 230, 90, 150, 13)
$Input4 = GUICtrlCreateInput("", 268, 110, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("02-", 247, 113, 20, 13)
GUICtrlCreateLabel("-12", 307, 113, 20, 13)
$Jump4 = GUICtrlCreateButton("7", 330, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump4a = GUICtrlCreateButton("8", 358, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den alten Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0);~ ~~~ Tab ~~~~~~~ Neue Ordner ~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateTabItem("Neue Ordner")
[/autoit] [autoit][/autoit] [autoit]
;~ GUICtrlSetState(-1, $GUI_SHOW); will be display first
GUICtrlCreateLabel('', 1, 21, 398, 122, 0x01+0x0200)
GUICtrlSetState(-1,$GUI_DISABLE)
GUICtrlSetBkColor (-1,0xD6FA83)Local $InputAngVon, $InputAngBis, $Create_Ang
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("Angebots-Nummer eingeben von z.B. 1001 - 1010 :", 60, 35, 280, 13)
GUICtrlCreateLabel("von:", 32, 57, 25, 13)
GUICtrlCreateLabel("01-", 60, 57, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$InputAngVon = GUICtrlCreateInput("", 78, 53, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 115, 57, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
GUICtrlCreateLabel("bis:", 142, 57, 25, 13)
GUICtrlCreateLabel("01-", 165, 57, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$InputAngBis = GUICtrlCreateInput("", 182, 53, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 219, 57, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Create_Ang = GUICtrlCreateButton("Ordner erstellen", 247, 52, 85, 23, 0x0040)
GUICtrlSetTip(-1, "Wie links die Nummern eingegeben, werden im Angebots-Ordner die neuen Ordner erstellt.")
$Jump2OrdAng12 = GUICtrlCreateButton("9", 340, 52, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zur Kontrolle den ANGEBOTS-Ordner 2012 öffnen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)Local $InputAufVon, $InputAufBis, $Create_Auf
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("Auftrags-Nummer eingeben von z.B. 2001 - 2010 :", 60, 90, 280, 13)
GUICtrlCreateLabel("von:", 32, 117, 25, 13)
GUICtrlCreateLabel("02-", 60, 117, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$InputAufVon = GUICtrlCreateInput("", 78, 113, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 115, 117, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
GUICtrlCreateLabel("bis:", 142, 117, 25, 13)
GUICtrlCreateLabel("02-", 165, 117, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$InputAufBis = GUICtrlCreateInput("", 182, 113, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 219, 117, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Create_Auf = GUICtrlCreateButton("Ordner erstellen", 247, 112, 85, 23, 0x0040)
GUICtrlSetTip(-1, "Wie links die Nummern eingegeben, werden im Auftrags-Ordner die neuen Ordner erstellt.")
$Jump2OrdAuf12 = GUICtrlCreateButton("10", 340, 112, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zur Kontrolle den AUFTRAGS-Ordner 2012 öffnen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)GUISetState()
[/autoit] [autoit][/autoit] [autoit]
Global $hReturnDummy = GUICtrlCreateDummy()
GUICtrlSetOnEvent($hReturnDummy, "_Enter")
Global $Accels[1][2] = [["{ENTER}", $hReturnDummy]]
GUISetAccelerators($Accels)
GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND")
GUICtrlSetState($Input4, $GUI_FOCUS)While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Switch $msgCase $GUI_EVENT_CLOSE
[/autoit] [autoit][/autoit] [autoit]
ExitLoopCase $Jump1
[/autoit] [autoit][/autoit] [autoit]
_go1()Case $Jump1a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad1, "", "", "open")Case $Jump2
[/autoit] [autoit][/autoit] [autoit]
_go2()Case $Jump2a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad2a, "", "", "open")Case $Jump3
[/autoit] [autoit][/autoit] [autoit]
_go3()Case $Jump3a
[/autoit] [autoit][/autoit] [autoit]
_OpenAngOrdner12()Case $Jump4
[/autoit] [autoit][/autoit] [autoit]
_go4()Case $Jump4a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad4a, "", "", "open")Case $Create_Ang
[/autoit] [autoit][/autoit] [autoit]
Local $ReadAngVon = GUICtrlRead($InputAngVon)
Local $ReadAngBis = GUICtrlRead($InputAngBis)
Local $LenVon = StringLen($ReadAngVon) ;~ Länge, gibt Anzahl zurück
Local $LenBis = StringLen($ReadAngBis)For $AngEingZahl = $ReadAngVon To $ReadAngBis
[/autoit] [autoit][/autoit] [autoit]
$AngOrdnerNum = $OrdAng12 & "01-" & $AngEingZahl & "-12"
If $LenVon <4 And $LenBis <4 Then
MsgBox(48, "Falsche Eingabe", "Bitte 4 Zahlen eingeben!", 2)
Else
If FileExists($AngOrdnerNum) Then
MsgBox(262212, "Fehler!", "Datei " & $AngOrdnerNum & " existiert schon!")
Else
EndIf
DirCreate($AngOrdnerNum)
EndIf
NextCase $Create_Auf
[/autoit] [autoit][/autoit] [autoit]
For $AufEingZahl = GUICtrlRead($InputAufVon) To GUICtrlRead($InputAufBis)
$AufOrdnerNum = $OrdAuf12 & "02-" & $AufEingZahl & "-12"
If FileExists($AufOrdnerNum) Then
MsgBox(262212, "Fehler!", "Datei " & $AufOrdnerNum & " existiert schon!")
Else
DirCreate($AufOrdnerNum)
EndIf
Next
Case $Jump2OrdAng12
_OpenAngOrdner12()Case $Jump2OrdAuf12
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($OrdAuf12, "", "", "open")Case $hReturnDummy
[/autoit] [autoit][/autoit] [autoit]
_Enter()
EndSwitch
WEndFunc _Enter()
[/autoit] [autoit][/autoit] [autoit]
Switch $hSendFocus
Case $Input1
_go1()
_GUICtrlEdit_SetSel($Input1, 0, 4)
Case $Input2
_go2()
_GUICtrlEdit_SetSel($Input2, 0, 4)
Case $Input3
_go3()
_GUICtrlEdit_SetSel($Input3, 0, 4)
Case $Input4
_go4()
_GUICtrlEdit_SetSel($Input4, 0, 4)
EndSwitch
EndFunc ;==>_EnterFunc _go1()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($Pfad1 & '01-' & GUICtrlRead($Input1) & '-11') Then
MsgBox(64, $m1, $m2, 2)
Else
ShellExecute('01-' & GUICtrlRead($Input1) & '-11', "", $Pfad1, "open")
EndIf
EndFuncFunc _go2()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($Pfad2 & '02-' & GUICtrlRead($Input2) & '-11') Then
If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then
Else
If Not FileExists($Pfad2a & '02-' & GUICtrlRead($Input2) & '-11') Then
MsgBox(64, $m1, $m3, 2)
Else
ShellExecute('02-' & GUICtrlRead($Input2) & '-11', "", $Pfad2a, "open")
EndIf
EndIf
Else
ShellExecute('02-' & GUICtrlRead($Input2) & '-11', "", $Pfad2, "open")
EndIf
EndFuncFunc _go3()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($OrdAng12 & '01-' & GUICtrlRead($Input3) & '-12') Then
MsgBox(64, $m1, $m2, 2)
Else
ShellExecute('01-' & GUICtrlRead($Input3) & '-12', "", $OrdAng12, "open")
EndIf
EndFuncFunc _go4()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($OrdAuf12 & '02-' & GUICtrlRead($Input4) & '-12') Then
If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then
Else
If Not FileExists($Pfad4a & '02-' & GUICtrlRead($Input4) & '-12') Then
MsgBox(64, $m1, $m3, 2)
Else
ShellExecute('02-' & GUICtrlRead($Input4) & '-12', "", $Pfad4a, "open")
EndIf
EndIf
Else
ShellExecute('02-' & GUICtrlRead($Input4) & '-12', "", $OrdAuf12, "open")
EndIf
EndFuncFunc _OpenAngOrdner12()
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($OrdAng12, "", "", "open")
EndFuncFunc _WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit]
Local $hWndFrom = $ilParam
Local $iCode = _WinAPI_HiWord($iwParam)
Local $hWndEdit1 = GUICtrlGetHandle($Input1)
Local $hWndEdit2 = GUICtrlGetHandle($Input2)
Local $hWndEdit3 = GUICtrlGetHandle($Input3)
Local $hWndEdit4 = GUICtrlGetHandle($Input4)
Switch $hWndFrom
Case $hWndEdit1, $hWndEdit2, $hWndEdit3, $hWndEdit4;
Switch $iCode
Case $EN_SETFOCUS
Switch $hWndFrom
Case $hWndEdit1
$hSendFocus = $Input1
Case $hWndEdit2
$hSendFocus = $Input2
Case $hWndEdit3
$hSendFocus = $Input3
Case $hWndEdit4
$hSendFocus = $Input4
EndSwitch
Case Else
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_COMMAND -
- Offizieller Beitrag
Ganz einfacher Fehler, dein Label überdeckt dein Input.
Habe einen Kommentar in Zeile 129 geschrieben.Spoiler anzeigen
[autoit]#Region - Timestamp
[/autoit] [autoit][/autoit] [autoit]
; 2012-02-26 19:04:37
#EndRegion;~ #NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]
#RequireAdmin
#include <EditConstants.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <GuiEdit.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>Local $Pfad1, $Pfad2, $Pfad2a, $OrdAng12, $OrdAuf12, $Pfad4a, $m1, $m2, $m2a, $m3
[/autoit] [autoit][/autoit] [autoit]
$Pfad1 = "C:\Temp\ANGEBOT 2011\"
$Pfad2 = "C:\Temp\AUFTRAG 2011\"
$Pfad2a = "C:\Temp\alte Aufträge 2011\"
$OrdAng12 = "C:\Temp\ANGEBOT 2012\"
$OrdAuf12 = "C:\Temp\AUFTRAG 2012\"
$Pfad4a = "C:\Temp\alte Aufträge 2012\"
$m1 = "Fehlermeldung!"
$m2 = "Der Ordner ist nicht da!"
$m2a = "Wollen Sie im CD-Brennen-Ordner nachsehen?"
$m3 = "Leider ist er auch hier nicht da!"Global $hSendFocus
[/autoit] [autoit][/autoit] [autoit]
$hGui = GUICreate("Ordner-Springer", 400, 145);~ ~~~ Tab ~~~~~~~ Ordner-Springer ~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]If Not @Compiled Then GUISetIcon('Ordner1.ico')
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateTab(0, 0, 400, 145)
GUICtrlCreateTabItem("Ordner-Springer")
GUICtrlCreateLabel('', 200, 21, 198, 121, 0x01+0x0200)
GUICtrlSetState(-1,$GUI_DISABLE)
GUICtrlSetBkColor (-1,0xD6FA83)
GUICtrlCreateLabel ("|", 200,21,2,124,0x11)Local $Jump1, $Jump1a, $Input1
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 25, 35, 150, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Input1 = GUICtrlCreateInput("", 63, 55, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("01-", 42, 58, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
GUICtrlCreateLabel("-11", 102, 58, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Jump1 = GUICtrlCreateButton("1", 125, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump1a = GUICtrlCreateButton("2", 153, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0);4Local $Input2, $Jump2, $Jump2a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 25, 90, 150, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Input2 = GUICtrlCreateInput("", 63, 110, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("02-", 42, 113, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
GUICtrlCreateLabel("-11", 102, 113, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Jump2 = GUICtrlCreateButton("3", 125, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump2a = GUICtrlCreateButton("4", 153, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den alten Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0)Local $Input3, $Jump3, $Jump3a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 230, 35, 150, 13)
$Input3 = GUICtrlCreateInput("", 268, 55, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("01-", 247, 58, 20, 13)
GUICtrlCreateLabel("-12", 307, 58, 20, 13)
$Jump3 = GUICtrlCreateButton("5", 330, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump3a = GUICtrlCreateButton("6", 358, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)Local $Input4, $Jump4, $Jump4a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 230, 90, 150, 13)
$Input4 = GUICtrlCreateInput("", 268, 110, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("02-", 247, 113, 20, 13)
GUICtrlCreateLabel("-12", 307, 113, 20, 13)
$Jump4 = GUICtrlCreateButton("7", 330, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump4a = GUICtrlCreateButton("8", 358, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den alten Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0);~ ~~~ Tab ~~~~~~~ Neue Ordner ~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateTabItem("Neue Ordner")
[/autoit] [autoit][/autoit] [autoit]
;~ GUICtrlSetState(-1, $GUI_SHOW); will be display first
GUICtrlCreateLabel('', 1, 21, 398, 122, 0x01+0x0200)
GUICtrlSetState(-1,$GUI_DISABLE)
GUICtrlSetBkColor (-1,0xD6FA83)Local $InputAngVon, $InputAngBis, $Create_Ang
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("Angebots-Nummer eingeben von z.B. 1001 - 1010 :", 60, 35, 280, 13)
GUICtrlCreateLabel("von:", 32, 57, 25, 13)
GUICtrlCreateLabel("01-", 60, 57, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$InputAngVon = GUICtrlCreateInput("", 78, 53, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 115, 57, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
GUICtrlCreateLabel("bis:", 142, 57, 25, 13)
GUICtrlCreateLabel("01-", 165, 57, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$InputAngBis = GUICtrlCreateInput("", 182, 53, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 219, 57, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Create_Ang = GUICtrlCreateButton("Ordner erstellen", 247, 52, 85, 23, 0x0040)
GUICtrlSetTip(-1, "Wie links die Nummern eingegeben, werden im Angebots-Ordner die neuen Ordner erstellt.")
$Jump2OrdAng12 = GUICtrlCreateButton("9", 340, 52, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zur Kontrolle den ANGEBOTS-Ordner 2012 öffnen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)Local $InputAufVon, $InputAufBis, $Create_Auf
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("Auftrags-Nummer eingeben von z.B. 2001 - 2010 :", 60, 90, 280, 13)
GUICtrlCreateLabel("von:", 32, 117, 40, 13);Hier ist der Fehler. Das Label überdeckt das Input Breite auf 40 geändert
GUICtrlCreateLabel("02-", 60, 117, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$InputAufVon = GUICtrlCreateInput("", 78, 113, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 115, 117, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
GUICtrlCreateLabel("bis:", 142, 117, 25, 13)
GUICtrlCreateLabel("02-", 165, 117, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$InputAufBis = GUICtrlCreateInput("", 182, 113, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 219, 117, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Create_Auf = GUICtrlCreateButton("Ordner erstellen", 247, 112, 85, 23, 0x0040)
GUICtrlSetTip(-1, "Wie links die Nummern eingegeben, werden im Auftrags-Ordner die neuen Ordner erstellt.")
$Jump2OrdAuf12 = GUICtrlCreateButton("10", 340, 112, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zur Kontrolle den AUFTRAGS-Ordner 2012 öffnen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)GUISetState()
[/autoit] [autoit][/autoit] [autoit]
Global $hReturnDummy = GUICtrlCreateDummy()
GUICtrlSetOnEvent($hReturnDummy, "_Enter")
Global $Accels[1][2] = [["{ENTER}", $hReturnDummy]]
GUISetAccelerators($Accels)
GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND")
GUICtrlSetState($Input4, $GUI_FOCUS)While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Switch $msgCase $GUI_EVENT_CLOSE
[/autoit] [autoit][/autoit] [autoit]
ExitLoopCase $Jump1
[/autoit] [autoit][/autoit] [autoit]
_go1()Case $Jump1a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad1, "", "", "open")Case $Jump2
[/autoit] [autoit][/autoit] [autoit]
_go2()Case $Jump2a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad2a, "", "", "open")Case $Jump3
[/autoit] [autoit][/autoit] [autoit]
_go3()Case $Jump3a
[/autoit] [autoit][/autoit] [autoit]
_OpenAngOrdner12()Case $Jump4
[/autoit] [autoit][/autoit] [autoit]
_go4()Case $Jump4a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad4a, "", "", "open")Case $Create_Ang
[/autoit] [autoit][/autoit] [autoit]
Local $ReadAngVon = GUICtrlRead($InputAngVon)
Local $ReadAngBis = GUICtrlRead($InputAngBis)
Local $LenVon = StringLen($ReadAngVon) ;~ Länge, gibt Anzahl zurück
Local $LenBis = StringLen($ReadAngBis)
Local $ZahlVon = StringIsDigit($ReadAngVon) ;~ Zahl -Erfolg = 1, Fehler = 0
Local $ZahlBis = StringIsDigit($ReadAngBis)For $AngEingZahl = $ReadAngVon To $ReadAngBis
[/autoit] [autoit][/autoit] [autoit]
$AngOrdnerNum = $OrdAng12 & "01-" & $AngEingZahl & "-12"
If $ZahlVon <1 And $ZahlBis <1 Then
MsgBox(48, "Falsche Eingabe", "Bitte 4 Zahlen eingeben!", 2)
Else
If $LenVon <4 And $LenBis <4 Then
MsgBox(48, "Falsche Eingabe", "Bitte 4 Zahlen eingeben!", 2)
Else
If FileExists($AngOrdnerNum) Then
MsgBox(262212, "Fehler!", "Datei " & $AngOrdnerNum & " existiert schon!")
Else
EndIf
DirCreate($AngOrdnerNum)
EndIf
EndIf
NextCase $Create_Auf
[/autoit] [autoit][/autoit] [autoit]
For $AufEingZahl = GUICtrlRead($InputAufVon) To GUICtrlRead($InputAufBis)
$AufOrdnerNum = $OrdAuf12 & "02-" & $AufEingZahl & "-12"
If FileExists($AufOrdnerNum) Then
MsgBox(262212, "Fehler!", "Datei " & $AufOrdnerNum & " existiert schon!")
Else
DirCreate($AufOrdnerNum)
EndIf
Next
Case $Jump2OrdAng12
_OpenAngOrdner12()Case $Jump2OrdAuf12
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($OrdAuf12, "", "", "open")Case $hReturnDummy
[/autoit] [autoit][/autoit] [autoit]
_Enter()
EndSwitch
WEndFunc _Enter()
[/autoit] [autoit][/autoit] [autoit]
Switch $hSendFocus
Case $Input1
_go1()
_GUICtrlEdit_SetSel($Input1, 0, 4)
Case $Input2
_go2()
_GUICtrlEdit_SetSel($Input2, 0, 4)
Case $Input3
_go3()
_GUICtrlEdit_SetSel($Input3, 0, 4)
Case $Input4
_go4()
_GUICtrlEdit_SetSel($Input4, 0, 4)
EndSwitch
EndFunc ;==>_EnterFunc _go1()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($Pfad1 & '01-' & GUICtrlRead($Input1) & '-11') Then
MsgBox(64, $m1, $m2, 2)
Else
ShellExecute('01-' & GUICtrlRead($Input1) & '-11', "", $Pfad1, "open")
EndIf
EndFuncFunc _go2()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($Pfad2 & '02-' & GUICtrlRead($Input2) & '-11') Then
If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then
Else
If Not FileExists($Pfad2a & '02-' & GUICtrlRead($Input2) & '-11') Then
MsgBox(64, $m1, $m3, 2)
Else
ShellExecute('02-' & GUICtrlRead($Input2) & '-11', "", $Pfad2a, "open")
EndIf
EndIf
Else
ShellExecute('02-' & GUICtrlRead($Input2) & '-11', "", $Pfad2, "open")
EndIf
EndFuncFunc _go3()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($OrdAng12 & '01-' & GUICtrlRead($Input3) & '-12') Then
MsgBox(64, $m1, $m2, 2)
Else
ShellExecute('01-' & GUICtrlRead($Input3) & '-12', "", $OrdAng12, "open")
EndIf
EndFuncFunc _go4()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($OrdAuf12 & '02-' & GUICtrlRead($Input4) & '-12') Then
If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then
Else
If Not FileExists($Pfad4a & '02-' & GUICtrlRead($Input4) & '-12') Then
MsgBox(64, $m1, $m3, 2)
Else
ShellExecute('02-' & GUICtrlRead($Input4) & '-12', "", $Pfad4a, "open")
EndIf
EndIf
Else
ShellExecute('02-' & GUICtrlRead($Input4) & '-12', "", $OrdAuf12, "open")
EndIf
EndFuncFunc _OpenAngOrdner12()
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($OrdAng12, "", "", "open")
EndFuncFunc _WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit]
Local $hWndFrom = $ilParam
Local $iCode = _WinAPI_HiWord($iwParam)
Local $hWndEdit1 = GUICtrlGetHandle($Input1)
Local $hWndEdit2 = GUICtrlGetHandle($Input2)
Local $hWndEdit3 = GUICtrlGetHandle($Input3)
Local $hWndEdit4 = GUICtrlGetHandle($Input4)
Switch $hWndFrom
Case $hWndEdit1, $hWndEdit2, $hWndEdit3, $hWndEdit4;
Switch $iCode
Case $EN_SETFOCUS
Switch $hWndFrom
Case $hWndEdit1
$hSendFocus = $Input1
Case $hWndEdit2
$hSendFocus = $Input2
Case $hWndEdit3
$hSendFocus = $Input3
Case $hWndEdit4
$hSendFocus = $Input4
EndSwitch
Case Else
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_COMMAND -
Hm, jetzt sehe ich´s auch, wirklich ein leichtsinniger Fehler, danke.
Zu den Ordner erstellen, ich kann mit meinem Script von 01-1000-12 bis 01-1006-12 Ordner usw. erstellen.
Aber wenn nur ein Buchstabe mit dabei ist, werden unter Umständen schon mal über 1000 falsche Ordner erstellt!
Das wollte ich mit meinen Abfragen StringLen und StringDigit eigentlich verhindern. Und wenn ein oder mehr Buchstaben mit
dabei sind, kommen keine Meldungen, das die Nummern falsch sind! Sondern erstellen dann über 1000 Ordner!Man müßte irgendwie eine andere Abfrage und Vergleiche haben, nur wie weiß ich nicht!
-
- Offizieller Beitrag
Wenn du nur Zahlen haben willst dann kannst du für dein Input auch den Style $ES_NUMBER benutzen.
Damit erübrigt sich schon mal der Fehler mit den Buchstaben.
Ansonsten hab ich deine Problemerklärung nicht verstanden. -
Raupi, danke für deine Hilfe.
Ich probiere es mit deinen Hinweisen und melde mich dann noch mal.
Jetzt muß ich aber erstmal Pause machen.Danke.
-
Style $ES_NUMBER funktioniert gut.
Jetzt bleibt nur noch meine fehlerhafte Abfrage.wie es sein soll:
es wird Ausversehen nur 3 statt 4 Zahlen eingegeben, eine MsgBox kommt mit Fehlermeldung.wie es nicht ist:
es wird ausversehen nur 3 statt 4 Zahlen eingegeben, keine MsgBox kommt und es werden über 1000 Ordner erstellt.und das will ich mit meiner Abfrage unterbinden:
[autoit]Local $ReadAngVon = GUICtrlRead($InputAngVon)
[/autoit][autoit][/autoit][autoit]
Local $ReadAngBis = GUICtrlRead($InputAngBis)
Local $LenVon = StringLen($ReadAngVon) ;~ Länge, gibt Anzahl zurück
Local $LenBis = StringLen($ReadAngBis)If $LenVon <4 And $LenBis <4 Then
[/autoit]
MsgBox(48, "Falsche Eingabe", "Bitte 4 Zahlen eingeben!", 2)
Else
....gesamte Script weiter oben.
Wieso klappt meine Abfrage nicht?
-
- Offizieller Beitrag
Sei bitte so gut und hänge immer in dem Post, in welchem du was fragst dein Script an.
Ich habe kein Schimmer wo jetzt dein aktuelles Script ist, habe nirgend gelesen das du $ES_NUMBER benutzt, du sagst aber das es funzt.
Das Script aud Post 4 kann es nicht sein, da ist der Labelfehler immer noch drin und ausserdem ist ein EndIf zuviel.
Also postet im nächsten Post noch mal dein Script, so wie es jetzt ist. -
Sorry, ist wirklich unübersichtlich so.
Hier also das Script mit letztem Stand:
Spoiler anzeigen
[autoit];~ #NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]
#RequireAdmin
#include <EditConstants.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <GuiEdit.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>Local $Pfad1, $Pfad2, $Pfad2a, $OrdAng12, $OrdAuf12, $Pfad4a, $m1, $m2, $m2a, $m3
[/autoit] [autoit][/autoit] [autoit]
$Pfad1 = "C:\Temp\ANGEBOT 2011\"
$Pfad2 = "C:\Temp\AUFTRAG 2011\"
$Pfad2a = "C:\Temp\alte Aufträge 2011\"
$OrdAng12 = "C:\Temp\ANGEBOT 2012\"
$OrdAuf12 = "C:\Temp\AUFTRAG 2012\"
$Pfad4a = "C:\Temp\alte Aufträge 2012\"
$m1 = "Fehlermeldung!"
$m2 = "Der Ordner ist nicht da!"
$m2a = "Wollen Sie im CD-Brennen-Ordner nachsehen?"
$m3 = "Leider ist er auch hier nicht da!"Global $hSendFocus
[/autoit] [autoit][/autoit] [autoit]
$hGui = GUICreate("Ordner-Springer", 400, 145);~ ~~~ Tab ~~~~~~~ Ordner-Springer ~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]If Not @Compiled Then GUISetIcon('Ordner1.ico')
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateTab(0, 0, 400, 145)
GUICtrlCreateTabItem("Ordner-Springer")
GUICtrlCreateLabel('', 200, 21, 198, 121, 0x01+0x0200)
GUICtrlSetState(-1,$GUI_DISABLE)
GUICtrlSetBkColor (-1,0xD6FA83)
GUICtrlCreateLabel ("|", 200,21,2,124,0x11)Local $Jump1, $Jump1a, $Input1
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 25, 35, 150, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Input1 = GUICtrlCreateInput("", 63, 55, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("01-", 42, 58, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
GUICtrlCreateLabel("-11", 102, 58, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Jump1 = GUICtrlCreateButton("1", 125, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump1a = GUICtrlCreateButton("2", 153, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0);4Local $Input2, $Jump2, $Jump2a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 25, 90, 150, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Input2 = GUICtrlCreateInput("", 63, 110, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("02-", 42, 113, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
GUICtrlCreateLabel("-11", 102, 113, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Jump2 = GUICtrlCreateButton("3", 125, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump2a = GUICtrlCreateButton("4", 153, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den alten Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0)Local $Input3, $Jump3, $Jump3a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 230, 35, 150, 13)
$Input3 = GUICtrlCreateInput("", 268, 55, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("01-", 247, 58, 20, 13)
GUICtrlCreateLabel("-12", 307, 58, 20, 13)
$Jump3 = GUICtrlCreateButton("5", 330, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump3a = GUICtrlCreateButton("6", 358, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)Local $Input4, $Jump4, $Jump4a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 230, 90, 150, 13)
$Input4 = GUICtrlCreateInput("", 268, 110, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("02-", 247, 113, 20, 13)
GUICtrlCreateLabel("-12", 307, 113, 20, 13)
$Jump4 = GUICtrlCreateButton("7", 330, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump4a = GUICtrlCreateButton("8", 358, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den alten Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0);~ ~~~ Tab ~~~~~~~ Neue Ordner ~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateTabItem("Neue Ordner")
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState(-1, $GUI_SHOW); will be display first
GUICtrlCreateLabel('', 1, 21, 398, 122, 0x01+0x0200)
GUICtrlSetState(-1,$GUI_DISABLE)
GUICtrlSetBkColor (-1,0xD6FA83)Local $InputAngVon, $InputAngBis, $Create_Ang
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("Angebots-Nummer eingeben von z.B. 1001 - 1010 :", 60, 35, 280, 13)
GUICtrlCreateLabel("von:", 32, 57, 25, 13)
GUICtrlCreateLabel("01-", 60, 57, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$InputAngVon = GUICtrlCreateInput("", 78, 53, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 115, 57, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
GUICtrlCreateLabel("bis:", 142, 57, 25, 13)
GUICtrlCreateLabel("01-", 165, 57, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$InputAngBis = GUICtrlCreateInput("", 182, 53, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 219, 57, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Create_Ang = GUICtrlCreateButton("Ordner erstellen", 247, 52, 85, 23, 0x0040)
GUICtrlSetTip(-1, "Wie links die Nummern eingegeben, werden im Angebots-Ordner die neuen Ordner erstellt.")
$Jump2OrdAng12 = GUICtrlCreateButton("9", 340, 52, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zur Kontrolle den ANGEBOTS-Ordner 2012 öffnen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)Local $InputAufVon, $InputAufBis, $Create_Auf
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("Auftrags-Nummer eingeben von z.B. 2001 - 2010 :", 60, 90, 280, 13)
GUICtrlCreateLabel("von:", 32, 117, 25, 13)
GUICtrlCreateLabel("02-", 60, 117, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$InputAufVon = GUICtrlCreateInput("", 78, 113, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 115, 117, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
GUICtrlCreateLabel("bis:", 142, 117, 25, 13)
GUICtrlCreateLabel("02-", 165, 117, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$InputAufBis = GUICtrlCreateInput("", 182, 113, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 219, 117, 20, 13)
GUICtrlSetColor(-1,0x7C7C7C)
$Create_Auf = GUICtrlCreateButton("Ordner erstellen", 247, 112, 85, 23, 0x0040)
GUICtrlSetTip(-1, "Wie links die Nummern eingegeben, werden im Auftrags-Ordner die neuen Ordner erstellt.")
$Jump2OrdAuf12 = GUICtrlCreateButton("10", 340, 112, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zur Kontrolle den AUFTRAGS-Ordner 2012 öffnen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)GUISetState()
[/autoit] [autoit][/autoit] [autoit]
Global $hReturnDummy = GUICtrlCreateDummy()
GUICtrlSetOnEvent($hReturnDummy, "_Enter")
Global $Accels[1][2] = [["{ENTER}", $hReturnDummy]]
GUISetAccelerators($Accels)
GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND")
GUICtrlSetState($Input4, $GUI_FOCUS)While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Switch $msgCase $GUI_EVENT_CLOSE
[/autoit] [autoit][/autoit] [autoit]
ExitLoopCase $Jump1
[/autoit] [autoit][/autoit] [autoit]
_go1()Case $Jump1a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad1, "", "", "open")Case $Jump2
[/autoit] [autoit][/autoit] [autoit]
_go2()Case $Jump2a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad2a, "", "", "open")Case $Jump3
[/autoit] [autoit][/autoit] [autoit]
_go3()Case $Jump3a
[/autoit] [autoit][/autoit] [autoit]
_OpenAngOrdner12()Case $Jump4
[/autoit] [autoit][/autoit] [autoit]
_go4()Case $Jump4a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad4a, "", "", "open")Case $Create_Ang
[/autoit] [autoit][/autoit] [autoit]
Local $ReadAngVon = GUICtrlRead($InputAngVon)
Local $ReadAngBis = GUICtrlRead($InputAngBis)
Local $LenVon = StringLen($ReadAngVon) ;~ Länge, gibt Anzahl zurück
Local $LenBis = StringLen($ReadAngBis)For $AngEingZahl = $ReadAngVon To $ReadAngBis
[/autoit] [autoit][/autoit] [autoit]
$AngOrdnerNum = $OrdAng12 & "01-" & $AngEingZahl & "-12"
If $LenVon <4 And $LenBis <4 Then
MsgBox(48, "Falsche Eingabe", "Bitte 4 Zahlen eingeben!", 2)
Else
If FileExists($AngOrdnerNum) Then
MsgBox(262212, "Fehler!", "Datei " & $AngOrdnerNum & " existiert schon!")
Else
EndIf
DirCreate($AngOrdnerNum)
EndIf
NextCase $Create_Auf
[/autoit] [autoit][/autoit] [autoit]
For $AufEingZahl = GUICtrlRead($InputAufVon) To GUICtrlRead($InputAufBis)
$AufOrdnerNum = $OrdAuf12 & "02-" & $AufEingZahl & "-12"
If FileExists($AufOrdnerNum) Then
MsgBox(262212, "Fehler!", "Datei " & $AufOrdnerNum & " existiert schon!")
Else
DirCreate($AufOrdnerNum)
EndIf
Next
Case $Jump2OrdAng12
_OpenAngOrdner12()Case $Jump2OrdAuf12
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($OrdAuf12, "", "", "open")Case $hReturnDummy
[/autoit] [autoit][/autoit] [autoit]
_Enter()
EndSwitch
WEndFunc _Enter()
[/autoit] [autoit][/autoit] [autoit]
Switch $hSendFocus
Case $Input1
_go1()
_GUICtrlEdit_SetSel($Input1, 0, 4)
Case $Input2
_go2()
_GUICtrlEdit_SetSel($Input2, 0, 4)
Case $Input3
_go3()
_GUICtrlEdit_SetSel($Input3, 0, 4)
Case $Input4
_go4()
_GUICtrlEdit_SetSel($Input4, 0, 4)
EndSwitch
EndFunc ;==>_EnterFunc _go1()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($Pfad1 & '01-' & GUICtrlRead($Input1) & '-11') Then
MsgBox(64, $m1, $m2, 2)
Else
ShellExecute('01-' & GUICtrlRead($Input1) & '-11', "", $Pfad1, "open")
EndIf
EndFuncFunc _go2()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($Pfad2 & '02-' & GUICtrlRead($Input2) & '-11') Then
If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then
Else
If Not FileExists($Pfad2a & '02-' & GUICtrlRead($Input2) & '-11') Then
MsgBox(64, $m1, $m3, 2)
Else
ShellExecute('02-' & GUICtrlRead($Input2) & '-11', "", $Pfad2a, "open")
EndIf
EndIf
Else
ShellExecute('02-' & GUICtrlRead($Input2) & '-11', "", $Pfad2, "open")
EndIf
EndFuncFunc _go3()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($OrdAng12 & '01-' & GUICtrlRead($Input3) & '-12') Then
MsgBox(64, $m1, $m2, 2)
Else
ShellExecute('01-' & GUICtrlRead($Input3) & '-12', "", $OrdAng12, "open")
EndIf
EndFuncFunc _go4()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($OrdAuf12 & '02-' & GUICtrlRead($Input4) & '-12') Then
If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then
Else
If Not FileExists($Pfad4a & '02-' & GUICtrlRead($Input4) & '-12') Then
MsgBox(64, $m1, $m3, 2)
Else
ShellExecute('02-' & GUICtrlRead($Input4) & '-12', "", $Pfad4a, "open")
EndIf
EndIf
Else
ShellExecute('02-' & GUICtrlRead($Input4) & '-12', "", $OrdAuf12, "open")
EndIf
EndFuncFunc _OpenAngOrdner12()
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($OrdAng12, "", "", "open")
EndFuncFunc _WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit]
Local $hWndFrom = $ilParam
Local $iCode = _WinAPI_HiWord($iwParam)
Local $hWndEdit1 = GUICtrlGetHandle($Input1)
Local $hWndEdit2 = GUICtrlGetHandle($Input2)
Local $hWndEdit3 = GUICtrlGetHandle($Input3)
Local $hWndEdit4 = GUICtrlGetHandle($Input4)
Switch $hWndFrom
Case $hWndEdit1, $hWndEdit2, $hWndEdit3, $hWndEdit4;
Switch $iCode
Case $EN_SETFOCUS
Switch $hWndFrom
Case $hWndEdit1
$hSendFocus = $Input1
Case $hWndEdit2
$hSendFocus = $Input2
Case $hWndEdit3
$hSendFocus = $Input3
Case $hWndEdit4
$hSendFocus = $Input4
EndSwitch
Case Else
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_COMMAND -
Keine echte Hilfe, aber...
Es wäre vielleicht ratsam, die Jahreszahl nicht hart zu coden, ansonsten schreibst Du am Ende jeden Jahres das Script wieder um... -
- Offizieller Beitrag
Dein Script hat gleich mehrer Fehler.
[autoit]
1. Deine AND Abfrage ist falsch.If $LenVon <4 And $LenBis <4 Then
[/autoit]
[autoit]
Diese Bedingung trifft nur zu wenn Start- und Endwert die falsche Länge haben.
Richtig ist das:If $LenVon <4 or $LenBis <4 Then
[/autoit]
Die Bedingung trifft zu wenn Start- oder Endwert die falsche Länge haben.
2. Dein DirCreate steht an der Falschen Stelle.Hab es dir mal umgebaut, also für Autrags- u. Angebotsnummern
Spoiler anzeigen
[autoit]#Region - Timestamp
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
; 2012-02-27 19:59:21
#EndRegion;~ #NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]
#RequireAdmin
#include <EditConstants.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <GuiEdit.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>Local $Pfad1, $Pfad2, $Pfad2a, $OrdAng12, $OrdAuf12, $Pfad4a, $m1, $m2, $m2a, $m3
[/autoit] [autoit][/autoit] [autoit]
$Pfad1 = "C:\Temp\ANGEBOT 2011\"
$Pfad2 = "C:\Temp\AUFTRAG 2011\"
$Pfad2a = "C:\Temp\alte Aufträge 2011\"
$OrdAng12 = "C:\Temp\ANGEBOT 2012\"
$OrdAuf12 = "C:\Temp\AUFTRAG 2012\"
$Pfad4a = "C:\Temp\alte Aufträge 2012\"
$m1 = "Fehlermeldung!"
$m2 = "Der Ordner ist nicht da!"
$m2a = "Wollen Sie im CD-Brennen-Ordner nachsehen?"
$m3 = "Leider ist er auch hier nicht da!"Global $hSendFocus
[/autoit] [autoit][/autoit] [autoit]
$hGui = GUICreate("Ordner-Springer", 400, 145);~ ~~~ Tab ~~~~~~~ Ordner-Springer ~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]If Not @Compiled Then GUISetIcon('Ordner1.ico')
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateTab(0, 0, 400, 145)
GUICtrlCreateTabItem("Ordner-Springer")
GUICtrlCreateLabel('', 200, 21, 198, 121, 0x01 + 0x0200)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetBkColor(-1, 0xD6FA83)
GUICtrlCreateLabel("|", 200, 21, 2, 124, 0x11)Local $Jump1, $Jump1a, $Input1
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 25, 35, 150, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Input1 = GUICtrlCreateInput("", 63, 55, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("01-", 42, 58, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
GUICtrlCreateLabel("-11", 102, 58, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Jump1 = GUICtrlCreateButton("1", 125, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump1a = GUICtrlCreateButton("2", 153, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0);4Local $Input2, $Jump2, $Jump2a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 25, 90, 150, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Input2 = GUICtrlCreateInput("", 63, 110, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("02-", 42, 113, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
GUICtrlCreateLabel("-11", 102, 113, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Jump2 = GUICtrlCreateButton("3", 125, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump2a = GUICtrlCreateButton("4", 153, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den alten Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0)Local $Input3, $Jump3, $Jump3a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 230, 35, 150, 13)
$Input3 = GUICtrlCreateInput("", 268, 55, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("01-", 247, 58, 20, 13)
GUICtrlCreateLabel("-12", 307, 58, 20, 13)
$Jump3 = GUICtrlCreateButton("5", 330, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump3a = GUICtrlCreateButton("6", 358, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)Local $Input4, $Jump4, $Jump4a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 230, 90, 150, 13)
$Input4 = GUICtrlCreateInput("", 268, 110, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("02-", 247, 113, 20, 13)
GUICtrlCreateLabel("-12", 307, 113, 20, 13)
$Jump4 = GUICtrlCreateButton("7", 330, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump4a = GUICtrlCreateButton("8", 358, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den alten Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0);~ ~~~ Tab ~~~~~~~ Neue Ordner ~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateTabItem("Neue Ordner")
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState(-1, $GUI_SHOW); will be display first
GUICtrlCreateLabel('', 1, 21, 398, 122, 0x01 + 0x0200)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetBkColor(-1, 0xD6FA83)Local $InputAngVon, $InputAngBis, $Create_Ang
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("Angebots-Nummer eingeben von z.B. 1001 - 1010 :", 60, 35, 280, 13)
GUICtrlCreateLabel("von:", 32, 57, 25, 13)
GUICtrlCreateLabel("01-", 60, 57, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$InputAngVon = GUICtrlCreateInput("", 78, 53, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 115, 57, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
GUICtrlCreateLabel("bis:", 142, 57, 25, 13)
GUICtrlCreateLabel("01-", 165, 57, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$InputAngBis = GUICtrlCreateInput("", 182, 53, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 219, 57, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Create_Ang = GUICtrlCreateButton("Ordner erstellen", 247, 52, 85, 23, 0x0040)
GUICtrlSetTip(-1, "Wie links die Nummern eingegeben, werden im Angebots-Ordner die neuen Ordner erstellt.")
$Jump2OrdAng12 = GUICtrlCreateButton("9", 340, 52, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zur Kontrolle den ANGEBOTS-Ordner 2012 öffnen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)Local $InputAufVon, $InputAufBis, $Create_Auf
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("Auftrags-Nummer eingeben von z.B. 2001 - 2010 :", 60, 90, 280, 13)
GUICtrlCreateLabel("von:", 32, 117, 25, 13)
GUICtrlCreateLabel("02-", 60, 117, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$InputAufVon = GUICtrlCreateInput("", 78, 113, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 115, 117, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
GUICtrlCreateLabel("bis:", 142, 117, 25, 13)
GUICtrlCreateLabel("02-", 165, 117, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$InputAufBis = GUICtrlCreateInput("", 182, 113, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 219, 117, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Create_Auf = GUICtrlCreateButton("Ordner erstellen", 247, 112, 85, 23, 0x0040)
GUICtrlSetTip(-1, "Wie links die Nummern eingegeben, werden im Auftrags-Ordner die neuen Ordner erstellt.")
$Jump2OrdAuf12 = GUICtrlCreateButton("10", 340, 112, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zur Kontrolle den AUFTRAGS-Ordner 2012 öffnen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)GUISetState()
[/autoit] [autoit][/autoit] [autoit]
Global $hReturnDummy = GUICtrlCreateDummy()
GUICtrlSetOnEvent($hReturnDummy, "_Enter")
Global $Accels[1][2] = [["{ENTER}", $hReturnDummy]]
GUISetAccelerators($Accels)
GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND")
GUICtrlSetState($Input4, $GUI_FOCUS)While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Switch $msgCase $GUI_EVENT_CLOSE
[/autoit] [autoit][/autoit] [autoit]
ExitLoopCase $Jump1
[/autoit] [autoit][/autoit] [autoit]
_go1()Case $Jump1a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad1, "", "", "open")Case $Jump2
[/autoit] [autoit][/autoit] [autoit]
_go2()Case $Jump2a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad2a, "", "", "open")Case $Jump3
[/autoit] [autoit][/autoit] [autoit]
_go3()Case $Jump3a
[/autoit] [autoit][/autoit] [autoit]
_OpenAngOrdner12()Case $Jump4
[/autoit] [autoit][/autoit] [autoit]
_go4()Case $Jump4a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad4a, "", "", "open")Case $Create_Ang
[/autoit] [autoit][/autoit] [autoit]
Local $ReadAngVon = GUICtrlRead($InputAngVon)
Local $ReadAngBis = GUICtrlRead($InputAngBis)
For $AngEingZahl = $ReadAngVon To $ReadAngBis
$AngOrdnerNum = $OrdAng12 & "01-" & $AngEingZahl & "-12"
If StringLen($ReadAngVon) < 4 Or StringLen($ReadAngBis) < 4 Then ; And ist der falsche ausdruck. Bei AND kommt die Messagebox nur wenn beide Werte kleiner als 4 Stellen.
MsgBox(48, "Falsche Eingabe", "Bitte 4 Zahlen eingeben!", 2)
ExitLoop;Hier wird die For Next Schleife verlassen weil 1 Zahl keine 4 Stellen hat
Else; Ab hier geht es weiter wenn der Start- und Endwert 4 Stellen hat
If FileExists($AngOrdnerNum) Then
MsgBox(262212, "Fehler!", "Datei " & $AngOrdnerNum & " existiert schon!")
Else; Dies wird ausgeführt wenn der Ordner nicht existiert.
DirCreate($AngOrdnerNum); DirCreate war an der Falschen stelle und wurde in der Schleife ausgeführt auch wenn keine 4 Zahlen gesetzt wurden
EndIf
EndIf
NextCase $Create_Auf
[/autoit] [autoit][/autoit] [autoit]
For $AufEingZahl = GUICtrlRead($InputAufVon) To GUICtrlRead($InputAufBis)
If StringLen(GUICtrlRead($InputAufVon)) < 4 Or StringLen(GUICtrlRead($InputAufBis)) < 4 Then; And ist der falsche ausdruck. Bei AND kommt die Messagebox nur wenn beide Werte kleiner als 4 Stellen.
MsgBox(48, "Falsche Eingabe", "Bitte 4 Zahlen eingeben!", 2)
ExitLoop;Hier wird die For Next Schleife verlassen weil 1 Zahl keine 4 Stellen hat
Else; Ab hier geht es weiter wenn der Start- und Endwert 4 Stellen hat
$AufOrdnerNum = $OrdAuf12 & "02-" & $AufEingZahl & "-12"
If FileExists($AufOrdnerNum) Then
MsgBox(262212, "Fehler!", "Datei " & $AufOrdnerNum & " existiert schon!")
Else
DirCreate($AufOrdnerNum)
EndIf
EndIf
Next
Case $Jump2OrdAng12
_OpenAngOrdner12()Case $Jump2OrdAuf12
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($OrdAuf12, "", "", "open")Case $hReturnDummy
[/autoit] [autoit][/autoit] [autoit]
_Enter()
EndSwitch
WEndFunc _Enter()
[/autoit] [autoit][/autoit] [autoit]
Switch $hSendFocus
Case $Input1
_go1()
_GUICtrlEdit_SetSel($Input1, 0, 4)
Case $Input2
_go2()
_GUICtrlEdit_SetSel($Input2, 0, 4)
Case $Input3
_go3()
_GUICtrlEdit_SetSel($Input3, 0, 4)
Case $Input4
_go4()
_GUICtrlEdit_SetSel($Input4, 0, 4)
EndSwitch
EndFunc ;==>_EnterFunc _go1()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($Pfad1 & '01-' & GUICtrlRead($Input1) & '-11') Then
MsgBox(64, $m1, $m2, 2)
Else
ShellExecute('01-' & GUICtrlRead($Input1) & '-11', "", $Pfad1, "open")
EndIf
EndFunc ;==>_go1Func _go2()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($Pfad2 & '02-' & GUICtrlRead($Input2) & '-11') Then
If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then
Else
If Not FileExists($Pfad2a & '02-' & GUICtrlRead($Input2) & '-11') Then
MsgBox(64, $m1, $m3, 2)
Else
ShellExecute('02-' & GUICtrlRead($Input2) & '-11', "", $Pfad2a, "open")
EndIf
EndIf
Else
ShellExecute('02-' & GUICtrlRead($Input2) & '-11', "", $Pfad2, "open")
EndIf
EndFunc ;==>_go2Func _go3()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($OrdAng12 & '01-' & GUICtrlRead($Input3) & '-12') Then
MsgBox(64, $m1, $m2, 2)
Else
ShellExecute('01-' & GUICtrlRead($Input3) & '-12', "", $OrdAng12, "open")
EndIf
EndFunc ;==>_go3Func _go4()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($OrdAuf12 & '02-' & GUICtrlRead($Input4) & '-12') Then
If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then
Else
If Not FileExists($Pfad4a & '02-' & GUICtrlRead($Input4) & '-12') Then
MsgBox(64, $m1, $m3, 2)
Else
ShellExecute('02-' & GUICtrlRead($Input4) & '-12', "", $Pfad4a, "open")
EndIf
EndIf
Else
ShellExecute('02-' & GUICtrlRead($Input4) & '-12', "", $OrdAuf12, "open")
EndIf
EndFunc ;==>_go4Func _OpenAngOrdner12()
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($OrdAng12, "", "", "open")
EndFunc ;==>_OpenAngOrdner12Func _WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit]
Local $hWndFrom = $ilParam
Local $iCode = _WinAPI_HiWord($iwParam)
Local $hWndEdit1 = GUICtrlGetHandle($Input1)
Local $hWndEdit2 = GUICtrlGetHandle($Input2)
Local $hWndEdit3 = GUICtrlGetHandle($Input3)
Local $hWndEdit4 = GUICtrlGetHandle($Input4)
Switch $hWndFrom
Case $hWndEdit1, $hWndEdit2, $hWndEdit3, $hWndEdit4;
Switch $iCode
Case $EN_SETFOCUS
Switch $hWndFrom
Case $hWndEdit1
$hSendFocus = $Input1
Case $hWndEdit2
$hSendFocus = $Input2
Case $hWndEdit3
$hSendFocus = $Input3
Case $hWndEdit4
$hSendFocus = $Input4
EndSwitch
Case Else
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_COMMAND -
Pitter
Das wäre noch eine gute Idee, muß ich mich aber erstmal einlesen.Raupi , vielen Dank.
Mit deinem Script funktioniert es, wenn im 1. Input 'Von' nur 3 Zahlen eingegeben werden, dann erscheint die MsgBox.
Aber wenn im 2. Input 'Bis' nur 3 Zahlen eingegeben werden, dann passiert nichts! Weder die MsgBox noch falsche Ordner!?
Hm, irgendwas stimmt da noch nicht, nur was?Ich habe versucht es mal umzubauen ohne 'Or' und mit 2 If-Abfragen, aber das 2. Input 'Bis' funktioniert genauso nicht.
[autoit]Case $Create_Ang
[/autoit]
For $AngEingZahl = GUICtrlRead($InputAngVon) To GUICtrlRead($InputAngBis)
$AngOrdnerNum = $OrdAng12 & "01-" & $AngEingZahl & "-12"
If StringLen(GUICtrlRead($InputAngVon)) < 4 Then
MsgBox(48, "Falsche Eingabe", "Bitte 4 Zahlen eingeben!", 2)
ExitLoop
Else
If StringLen(GUICtrlRead($InputAngBis)) < 4 Then
MsgBox(48, "Falsche Eingabe", "Bitte 4 Zahlen eingeben!", 2)
ExitLoop
Else
If FileExists($AngOrdnerNum) Then
MsgBox(262212, "Fehler!", "Datei " & $AngOrdnerNum & " existiert schon!")
Else
DirCreate($AngOrdnerNum)
EndIf
EndIf
EndIf
Next -
- Offizieller Beitrag
Hatte die von dir beschriebene Konstellation nicht getestet.
[autoit]
Wenn im 2. Feld eine niedrigere Zahl als im 1. steht wird die For Next Schleife gar nicht ausgeführt.
Beispiel: Startwert 1000, Endwert 100. Das würde folgende Schleife ergeben:For $i= 1000 to 100
[/autoit]
Das geht logischerweise nicht weil der Startwert nach den Endwert liegt und somit wird auch nichts was innerhalb der Schleife ist ausgeführt.
Ergo kann auch keine Messagebox kommen.
Die Abfrage muß also vor die Schleife.Spoiler anzeigen
[autoit]#region - Timestamp
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
; 2012-02-28 17:46:09
#endregion - Timestamp;~ #NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]
#RequireAdmin
#include <EditConstants.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <GuiEdit.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>Local $Pfad1, $Pfad2, $Pfad2a, $OrdAng12, $OrdAuf12, $Pfad4a, $m1, $m2, $m2a, $m3
[/autoit] [autoit][/autoit] [autoit]
$Pfad1 = "C:\Temp\ANGEBOT 2011\"
$Pfad2 = "C:\Temp\AUFTRAG 2011\"
$Pfad2a = "C:\Temp\alte Aufträge 2011\"
$OrdAng12 = "C:\Temp\ANGEBOT 2012\"
$OrdAuf12 = "C:\Temp\AUFTRAG 2012\"
$Pfad4a = "C:\Temp\alte Aufträge 2012\"
$m1 = "Fehlermeldung!"
$m2 = "Der Ordner ist nicht da!"
$m2a = "Wollen Sie im CD-Brennen-Ordner nachsehen?"
$m3 = "Leider ist er auch hier nicht da!"Global $hSendFocus
[/autoit] [autoit][/autoit] [autoit]
$hGui = GUICreate("Ordner-Springer", 400, 145);~ ~~~ Tab ~~~~~~~ Ordner-Springer ~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]If Not @Compiled Then GUISetIcon('Ordner1.ico')
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateTab(0, 0, 400, 145)
GUICtrlCreateTabItem("Ordner-Springer")
GUICtrlCreateLabel('', 200, 21, 198, 121, 0x01 + 0x0200)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetBkColor(-1, 0xD6FA83)
GUICtrlCreateLabel("|", 200, 21, 2, 124, 0x11)Local $Jump1, $Jump1a, $Input1
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 25, 35, 150, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Input1 = GUICtrlCreateInput("", 63, 55, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("01-", 42, 58, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
GUICtrlCreateLabel("-11", 102, 58, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Jump1 = GUICtrlCreateButton("1", 125, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump1a = GUICtrlCreateButton("2", 153, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0);4Local $Input2, $Jump2, $Jump2a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 25, 90, 150, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Input2 = GUICtrlCreateInput("", 63, 110, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("02-", 42, 113, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
GUICtrlCreateLabel("-11", 102, 113, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Jump2 = GUICtrlCreateButton("3", 125, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump2a = GUICtrlCreateButton("4", 153, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den alten Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0)Local $Input3, $Jump3, $Jump3a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 230, 35, 150, 13)
$Input3 = GUICtrlCreateInput("", 268, 55, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("01-", 247, 58, 20, 13)
GUICtrlCreateLabel("-12", 307, 58, 20, 13)
$Jump3 = GUICtrlCreateButton("5", 330, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump3a = GUICtrlCreateButton("6", 358, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)Local $Input4, $Jump4, $Jump4a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 230, 90, 150, 13)
$Input4 = GUICtrlCreateInput("", 268, 110, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("02-", 247, 113, 20, 13)
GUICtrlCreateLabel("-12", 307, 113, 20, 13)
$Jump4 = GUICtrlCreateButton("7", 330, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump4a = GUICtrlCreateButton("8", 358, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den alten Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0);~ ~~~ Tab ~~~~~~~ Neue Ordner ~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateTabItem("Neue Ordner")
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState(-1, $GUI_SHOW); will be display first
GUICtrlCreateLabel('', 1, 21, 398, 122, 0x01 + 0x0200)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetBkColor(-1, 0xD6FA83)Local $InputAngVon, $InputAngBis, $Create_Ang
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("Angebots-Nummer eingeben von z.B. 1001 - 1010 :", 60, 35, 280, 13)
GUICtrlCreateLabel("von:", 32, 57, 25, 13)
GUICtrlCreateLabel("01-", 60, 57, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$InputAngVon = GUICtrlCreateInput("", 78, 53, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 115, 57, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
GUICtrlCreateLabel("bis:", 142, 57, 25, 13)
GUICtrlCreateLabel("01-", 165, 57, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$InputAngBis = GUICtrlCreateInput("", 182, 53, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 219, 57, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Create_Ang = GUICtrlCreateButton("Ordner erstellen", 247, 52, 85, 23, 0x0040)
GUICtrlSetTip(-1, "Wie links die Nummern eingegeben, werden im Angebots-Ordner die neuen Ordner erstellt.")
$Jump2OrdAng12 = GUICtrlCreateButton("9", 340, 52, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zur Kontrolle den ANGEBOTS-Ordner 2012 öffnen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)Local $InputAufVon, $InputAufBis, $Create_Auf
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("Auftrags-Nummer eingeben von z.B. 2001 - 2010 :", 60, 90, 280, 13)
GUICtrlCreateLabel("von:", 32, 117, 25, 13)
GUICtrlCreateLabel("02-", 60, 117, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$InputAufVon = GUICtrlCreateInput("", 78, 113, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 115, 117, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
GUICtrlCreateLabel("bis:", 142, 117, 25, 13)
GUICtrlCreateLabel("02-", 165, 117, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$InputAufBis = GUICtrlCreateInput("", 182, 113, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 219, 117, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Create_Auf = GUICtrlCreateButton("Ordner erstellen", 247, 112, 85, 23, 0x0040)
GUICtrlSetTip(-1, "Wie links die Nummern eingegeben, werden im Auftrags-Ordner die neuen Ordner erstellt.")
$Jump2OrdAuf12 = GUICtrlCreateButton("10", 340, 112, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zur Kontrolle den AUFTRAGS-Ordner 2012 öffnen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)GUISetState()
[/autoit] [autoit][/autoit] [autoit]
Global $hReturnDummy = GUICtrlCreateDummy()
GUICtrlSetOnEvent($hReturnDummy, "_Enter")
Global $Accels[1][2] = [["{ENTER}", $hReturnDummy]]
GUISetAccelerators($Accels)
GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND")
GUICtrlSetState($Input4, $GUI_FOCUS)While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Switch $msgCase $GUI_EVENT_CLOSE
[/autoit] [autoit][/autoit] [autoit]
ExitLoopCase $Jump1
[/autoit] [autoit][/autoit] [autoit]
_go1()Case $Jump1a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad1, "", "", "open")Case $Jump2
[/autoit] [autoit][/autoit] [autoit]
_go2()Case $Jump2a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad2a, "", "", "open")Case $Jump3
[/autoit] [autoit][/autoit] [autoit]
_go3()Case $Jump3a
[/autoit] [autoit][/autoit] [autoit]
_OpenAngOrdner12()Case $Jump4
[/autoit] [autoit][/autoit] [autoit]
_go4()Case $Jump4a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad4a, "", "", "open")Case $Create_Ang
[/autoit] [autoit][/autoit] [autoit]
Local $ReadAngVon = GUICtrlRead($InputAngVon)
Local $ReadAngBis = GUICtrlRead($InputAngBis)
Local $iStart = StringLen($ReadAngVon)
Local $iEnd = StringLen($ReadAngBis)
If ($iStart < 4) Or ($iEnd < 4) Then ; And ist der falsche ausdruck. Bei AND kommt die Messagebox nur wenn beide Werte kleiner als 4 Stellen.
MsgBox(48, "Falsche Eingabe", "Bitte 4 Zahlen eingeben!", 2)
ExitLoop;Hier wird die For Next Schleife verlassen weil 1 Zahl keine 4 Stellen hat
Else; Ab hier geht es weiter wenn der Start- und Endwert 4 Stellen hat
For $AngEingZahl = $ReadAngVon To $ReadAngBis
$AngOrdnerNum = $OrdAng12 & "01-" & $AngEingZahl & "-12"If FileExists($AngOrdnerNum) Then
[/autoit] [autoit][/autoit] [autoit]
MsgBox(262212, "Fehler!", "Datei " & $AngOrdnerNum & " existiert schon!")
Else; Dies wird ausgeführt wenn der Ordner nicht existiert.
DirCreate($AngOrdnerNum); DirCreate war an der Falschen stelle und wurde in der Schleife ausgeführt auch wenn keine 4 Zahlen gesetzt wurden
EndIfNext
[/autoit] [autoit][/autoit] [autoit]
EndIf
Case $Create_AufIf StringLen(GUICtrlRead($InputAufVon)) < 4 Or StringLen(GUICtrlRead($InputAufBis)) < 4 Then; And ist der falsche ausdruck. Bei AND kommt die Messagebox nur wenn beide Werte kleiner als 4 Stellen.
[/autoit] [autoit][/autoit] [autoit]
MsgBox(48, "Falsche Eingabe", "Bitte 4 Zahlen eingeben!", 2)
ExitLoop;Hier wird die For Next Schleife verlassen weil 1 Zahl keine 4 Stellen hat
Else; Ab hier geht es weiter wenn der Start- und Endwert 4 Stellen hat
For $AufEingZahl = GUICtrlRead($InputAufVon) To GUICtrlRead($InputAufBis)
ConsoleWrite("Schleife läuft" & @CRLF)$AufOrdnerNum = $OrdAuf12 & "02-" & $AufEingZahl & "-12"
[/autoit] [autoit][/autoit] [autoit]
If FileExists($AufOrdnerNum) Then
MsgBox(262212, "Fehler!", "Datei " & $AufOrdnerNum & " existiert schon!")
Else
DirCreate($AufOrdnerNum)
EndIfNext
[/autoit] [autoit][/autoit] [autoit]
EndIf
Case $Jump2OrdAng12
_OpenAngOrdner12()Case $Jump2OrdAuf12
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($OrdAuf12, "", "", "open")Case $hReturnDummy
[/autoit] [autoit][/autoit] [autoit]
_Enter()
EndSwitch
WEndFunc _Enter()
[/autoit] [autoit][/autoit] [autoit]
Switch $hSendFocus
Case $Input1
_go1()
_GUICtrlEdit_SetSel($Input1, 0, 4)
Case $Input2
_go2()
_GUICtrlEdit_SetSel($Input2, 0, 4)
Case $Input3
_go3()
_GUICtrlEdit_SetSel($Input3, 0, 4)
Case $Input4
_go4()
_GUICtrlEdit_SetSel($Input4, 0, 4)
EndSwitch
EndFunc ;==>_EnterFunc _go1()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($Pfad1 & '01-' & GUICtrlRead($Input1) & '-11') Then
MsgBox(64, $m1, $m2, 2)
Else
ShellExecute('01-' & GUICtrlRead($Input1) & '-11', "", $Pfad1, "open")
EndIf
EndFunc ;==>_go1Func _go2()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($Pfad2 & '02-' & GUICtrlRead($Input2) & '-11') Then
If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then
Else
If Not FileExists($Pfad2a & '02-' & GUICtrlRead($Input2) & '-11') Then
MsgBox(64, $m1, $m3, 2)
Else
ShellExecute('02-' & GUICtrlRead($Input2) & '-11', "", $Pfad2a, "open")
EndIf
EndIf
Else
ShellExecute('02-' & GUICtrlRead($Input2) & '-11', "", $Pfad2, "open")
EndIf
EndFunc ;==>_go2Func _go3()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($OrdAng12 & '01-' & GUICtrlRead($Input3) & '-12') Then
MsgBox(64, $m1, $m2, 2)
Else
ShellExecute('01-' & GUICtrlRead($Input3) & '-12', "", $OrdAng12, "open")
EndIf
EndFunc ;==>_go3Func _go4()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($OrdAuf12 & '02-' & GUICtrlRead($Input4) & '-12') Then
If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then
Else
If Not FileExists($Pfad4a & '02-' & GUICtrlRead($Input4) & '-12') Then
MsgBox(64, $m1, $m3, 2)
Else
ShellExecute('02-' & GUICtrlRead($Input4) & '-12', "", $Pfad4a, "open")
EndIf
EndIf
Else
ShellExecute('02-' & GUICtrlRead($Input4) & '-12', "", $OrdAuf12, "open")
EndIf
EndFunc ;==>_go4Func _OpenAngOrdner12()
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($OrdAng12, "", "", "open")
EndFunc ;==>_OpenAngOrdner12Func _WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit]
Local $hWndFrom = $ilParam
Local $iCode = _WinAPI_HiWord($iwParam)
Local $hWndEdit1 = GUICtrlGetHandle($Input1)
Local $hWndEdit2 = GUICtrlGetHandle($Input2)
Local $hWndEdit3 = GUICtrlGetHandle($Input3)
Local $hWndEdit4 = GUICtrlGetHandle($Input4)
Switch $hWndFrom
Case $hWndEdit1, $hWndEdit2, $hWndEdit3, $hWndEdit4;
Switch $iCode
Case $EN_SETFOCUS
Switch $hWndFrom
Case $hWndEdit1
$hSendFocus = $Input1
Case $hWndEdit2
$hSendFocus = $Input2
Case $hWndEdit3
$hSendFocus = $Input3
Case $hWndEdit4
$hSendFocus = $Input4
EndSwitch
Case Else
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_COMMAND -
Aahhh, suuper gut, so funktionierts, du bist mein Held. Vielen Dank.
Kann ich jetzt das ExitLoop (Zeile 198, 215 in deinem Script) eigentlich wegnehmen, weil das ganze Programm damit schließt?
-
- Offizieller Beitrag
Ja, die kannst du rausschmeißen.
Hab ich vergessen zu entsorgen. -
Jetzt ist mir noch aufgefallen, dass keine Ordner erstellt werden können mit Nullen vor einer Zahl z.B. 0001!
Wenn ich in den Input eingebe: von 0001 bis 0010, werden nur Ordner erstellt mit Zahlen 01-1-12 bis 01-10-12.
So soll es aber sein: 01-0001-12 bis 01-0010-12
Wie kann ich denn das erstellen?
-
- Offizieller Beitrag
Dazu kannst du StringFormat benutzen.
Spoiler anzeigen
[autoit]#region - Timestamp
[/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]
; 2012-03-01 19:01:02
#endregion - Timestamp;~ #NoTrayIcon
[/autoit] [autoit][/autoit] [autoit]
#RequireAdmin
#include <EditConstants.au3>
#include <File.au3>
#include <GUIConstantsEx.au3>
#include <GuiEdit.au3>
#include <WinAPI.au3>
#include <WindowsConstants.au3>Local $Pfad1, $Pfad2, $Pfad2a, $OrdAng12, $OrdAuf12, $Pfad4a, $m1, $m2, $m2a, $m3
[/autoit] [autoit][/autoit] [autoit]
$Pfad1 = "C:\Temp\ANGEBOT 2011\"
$Pfad2 = "C:\Temp\AUFTRAG 2011\"
$Pfad2a = "C:\Temp\alte Aufträge 2011\"
$OrdAng12 = "C:\Temp\ANGEBOT 2012\"
$OrdAuf12 = "C:\Temp\AUFTRAG 2012\"
$Pfad4a = "C:\Temp\alte Aufträge 2012\"
$m1 = "Fehlermeldung!"
$m2 = "Der Ordner ist nicht da!"
$m2a = "Wollen Sie im CD-Brennen-Ordner nachsehen?"
$m3 = "Leider ist er auch hier nicht da!"Global $hSendFocus
[/autoit] [autoit][/autoit] [autoit]
$hGui = GUICreate("Ordner-Springer", 400, 145);~ ~~~ Tab ~~~~~~~ Ordner-Springer ~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]If Not @Compiled Then GUISetIcon('Ordner1.ico')
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateTab(0, 0, 400, 145)
GUICtrlCreateTabItem("Ordner-Springer")
GUICtrlCreateLabel('', 200, 21, 198, 121, 0x01 + 0x0200)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetBkColor(-1, 0xD6FA83)
GUICtrlCreateLabel("|", 200, 21, 2, 124, 0x11)Local $Jump1, $Jump1a, $Input1
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 25, 35, 150, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Input1 = GUICtrlCreateInput("", 63, 55, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("01-", 42, 58, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
GUICtrlCreateLabel("-11", 102, 58, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Jump1 = GUICtrlCreateButton("1", 125, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump1a = GUICtrlCreateButton("2", 153, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0);4Local $Input2, $Jump2, $Jump2a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 25, 90, 150, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Input2 = GUICtrlCreateInput("", 63, 110, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("02-", 42, 113, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
GUICtrlCreateLabel("-11", 102, 113, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Jump2 = GUICtrlCreateButton("3", 125, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump2a = GUICtrlCreateButton("4", 153, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den alten Ordner 2011 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0)Local $Input3, $Jump3, $Jump3a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("ANGEBOTS-Nummer eingeben", 230, 35, 150, 13)
$Input3 = GUICtrlCreateInput("", 268, 55, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("01-", 247, 58, 20, 13)
GUICtrlCreateLabel("-12", 307, 58, 20, 13)
$Jump3 = GUICtrlCreateButton("5", 330, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum ANGEBOTS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump3a = GUICtrlCreateButton("6", 358, 54, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den ANGEBOTS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)Local $Input4, $Jump4, $Jump4a
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("AUFTRAGS-Nummer eingeben", 230, 90, 150, 13)
$Input4 = GUICtrlCreateInput("", 268, 110, 35, 20)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("02-", 247, 113, 20, 13)
GUICtrlCreateLabel("-12", 307, 113, 20, 13)
$Jump4 = GUICtrlCreateButton("7", 330, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Mit Nummer zum AUFTRAGS-Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -138, 0)
$Jump4a = GUICtrlCreateButton("8", 358, 109, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zum selber Suchen in den alten Ordner 2012 springen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', -158, 0);~ ~~~ Tab ~~~~~~~ Neue Ordner ~~~~~~~~
[/autoit] [autoit][/autoit] [autoit]GUICtrlCreateTabItem("Neue Ordner")
[/autoit] [autoit][/autoit] [autoit]
GUICtrlSetState(-1, $GUI_SHOW); will be display first
GUICtrlCreateLabel('', 1, 21, 398, 122, 0x01 + 0x0200)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetBkColor(-1, 0xD6FA83)Local $InputAngVon, $InputAngBis, $Create_Ang
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("Angebots-Nummer eingeben von z.B. 1001 - 1010 :", 60, 35, 280, 13)
GUICtrlCreateLabel("von:", 32, 57, 25, 13)
GUICtrlCreateLabel("01-", 60, 57, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$InputAngVon = GUICtrlCreateInput("", 78, 53, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 115, 57, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
GUICtrlCreateLabel("bis:", 142, 57, 25, 13)
GUICtrlCreateLabel("01-", 165, 57, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$InputAngBis = GUICtrlCreateInput("", 182, 53, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 219, 57, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Create_Ang = GUICtrlCreateButton("Ordner erstellen", 247, 52, 85, 23, 0x0040)
GUICtrlSetTip(-1, "Wie links die Nummern eingegeben, werden im Angebots-Ordner die neuen Ordner erstellt.")
$Jump2OrdAng12 = GUICtrlCreateButton("9", 340, 52, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zur Kontrolle den ANGEBOTS-Ordner 2012 öffnen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)Local $InputAufVon, $InputAufBis, $Create_Auf
[/autoit] [autoit][/autoit] [autoit]
GUICtrlCreateLabel("Auftrags-Nummer eingeben von z.B. 2001 - 2010 :", 60, 90, 280, 13)
GUICtrlCreateLabel("von:", 32, 117, 25, 13)
GUICtrlCreateLabel("02-", 60, 117, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$InputAufVon = GUICtrlCreateInput("", 78, 113, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 115, 117, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
GUICtrlCreateLabel("bis:", 142, 117, 25, 13)
GUICtrlCreateLabel("02-", 165, 117, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$InputAufBis = GUICtrlCreateInput("", 182, 113, 35, 20, $ES_NUMBER)
GUICtrlSetLimit(-1, 4)
GUICtrlCreateLabel("-12", 219, 117, 20, 13)
GUICtrlSetColor(-1, 0x7C7C7C)
$Create_Auf = GUICtrlCreateButton("Ordner erstellen", 247, 112, 85, 23, 0x0040)
GUICtrlSetTip(-1, "Wie links die Nummern eingegeben, werden im Auftrags-Ordner die neuen Ordner erstellt.")
$Jump2OrdAuf12 = GUICtrlCreateButton("10", 340, 112, 23, 23, 0x0040)
GUICtrlSetTip(-1, "Zur Kontrolle den AUFTRAGS-Ordner 2012 öffnen.")
GUICtrlSetImage(-1, @SystemDir & '\shell32.dll', 46, 0)GUISetState()
[/autoit] [autoit][/autoit] [autoit]
Global $hReturnDummy = GUICtrlCreateDummy()
GUICtrlSetOnEvent($hReturnDummy, "_Enter")
Global $Accels[1][2] = [["{ENTER}", $hReturnDummy]]
GUISetAccelerators($Accels)
GUIRegisterMsg($WM_COMMAND, "_WM_COMMAND")
GUICtrlSetState($Input4, $GUI_FOCUS)While 1
[/autoit] [autoit][/autoit] [autoit]
$msg = GUIGetMsg()
Switch $msgCase $GUI_EVENT_CLOSE
[/autoit] [autoit][/autoit] [autoit]
ExitLoopCase $Jump1
[/autoit] [autoit][/autoit] [autoit]
_go1()Case $Jump1a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad1, "", "", "open")Case $Jump2
[/autoit] [autoit][/autoit] [autoit]
_go2()Case $Jump2a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad2a, "", "", "open")Case $Jump3
[/autoit] [autoit][/autoit] [autoit]
_go3()Case $Jump3a
[/autoit] [autoit][/autoit] [autoit]
_OpenAngOrdner12()Case $Jump4
[/autoit] [autoit][/autoit] [autoit]
_go4()Case $Jump4a
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($Pfad4a, "", "", "open")Case $Create_Ang
[/autoit] [autoit][/autoit] [autoit]
Local $ReadAngVon = GUICtrlRead($InputAngVon)
Local $ReadAngBis = GUICtrlRead($InputAngBis)
Local $iStart = StringLen($ReadAngVon)
Local $iEnd = StringLen($ReadAngBis)
If ($iStart < 4) Or ($iEnd < 4) Then ; And ist der falsche ausdruck. Bei AND kommt die Messagebox nur wenn beide Werte kleiner als 4 Stellen.
MsgBox(48, "Falsche Eingabe", "Bitte 4 Zahlen eingeben!", 2)
Else; Ab hier geht es weiter wenn der Start- und Endwert 4 Stellen hat
For $AngEingZahl = $ReadAngVon To $ReadAngBis$AngOrdnerNum = $OrdAng12 & "01-" & StringFormat("%04d", $AngEingZahl) & "-12"
[/autoit] [autoit][/autoit] [autoit]
If FileExists($AngOrdnerNum) Then
MsgBox(262212, "Fehler!", "Datei " & $AngOrdnerNum & " existiert schon!")
Else; Dies wird ausgeführt wenn der Ordner nicht existiert.
DirCreate($AngOrdnerNum); DirCreate war an der Falschen stelle und wurde in der Schleife ausgeführt auch wenn keine 4 Zahlen gesetzt wurden
EndIfNext
[/autoit] [autoit][/autoit] [autoit]
EndIf
Case $Create_AufIf StringLen(GUICtrlRead($InputAufVon)) < 4 Or StringLen(GUICtrlRead($InputAufBis)) < 4 Then; And ist der falsche ausdruck. Bei AND kommt die Messagebox nur wenn beide Werte kleiner als 4 Stellen.
[/autoit] [autoit][/autoit] [autoit]
MsgBox(48, "Falsche Eingabe", "Bitte 4 Zahlen eingeben!", 2)
Else; Ab hier geht es weiter wenn der Start- und Endwert 4 Stellen hat
For $AufEingZahl = GUICtrlRead($InputAufVon) To GUICtrlRead($InputAufBis)
$AufOrdnerNum = $OrdAuf12 & "02-" & StringFormat("%04d", $AufEingZahl) & "-12"
If FileExists($AufOrdnerNum) Then
MsgBox(262212, "Fehler!", "Datei " & $AufOrdnerNum & " existiert schon!")
Else
DirCreate($AufOrdnerNum)
EndIfNext
[/autoit] [autoit][/autoit] [autoit]
EndIf
Case $Jump2OrdAng12
_OpenAngOrdner12()Case $Jump2OrdAuf12
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($OrdAuf12, "", "", "open")Case $hReturnDummy
[/autoit] [autoit][/autoit] [autoit]
_Enter()
EndSwitch
WEndFunc _Enter()
[/autoit] [autoit][/autoit] [autoit]
Switch $hSendFocus
Case $Input1
_go1()
_GUICtrlEdit_SetSel($Input1, 0, 4)
Case $Input2
_go2()
_GUICtrlEdit_SetSel($Input2, 0, 4)
Case $Input3
_go3()
_GUICtrlEdit_SetSel($Input3, 0, 4)
Case $Input4
_go4()
_GUICtrlEdit_SetSel($Input4, 0, 4)
EndSwitch
EndFunc ;==>_EnterFunc _go1()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($Pfad1 & '01-' & GUICtrlRead($Input1) & '-11') Then
MsgBox(64, $m1, $m2, 2)
Else
ShellExecute('01-' & GUICtrlRead($Input1) & '-11', "", $Pfad1, "open")
EndIf
EndFunc ;==>_go1Func _go2()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($Pfad2 & '02-' & GUICtrlRead($Input2) & '-11') Then
If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then
Else
If Not FileExists($Pfad2a & '02-' & GUICtrlRead($Input2) & '-11') Then
MsgBox(64, $m1, $m3, 2)
Else
ShellExecute('02-' & GUICtrlRead($Input2) & '-11', "", $Pfad2a, "open")
EndIf
EndIf
Else
ShellExecute('02-' & GUICtrlRead($Input2) & '-11', "", $Pfad2, "open")
EndIf
EndFunc ;==>_go2Func _go3()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($OrdAng12 & '01-' & GUICtrlRead($Input3) & '-12') Then
MsgBox(64, $m1, $m2, 2)
Else
ShellExecute('01-' & GUICtrlRead($Input3) & '-12', "", $OrdAng12, "open")
EndIf
EndFunc ;==>_go3Func _go4()
[/autoit] [autoit][/autoit] [autoit]
If Not FileExists($OrdAuf12 & '02-' & GUICtrlRead($Input4) & '-12') Then
If MsgBox(262212, $m1, $m2 & @CRLF & @CRLF & $m2a) = 7 Then
Else
If Not FileExists($Pfad4a & '02-' & GUICtrlRead($Input4) & '-12') Then
MsgBox(64, $m1, $m3, 2)
Else
ShellExecute('02-' & GUICtrlRead($Input4) & '-12', "", $Pfad4a, "open")
EndIf
EndIf
Else
ShellExecute('02-' & GUICtrlRead($Input4) & '-12', "", $OrdAuf12, "open")
EndIf
EndFunc ;==>_go4Func _OpenAngOrdner12()
[/autoit] [autoit][/autoit] [autoit]
ShellExecute($OrdAng12, "", "", "open")
EndFunc ;==>_OpenAngOrdner12Func _WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
[/autoit]
Local $hWndFrom = $ilParam
Local $iCode = _WinAPI_HiWord($iwParam)
Local $hWndEdit1 = GUICtrlGetHandle($Input1)
Local $hWndEdit2 = GUICtrlGetHandle($Input2)
Local $hWndEdit3 = GUICtrlGetHandle($Input3)
Local $hWndEdit4 = GUICtrlGetHandle($Input4)
Switch $hWndFrom
Case $hWndEdit1, $hWndEdit2, $hWndEdit3, $hWndEdit4;
Switch $iCode
Case $EN_SETFOCUS
Switch $hWndFrom
Case $hWndEdit1
$hSendFocus = $Input1
Case $hWndEdit2
$hSendFocus = $Input2
Case $hWndEdit3
$hSendFocus = $Input3
Case $hWndEdit4
$hSendFocus = $Input4
EndSwitch
Case Else
EndSwitch
EndSwitch
Return $GUI_RUNDEFMSG
EndFunc ;==>_WM_COMMAND -
Hey toll, das ist jetzt ne super Sache.
Habe mir das mal in der Hilfe angesehen, das hätte ich niemals so hinbekommen...Vielen vielen Dank, Raupi.
-