Ich habe da eine verschachtelte If..Then Schleife, die sehr unübersichlich geworden ist und würde die gerne umwandeln
und habs zwar im Wiki gelesen, weiß aber nicht wie ich meine so umwandeln kann.
Spoiler anzeigen
AutoIt: If..Then funktion
Func _goAngAlt()
Local $IAngA = GUICtrlRead($InpAngAlt3) ; Jahr auslesen '8' oder '11'
Local $AngAltGanzNum = GUICtrlRead($InpAngAlt1) & '-' & GUICtrlRead($InpAngAlt2) & '-' & $IAngA ; = AngebotsNummer 'XX-XXXX-X' oder 'XX-XXXX-XX'
Local $OrdAngAlt = $OrdAngJa & "20" & $IAngA & "\" ; Pfad zusammen setzen "G:\Dateien\Kunden\ANGEBOT " +'20'+'8' oder '11'
If (StringLen($IAngA) < 2) Then $OrdAngAlt = $OrdAngJa & "20" & "0" & $IAngA & "\" ; wenn nur '8' dann '20'+'0'+'8'
Local $OrdAngAlt2 = $OrdJahrAA & "20" & $IAngA & "\" ; Pfad zusammen setzen "G:\Dateien\alte Aufträge\Kunden\ANGEBOT " +'20'+'8' oder '11'
If (StringLen($IAngA) < 2) Then $OrdAngAlt2 = $OrdJahrAA & "20" & "0" & $IAngA & "\" ; ; wenn nur '8' dann '20'+'0'+'8'
If Not FileExists($OrdAngAlt) Or Not FileExists($OrdAngAlt & $AngAltGanzNum) Then ; normale 'ANGEBOT 20XX' oder 'ANGEBOT 20XX' + '01-XXXX-XX'
If MsgBox(262144, $Inf, $LukAA, 0.3) = 1 Then
Else
If Not FileExists($OrdAngAlt2 & $AngAltGanzNum) Then ; alte Aufträge 01-2222-8
If MsgBox(262144, $Inf, $LukAA, 0.3) = 1 Then
Else
Local $SuchOrdAngAlt = _FO_FolderSearch($OrdAngAlt2, '*' & $AngAltGanzNum, True, 0, 0, 0) ; Suche nach Ordner 'AN-01-XXXX-XX'
If Not (StringLen($SuchOrdAngAlt) > 10) Then ; alte Aufträge Suche: AN-01-2222-8
If MsgBox(262144, $Inf, $LukAA, 0.3) = 1 Then
Else
Local $SuchAngAlt2 = _FO_FolderSearch($OrdAufJa & "20" & $IAngA, $AngAltGanzNum, True, 2, 0, 0) ; Suche nach Ordner '01-XXXX-14' im AUFTRAG 2014
If $SuchAngAlt2 = "" Then ; alte Aufträge Suche 'AUFTRAG 20XX' +Suchfund
If MsgBox(262144, $Inf, $LukAA, 0.3) = 1 Then
Else
Local $SuchAngAlt3 = _FO_FolderSearch($OrdAufJa & "20" & $IAngA + 1, $AngAltGanzNum, True, 2, 0, 0) ; Suche nach Ordner '01-XXXX-14' im AUFTRAG 2015
If $SuchAngAlt3 = "" Then ; alte Aufträge Suche 'AUFTRAG 20XX'+1
MsgBox(262208, 'Such-Info', 'Ordner Leider Nicht da!' & @LF & @LF & _
'Such-Ordner = ' & $OrdAufJa & "20" & $IAngA + 1 & @LF & @LF & _
'Such-Nummer = ' & $AngAltGanzNum, 11)
Else
ShellExecute($SuchAngAlt3, "", $OrdAufJa & "20" & $IAngA + 1, "open") ; öffnet alte Aufträge Suche 'AUFTRAG 20XX' + 1 +Suchfund +'01-XXXX-XX'
Sleep(600)
MsgBox(262144, 'Info', '' & @LF & _
$OrdAufJa & "20" & $IAngA + 1 & @LF & @LF & _
$SuchAngAlt3, 11)
EndIf
EndIf
Else
ShellExecute($SuchAngAlt2, "", $OrdAufJa & "20" & $IAngA, "open") ; öffnet alte Aufträge Suche 'AUFTRAG 20XX' +Suchfund +'01-XXXX-XX'
Sleep(600)
MsgBox(262144, 'Info', '' & @LF & _
$OrdAufJa & "20" & $IAngA & @LF & @LF & _
$SuchAngAlt2, 11)
EndIf
EndIf
Else
ShellExecute($SuchOrdAngAlt, "", $OrdAngAlt2, "open") ; öffnet alte Aufträge Suche 'ANGEBOT 200X' + 'AN-01-XXXX-XX'
Sleep(600)
MsgBox(262144, 'Info', '' & @LF & _
$OrdAngAlt2 & @LF & @LF & _
$SuchOrdAngAlt, 11)
EndIf
EndIf
Else
ShellExecute($AngAltGanzNum, "", $OrdAngAlt2, "open") ; öffnet alte Aufträge 'ANGEBOT 20XX' + '01-XXXX-XX'
EndIf
EndIf
Else
ShellExecute($AngAltGanzNum, "", $OrdAngAlt, "open") ; öffnet normale 'ANGEBOT 20XX' + '01-XXXX-XX'
EndIf
EndFunc ;==>_goAngAlt
Alles anzeigen