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

Beiträge von BugFix

  • Eigene Hilfedatei aufrufen

    • BugFix
    • 5. August 2006 um 09:43

    Ich hatte per Mail eine Anfrage an den Autor der "TS HTML Help Tipps & Tricks 3.1" geschickt. Hier die Antwort:

    Zitat

    ..du musst wie folgt vorgehen:
    Sofern du noch kein Fenster erstellt hast, solltest du dies über "Add/Modify
    window definitions" tun. Das Fenster sollte den Namen main erhalten. Du
    solltest jetzt in den einzelnen Registern das Aussehen deines Fensters
    festlegen, da alle Themenseiten der Hilfe von nun an in diesem Fenster
    angezeigt werden.
    Im Register "Position" kannst du die Position und Größe einstellen.

    Alles anzeigen
  • Eigene Hilfedatei aufrufen

    • BugFix
    • 4. August 2006 um 17:22

    Goldig!!

    Das Fenster ist nicht nur 800x600 groß, sondern maximiert. So gefällt mir das.
    Danke für eure Mühe.

    Edit:
    Etwas zu früh gefreut. Das Fenster kommt doch nur 800x600. Hatte es vorhin nur zuvor maximiert, deshalb ist es wieder so gestartet.

    Soweit ich das der HTML Help-Anleitung entnehmen konnte, lassen sich durch Einsatz von Frames und CSS die Fenstergrößen festlegen. Solchen Aufwand will ich aber für eine relativ kurze Hilfe gar nicht betreiben.

  • Eigene Hilfedatei aufrufen

    • BugFix
    • 4. August 2006 um 15:30

    Danke,
    genau danach habe ich gesucht. Werde es gleich testen und dann Rückmeldung geben.

    Edit:

    Also "url#textmarke" hat er nicht haben wollen. bringt nur die url.

    Muß mir erst mal das ganze Werk reinziehen und dann wieder testen.
    Momentan schreib ich grad die englische Hilfe. Muß also noch etwas warten.


    Edit #2:
    Ha, geht doch. War mein Fehler. Hatte es bei 'Advanced URL' eingetragen (ich Schäfchen, ich ;) ).
    Nun muß ich bloß noch rausfinden, wie ich das Hilfefenster maximiert starten kann. Naja, notfalls 'zwinge' ich es mit autoit. :schild4:

  • Eigene Hilfedatei aufrufen

    • BugFix
    • 4. August 2006 um 14:22

    ahh..

    Danke!
    Meine Oma sagt immer: Kannste alt wer'n wie 'ne Kuh, lernste immer noch dazu.
    Recht hat sie! :klatschen:


    Edit:

    Ich hab die Hilfedatei mit "HTML Help Workshop" erstellt. Ging auch recht simpel. Allerdings suche ich noch nach ein paar Einstellmöglichkeiten:
    - das Hilfe-Fenster soll mit einer von mir festgelegten Größe starten (wegen enthaltener Bilder)
    - das Inhaltsverzeichnis soll ausgeklappt sein
    - wie kann ich im Inhaltsverzeichnis auf Textmarken verlinken (angeboten wird nur der Link auf Seiten)

    Falls jemand da Erfahrung hat - bin für jeden Rat dankbar.

  • Eigene Hilfedatei aufrufen

    • BugFix
    • 4. August 2006 um 14:16

    Hallo,
    hab für ein Tool eine eigene Hilfedatei erstellt (help.chm). Aber wie kann ich die aufrufen??
    "run()" gilt nur für ausführbare Dateien, "call()" für Funktionen.... X(
    Hab in der Hilfe keinen Hinweis dazu gefunden.

  • Default in Combo

    • BugFix
    • 3. August 2006 um 23:31

    Ja Danke,
    das werd ich mal probieren.

    Guten Abend noch!

  • Default in Combo

    • BugFix
    • 3. August 2006 um 22:18

    Hi,
    standardmäßig setze ich ja beim Befüllen einer Combobox den Default-Wert

    Code
    GUICtrlSetData($combo, "item1|item2|item3" [,default])

    Kann ich bei gleichbleibendem Inhalt der Combobox den Default-Wert ändern ohne den Inhalt zu löschen und mit Verweis auf neuen Default neu zu befüllen?

  • Internet Mobil

    • BugFix
    • 1. August 2006 um 19:50

    Da auch ich diese typische männliche Eigenschaft [alles-haben-will-was-neu-und-elektronisch-ist] besitze ;) habe ich mir ein Pocket WEB zugelegt. Kostenmäßig ist das bei mir ein Nullsummenspiel, da ich durch Änderung meines Telefonanschlusses von ISDN auf Analog ca. 10 € pro Monat spare und etwa das gleiche für die Pocket-Web-Flat ausgebe.
    Was wirklich gut ist: eMailen und surfen, wo immer ich gehe oder stehe.
    Das Surfen ist natürlich eher etwas für Puristen. Für Multimedia ist das Teil nicht konzipiert (schon Flash ist ein unüberwindbares Hindernis).
    Wer aber mal schnell bei Google od. Wikipedia Infos sucht, kommt damit ganz gut zu rande.
    Eine Möglichkeit die gängigen Chat-Tools zu nutzen, hab ich noch nicht entdeckt. (Muß dann wohl den Teenie Chat auf Yahoo nutzen - grrrrrr)
    Was nicht ausgereift ist, ist die fehlende Interaktion zwischen Browser und Mailprogramm. So ist es z.B. nicht möglich Favoriten in eine Mail zu kopieren oder überhaupt Seiteninhalte zu kopieren und in einer Mail zu verwenden.
    Zusätzlich ist das Gerät (in Kombination mit einem Bluetooth-Headset) als Telefon verwendbar (Netzanbieter: Vodafone), allerdings zu horrenden Tarifen.
    SMS kostet die üblichen 19 ct. und läßt sich mit der wirklich guten QWERTZ - Tastatur auch flüssig schreiben.
    Kalender, Terminverwaltung, Kontakte sind auch enthalten. Die Anzahl der Kontakte ist auf 500 limitiert und sollte zumindest für private Zwecke ausreichen.

    Mein Fazit:
    Wer wie ich stets und ständig all seine Mails im Blick haben will und häufig Infos aus dem Web braucht, findet hier eine relativ preiswerte Variante.
    Qualitativ und preismäßig günstiger als gleiches über ein Web-fähiges Handy.
    Die Gerätekosten liegen bei einmalig ca. 50 € (teilweise gibt es gesponsorte Aktionen, hab meins für 19,90 € bekommen) und monatlichen 9,90 € für die Flat (innerhalb Deutschlands).
    Nutzung als Telefon und Versand SMS kostet extra.

    Falls jemand Fragen dazu hat - ich teile meine Erfahrungen gerne.

  • @SW_RESTORE klappt nicht

    • BugFix
    • 30. Juli 2006 um 19:30

    Danke,
    hat geklappt. Schönen Abend noch.

  • @SW_RESTORE klappt nicht

    • BugFix
    • 30. Juli 2006 um 19:16

    Hi Bernd,
    da du grad online bist.

    Ich würde gern die mit der Routine ermittelten Maus-Koordinaten beim Wiederherstellen des Fensters auf der aufrufenden Schaltfläche mit abbilden.
    Wie kann ich da 'nen Refresh durchführen?

    Probiert hatte ich
    Bei der Definition der GUI:
    $butt_lm_pos = GUICtrlCreateButton($label[31] & $lm_butt_x & ", " & $lm_butt_y, 32, 449, 345, 25)

    Nach Beendigung der Routine hab ich die Definition erneut aufgerufen. Ca. 10 sec. nach Wiederherstellung des Fensters erschienen die neuen Koordinaten um nach etwa der gleichen Zeit wieder zu verschwinden (die alten Koordinaten erschienen wieder).
    Hab kein Plan weshalb.

  • @SW_RESTORE klappt nicht

    • BugFix
    • 30. Juli 2006 um 18:58

    Hi,
    Problem ist gelöst. Hab das ganze separat getestet und brauchte dort nicht die Beta.
    Jetzt hab ich den Code in das kpl. Programm eingebunden, das ich mit der Beta ausführe - und siehe da es läuft.
    Aber eigentlich sollte es auch mit der Prod funktionieren. :evil:

  • @SW_RESTORE klappt nicht

    • BugFix
    • 30. Juli 2006 um 18:37

    Hallo,
    schaut mal auf folgenden Codeausschnitt. Der Code wird ausgeführt aber das Fenster nicht wiederhergestellt (auch nicht mit @SW_SHOW oder @SW_SHOWNORMAL). Wenn ich das Fenster von Hand wiederherstelle, läuft der Code normal weiter.
    Wo liegt der Fehler?

    Code
    ..
    ..
    Case $msg = $butt_lm_pos
    	HotKeySet("^+{SPACE}", "_LMpos")	; Hotkey für Bestätigung
    	MsgBox(0,"",$label[30]) 		; Aufforderung z. Mauspositionierung, Bestätigung mit <STRG>+<SHIFT>+<SPACE>
    	GUISetState(@SW_MINIMIZE, $gui_pref)	; GUI minimieren, User führt Aktion durch
    	WinWaitActive($label[16])		; Warten das die GUI wieder aktiv ist
    	HotKeySet("^+{SPACE}", "_Blind")        ; Aufheben des Hotkey
    ..
    ..
    ..
    Func _LMpos()
    	$pos = MouseGetPos()
    	$lm_butt_x = $pos[0]
    	$lm_butt_y = $pos[1]
    	GUISetState(@SW_RESTORE, $gui_pref)
    EndFunc
    
    
    Func _Blind()
    	; ohne Funktion - nur Aufhebung Hotkey
    EndFunc
    Alles anzeigen
  • Mal Zeit für 'nen Blick?

    • BugFix
    • 29. Juli 2006 um 17:03

    Ja, Danke!
    Bin eh grad dabei eine GUI für die Einstellungen zu schreiben (der User soll ja nicht in der INI rumfummeln), da werde ich die Abfrage für die Mausposition hinzufügen.

  • Mal Zeit für 'nen Blick?

    • BugFix
    • 29. Juli 2006 um 00:04

    Hallo @all

    Hab ein kleines Projekt, dass ich immer nur Testen kann, wenn ich beim Kunden bin (wg. Lizenzen hab ich keine Möglichkeit die Software bei mir laufen zu lassen).
    Falls jemand Lust hat, wär's nett, wenn ihr mal 'nen Blick drauf werft.
    Die Fremdanwendung läßt sich leider nicht über Controls steuern, daher Mausklicks und Send.
    Kurze Erläuterung:
    Je nach Einstellung startet die Anwendung mit dem Titel $main_wdw1 od. ~2. Je nach OS-Sprache wird für die Beschriftung deutsch oder englisch verwendet. Ziel ist es, einen auszuwählenden Report mit der dafür in der Anwendung eingebundenen Funktion für einen auszuwählenden Patienten als PDF-Datei zu exportieren.
    Wenn ihr irgendwelche Ungereimtheiten entdeckt - ich bin für jeden Hinweis dankbar.

    Spoiler anzeigen
    C
    #NoTrayIcon
    #include <GuiConstants.au3>
    #Include <Misc.au3>
    Dim $lbl_date, $lbl_name, $state1, $state2, $state3, $var, $report, $appl, $pdf_target
    Dim $main_wdw1, $main_wdw2, $i, $lang, $label[15], $split
    
    
    Select
    	Case StringInStr("0407,0807,0c07,1007,1407", @OSLang)	; Systemsprache Deutsch
    		$lang = 1
    	Case Else												; für alle anderen Englisch
    		$lang = 2
    EndSelect
    
    
    If FileExists(@ScriptDir & "\" & "ReportToPDF.INI") Then
    	$var = IniReadSection(@ScriptDir & "\" & "ReportToPDF.INI", "window")
    	$main_wdw1 = $var[1][1]
    	$main_wdw2 = $var[2][1]
    	$var = IniReadSection(@ScriptDir & "\" & "ReportToPDF.INI", "aktuell")
    	$report = $var[1][1]
    	$var = IniReadSection(@ScriptDir & "\" & "ReportToPDF.INI", "pdf")
    	$pdf_target = $var[1][1]
    	$var = IniReadSection(@ScriptDir & "\" & "ReportToPDF.INI", "application")
    	$appl = $var[1][1]
    	$var = IniReadSection(@ScriptDir & "\" & "ReportToPDF.INI", "language")
    	For $i = 1 To $var[0][0]
    		$split = StringSplit($var[$i][1],"|")
    		$label[$i] = $split[$lang]
    	Next
    Else
    	If $lang = 1 Then
    		MsgBox(4096, "Achtung !", "Die Datei: <ReportToPDF.INI> ist nicht im Ordner: <" & @ScriptDir & "\" & "> enthalten!" & @LF & "Ohne diese Datei kann das Programm nicht ausgeführt werden!")
    	Else
    		MsgBox(4096, "Attention !", "File: <ReportToPDF.INI> Is Not Included In Directory: <" & @ScriptDir & "\" & "> !" & @LF & "The Program Doesn't Work Without This File!")
    	EndIf
    	Exit
    EndIf
    
    
    $auswahl = GUICreate($label[1], 392, 131, -1, -1, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
    $Combo_r = GUICtrlCreateCombo("", 40, 30, 310, 21)
    $Button_esc = GUICtrlCreateButton($label[2], 21, 90, 150, 20)
    $Button_ok = GUICtrlCreateButton($label[3], 219, 90, 150, 20)
    $Group_r = GUICtrlCreateGroup($label[4], 20, 10, 350, 60)
    
    
    $gui = GUICreate($label[5], 381, 230, -1, -1, BitOR($WS_OVERLAPPEDWINDOW, $WS_CLIPSIBLINGS))
    $Group_1 = GUICtrlCreateGroup($label[6], 50, 30, 280, 160)
    $Button_2 = GUICtrlCreateButton($label[7], 90, 60, 200, 30)
    $Button_3 = GUICtrlCreateButton($label[8], 90, 140, 200, 30)
    
    
    _ListReport()
    GUISetState(@SW_SHOW, $auswahl)
    
    
    While 1
    	Sleep(500) ; Prozessorlast verringern
    	$state1 = WinGetState($main_wdw1)
    	$state2 = WinGetState($main_wdw2)
    	$state3 = WinGetState($label[1])
    	$msg = GUIGetMsg()
    	Select
    		Case $state1 = 0 And $state2 = 0 And BitAnd($state3,8) <> 8
    			Run($appl)
    			_report()
    			GUISetState(@SW_SHOW, $gui)
    		Case $msg = $Button_2
    			GUISetState(@SW_HIDE, $gui)
    			_report()
    		Case $msg = $GUI_EVENT_CLOSE Or $msg = $Button_3
    			GUISetState(@SW_HIDE, $gui)
    			ExitLoop
    		Case $msg = $Button_esc
    			GUISetState(@SW_HIDE, $auswahl)
    		Case $msg = $Button_ok
    			$var = GUICtrlRead($Combo_r)
    			If @error Then
    				IniWrite(@ScriptDir & "\" & "ReportToPDF.INI", "aktuell","report0", $var)
    			Else
    				IniDelete(@ScriptDir & "\" & "ReportToPDF.INI", "aktuell","report0" )
    				IniWrite(@ScriptDir & "\" & "ReportToPDF.INI", "aktuell", "report0",$var)
    			EndIf
    			GUISetState(@SW_HIDE, $auswahl)
    	EndSelect
    WEnd
    Send("!{F4}") ; Beenden LabManager
    Exit
    
    
    Func _report()
    Dim $var, $lm_butt_x, $lm_butt_y
    	$var = IniReadSection(@ScriptDir & "\" & "ReportToPDF.INI", "labmanbutton") ; bei untersch. Bildauflösung in INI anpassen
    	$lm_butt_x = $var[1][1]
    	$lm_butt_y = $var[2][1]	
    	BlockInput(1)
    	$lbl_name = ""
    	If $state1 = 8 Then
    		WinSetState($main_wdw1, "",@SW_MAXIMIZE)
    		MouseClick("Left",$lm_butt_x,$lm_butt_y,1,1) ; Button LabManager
    	EndIf
    	If $state2 = 8 Then
    		WinSetState($main_wdw2, "",@SW_MAXIMIZE)
    		MouseClick("Left",$lm_butt_x,$lm_butt_y,1,1) ; Button LabManager
    	EndIf
    	Send("{TAB 3}") ; Button CUSTOM SCORE SET REPORTS
    	Send("{ENTER}")
    	Sleep(1500)
    	Send($report) 	; Auswahl Report
    	Send("{ENTER}")
    	Send("^{TAB}") 	; WECHSELN ZU PATIENTENAUSWAHL
    	BlockInput(0)
    	While $lbl_name = ""
    		MsgBox(4096, $label[9], $label[10] & @LF & $label[11])
    		While _IsPressed("78") = 0 ; Warten auf User-Auswahl beendet und <F9> gedrückt
    			Sleep(250)
    		WEnd
    		Send("^{c}")	; ausgewählten Patienten kopieren in Zwischenablage
    		$lbl_name = ClipGet() 	; Patient aus Zwischenablage zuweisen
    		if $lbl_name = "" Then
    			MsgBox(4096, $label[12], $label[13] & @LF & $label[14])
    		EndIf
    	WEnd
    	BlockInput(1)
    	$lbl_name = StringReplace($lbl_name, " ", "")
    	$lbl_name = StringReplace($lbl_name, ",", "_")
    	Send("{TAB}")	; wechselt in das Feld Datum und markiert es
    	Send("^{c}")	; Datum kopieren in Zwischenablage
    	$lbl_date = ClipGet() 	; Datum aus Zwischenablage zuweisen
    	$lbl_date = _MultiDateToNorm($lbl_date, 1) ; in String wandeln (JJJJ-MM-TT)
    	Send("^+{TAB}") ; zurück zu Registerkarte REPORTS
    	Send("{TAB 22}") ; Button PDF
    	Send("{ENTER}")	 ; PDF-Speichermenü
    	Send($pdf_target & $lbl_name & "_" & $lbl_date) ; Dateinamen eintragen
    	Send("{TAB 2}")	; Button Speichern
    	Send("{ENTER}")	; Speichern
    	BlockInput(0)
    EndFunc   ;==>_report
    
    
    Func _ListReport()
    Dim $var, $tmp, $i
    	$var = IniReadSection(@ScriptDir & "\" & "ReportToPDF.INI", "reports")
    	For $i = 1 To $var[0][0]
    		$tmp = $var[$i][1]
    		If $tmp <> "" Then
    			GUICtrlSetData($Combo_r, $tmp, $var[1][1])
    		EndIf
    	Next
    EndFunc    ;==>_ChangeReport
    
    
    Func _MultiDateToNorm($date, $s_sort = 0)
    	If StringMid($date, 2, 1) = "." Then; Tag dt. einstellig ?
    		$date = "0" & $date; Vornull Tag
    	EndIf
    	If StringMid($date, 2, 1) = "/" Then; Monat amerik. einstellig ?
    		$date = "0" & $date; Vornull Monat
    	EndIf
    	If StringMid($date, 2, 1) = "-" Then; Tag amerik. lang einstellig ?
    		$date = "0" & $date; Vornull Tag
    	EndIf
    	If StringMid($date, 5, 1) = "." Then; Monat dt. einstellig ?
    		$tmp = StringTrimLeft($date, 3)
    		$date = StringLeft($date, 3) & "0" & $tmp; Vornull Monat
    	EndIf
    	If StringMid($date, 5, 1) = "/" Then; Tag amerik. einstellig ?
    		$tmp = StringTrimLeft($date, 3)
    		$date = StringLeft($date, 3) & "0" & $tmp; Vornull Tag
    	EndIf
    	If StringLen($date) = 8 Or StringLen($date) = 9 Then; Jahr 2-stellig ?
    		$strJJ = StringRight($date, 2) ; Zeichen für Jahr selektieren
    		$date = StringTrimRight($date, 2) ; beide Zeichen für Jahr abschneiden
    		If $strJJ < 30 Then
    			$strJH = "20"; 00 bis 29 sind 20..
    		Else
    			$strJH = "19"; 30 bis 99 sind 19..
    		EndIf
    		$date = $date & $strJH & $strJJ; Jahr jetzt 4-stellig
    	EndIf
    	Select
    		Case StringMid($date, 3, 1) = "/"; amerik. Format "MM/TT/JJJJ" ?
    			$strMM = StringLeft($date, 2)
    			$strTT = StringMid($date, 4, 2)
    			$date = $strTT & "." & $strMM & "." & StringRight($date, 4)
    		Case StringMid($date, 3, 1) = "-";amerik. Format "TT-Mon-JJJJ" ?
    			$strTT = StringLeft($date, 2)
    			$strMM = StringUpper(StringMid($date, 4, 3))
    			Select
    				Case $strMM = "JAN"
    					$strMM = "01"
    				Case $strMM = "FEB"
    					$strMM = "02"
    				Case $strMM = "MAR"
    					$strMM = "03"
    				Case $strMM = "APR"
    					$strMM = "04"
    				Case $strMM = "MAY"
    					$strMM = "05"
    				Case $strMM = "JUN"
    					$strMM = "06"
    				Case $strMM = "JUL"
    					$strMM = "07"
    				Case $strMM = "AUG"
    					$strMM = "08"
    				Case $strMM = "SEP"
    					$strMM = "09"
    				Case $strMM = "OCT"
    					$strMM = "10"
    				Case $strMM = "NOV"
    					$strMM = "11"
    				Case $strMM = "DEC"
    					$strMM = "12"
    			EndSelect
    			$date = $strTT & "." & $strMM & "." & StringRight($date, 4)
    	EndSelect
    	If $s_sort = 1 Then; Optionsschalter gesetzt ?
    		$date = StringRight($date, 4) & "-" & StringMid($date, 4, 2) & "-" & StringMid($date, 1, 2) ; als sortierbarer String
    	EndIf
    	Return $date
    EndFunc   ;==>_MultiDateToNorm
    Alles anzeigen
    Code
    ;ReportToPDF.INI
    [window]
    main1=SomnoStar Pro - 1. Standard
    main2=SomnoStar Pro - 1. Auswertung
    
    
    [reports]
    report0=Kommentare, Default
    report1=MSLT Report, Default
    report2=Polysomnography Report, Default
    report3=Short Report, Default
    report4=Long Report, Default
    report5=Sleep Stage Report, Default
    report6=Treatment Sequence Report, Default
    report7=
    report8=
    report9=
    
    
    [aktuell]
    report0=Polysomnography Report, Default
    
    
    [pdf]
    target=Z:\
    
    
    [application]
    appl_path=C:\4100\score.exe		
    
    
    [labmanbutton]
    pos_x=750
    pos_y=500
    
    
    [language]
    label1=Aktuellen Report Ändern|Change Current Report
    label2=Weiter mit aktuellem Report|Resume with Current Report
    label3=Neue Auswahl Bestätigen|Acknowledge New Choice
    label4=Aktueller Report - Bei Bedarf anderen Auswählen|Current Report - Change If Required
    label5=Report Exportieren|Report Export 
    label6=Report in PDF-Datei exportieren|Report Export To PDF-File
    label7=Einen weiteren Report exportieren|To Export Another Report
    label8=Beenden|Exit
    label9=Hinweis|Note
    label10=Bitte wählen Sie den Patienten aus|Please Select Patient
    label11=Bestätigen Sie die Auswahl mit Taste <F9> !|Acknowledge Your Choice With Key <F9> !
    label12=Achtung !|Attention !
    label13=- Es wurde kein Patient ausgewählt oder|- No Patient Was Selected Or
    label14=- Der gewählte Patient ist nicht markiert (blau hinterlegt).|- The Selected Patient Is Not Marked (Lay Underneath Blue).
    Alles anzeigen
  • nach Beta-Aktualisierung kein Zugriff mehr auf Beta

    • BugFix
    • 28. Juli 2006 um 18:48

    @jonk
    Faulhei.. äh, ich meine natürlich: Sparsamer Umgang mit Ressourcen :klatschen: ist doch schon seit jeher Antrieb für Forschung und Entwicklung.

    Hab grad die 3.1.1.132 installiert und das SciteUpgrade dazu. Und siehe da: Es geht wieder alles [fröhlichseinundsingen].

  • Frage zu WinGetState

    • BugFix
    • 26. Juli 2006 um 18:52

    Danke!
    Trotz der Affenhitze eine Supraschnelle Beantwortung hier - echt goil. :party4:

  • nach Beta-Aktualisierung kein Zugriff mehr auf Beta

    • BugFix
    • 26. Juli 2006 um 18:43

    Hab ich zwar nicht so richtig Bock drauf - aber scheinbar gehts nicht anders.
    Danke.

    @jonk
    Hast du Scite einfach drübergebügelt oder erst deinstalliert?

  • Frage zu WinGetState

    • BugFix
    • 26. Juli 2006 um 18:39

    Hier ein Codeschnipsel:

    Code
    GUISetState(@SW_SHOW, $auswahl)
    While 1
    	Sleep(500) ; Prozessorlast verringern
    	$state1 = WinGetState($main_wdw1)
    	$state2 = WinGetState($main_wdw2)
    	$state3 = WinGetState("Aktuellen Report Ändern")
    	$msg = GUIGetMsg()
    	Select
    		Case $state1 = 0 And $state2 = 0 And $state3 <> 8
    			Run($appl)
    			_report()
    			GUISetState(@SW_SHOW, $gui)
    Alles anzeigen


    Das vor Schleifeneintritt aufgerufene Fenster wird mit "$state3" abgefragt. Da das Fenster aktiv ist sollte WinGetState() hier doch '8' liefern und somit nicht die Bedingungen für die erste case-Abfrage erfüllen.
    Jedoch wird beim Test das Fenster kurz angezeigt und dann wird der Code unterhalb der ersten case-Bedingung ausgeführt.
    Hab ich was falsch gemacht?

  • nach Beta-Aktualisierung kein Zugriff mehr auf Beta

    • BugFix
    • 26. Juli 2006 um 18:22

    Hallo,
    hab mir gerade die neue Beta-Version auf meinem Laptop installiert. Obwohl alle Dateien der Beta vorhanden sind, der Registryeintrag stimmt und auch die au3.properties unverändert sind kann ich weder Syntaxcheck noch Run in der Beta ausführen.

    Code
    >C:\Programme\AutoIt3\SciTE\AutoIt3Wrapper\AutoIt3Wrapper.exe /beta /AU3Check /in "C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\ReportToPDF.au3"
    >Running AU3Check   params:  from:C:\Programme\AutoIt3\SciTE\au3check\
    C:\Dokumente und Einstellungen\Standard\Desktop\AU3-Scripte\ReportToPDF.au3(86,24) : ERROR: _IsPressed(): undefined function.
    		While _IsPressed("78")
    		~~~~~~~~~~~~~~~~~~~~~^

    Hat jemand 'ne Idee?
    Registry und au3.properties sind identisch mit den Einträgen auf meinem PC. Dort funzt auch alles - mit der vorigen Beta.

  • Wochentag- Feiertagsermittlung

    • BugFix
    • 16. Juli 2006 um 21:15

    Hab noch alles da.
    Hier in voller Schönheit die GUI:

    Spoiler anzeigen
    C
    #include-once
    ;===============================================================================
    ;								Contents
    ;	_DateToNorm()
    ;		Convert date ( YYYY/MM/DD ) to german notation ( DD.MM.YYYY )
    ;	_NowNormDate()
    ;		Output current date in german notation ( DD.MM.YYYY )
    ;	_Easter()
    ;		Returns the date of easter in specified year between 1583 and 2999
    ;	_WeekDay()
    ;		Determination weekday from any date, Formula by Christian Zeller
    ;	_Div()
    ;		Give the integer part of an division by using the same notation
    ;		like function 'Mod($a, $b)'
    ;
    ;===============================================================================
    
    
    #include <math.au3>
    
    
    ;===============================================================================
    ;
    ; Function Name:   	_DateToNorm()
    ;
    ; Description:      Convert date ( YYYY/MM/DD ) to german notation ( DD.MM.YYYY )
    ;
    ; Parameter:		$date(YYYY/MM/DD)
    ;
    ; Return Value:		(DD.MM.YYYY)
    ;
    ;===============================================================================
    Func _DateToNorm($date)
    	Return StringMid($date,9) & "." & StringMid($date,6,2) & "." & StringMid($date,1,4)
    EndFunc
    
    
    ;===============================================================================
    ;
    ; Function Name:   	_NowNormDate()
    ;
    ; Description:      Output current date in german notation ( DD.MM.YYYY )
    ;
    ; Parameter:		Non
    ;
    ; Return Value:		(DD.MM.YYYY)
    ;
    ;===============================================================================
    Func _NowNormDate()
    	Return ( @MDAY & "." & @MON & "." & @YEAR )
    EndFunc
    
    
    ;===============================================================================
    ;
    ; Function Name:   	_Easter()
    ;
    ; Description:      Returns the date of easter in specified year
    ;                   between 1583 and 2999
    ; Parameter(s):     $year
    ; 
    ; Return Value(s):  On Success - easterdate
    ;                   On Failure - -1 and sets @ERROR = 1
    ; Author(s):        BugFix (bug_fix@web.de)
    ; Note(s):          
    ;
    ;===============================================================================
    Func _Easter($year)
    	;Determination Easter with formula by C. F. Gauss
    	;Ermittlung Ostern (Osterformel C. F. Gauss)
    	If $year > 1582 And $year < 3000 Then		
    		$a = Mod($year,19)
    		$b = Mod($year,4)
    		$c = Mod($year,7)
    		$H1 = _Div($year,100)	; _Div($a, $b) is a userdefined function 
    		$H2 = _Div($year,400)	; Int($year / 100) give the same output
    		$N = 4 + $H1 - $H2
    		$M = 15 + $H1 - $H2 - _Floor(_Div((8 * $H1 + 13),25))
    		$d = Mod((19 * $a + $M),30)
    		$e = Mod((2 * $b + 4 * $c + 6 * $d + $N),7)
    		If $d + $e = 35 Then
    			$Easter = 50
    		Else
    			If $d = 28 And $e =6 And $a > 10 Then
    				$Easter = 49
    			Else
    				$Easter = 22 + $d + $e
    			EndIf
    		EndIf
    		If $Easter < 32 Then
    			$EasterDay = $Easter
    			$EasterMonth = "03"			
    		Else
    			$EasterDay = $Easter - 31
    			$EasterMonth = "04"
    		EndIf
    		If $EasterDay < 10 Then
    			$EasterDay = "0" & $Easterday
    		EndIf
    		$EasterDate = $year & "/" & $EasterMonth & "/" & $EasterDay
    ;		$EasterDate = $EasterDay & "." & $EasterMonth & "." & $year			german notation
    	Else
    		$EasterDate = -1	; input year is out of range
    		SetError(1)
    	EndIf
    	Return $EasterDate
    EndFunc	;==>_easter()
    
    
    ;===============================================================================
    ;
    ; Function Name:   	_WeekDay()
    ;
    ; Description:     	Determination weekday from any date
    ;					Formula by Christian Zeller
    ;
    ; Parameter:		$day, $mon, $year (as integer)
    ;
    ; Return Value:		Weekday
    ;
    ; Author(s):        BugFix (bug_fix@web.de)
    ;
    ; It works correct for Gregorian calendar (1583 - 8201)
    ;===============================================================================
    Func _WeekDay($day, $month, $year)
    		$leap = 0
    		If _DateIsLeapYear($year) Then			;check leapyear
    			$leap = 1
    		EndIf
    		$D = $day
    		;check february date and correct if out of range
    		If $month = 2 and $D > 28 Then			
    			If $leap = 0 Then
    				$D = 28				
    			Else
    				$D = 29
    			EndIf
    			; as alternative - do'nt correct and give failure
    			;SetError(1)
    			;Return -1
    		EndIf
    		;check 30-day months and correct if out of range
    		If ($month = 4 Or $month = 6 Or $month = 9 Or $month = 11) And $D > 30 Then
    			$D = 30
    			; as alternative - do'nt correct and give failure
    			;SetError(1)
    			;Return -1
    		EndIf		
    		$C = Int($year/100)						;determination century
    		$Y = Mod($year, 100)					;determination year
    
    		If $month < 3 Then						;Jan. and Feb. be among to last year(century)
    			If $Y = 0 Then						
    				$Y = 99
    				$C =$C -1
    			Else
    				$Y = $Y - 1	
    			EndIf
    		EndIf
    
    		Select
    		Case $month > 2							;old latin calendar begins with month 'march'
    			$M = $month-2
    		Case Else
    			$M = $month+10
    		EndSelect
    
    		; Zeller's formula:
    		$W = Mod((_Floor(2.6*$M-0.2)+$D+$Y+(_Floor($Y/4))+(_Floor($C/4))-2*$C), 7)
    
    		; If $W is negativ , you must be add 7 , so that $W will be positiv. 
    		; This number is equivalent to weekday.
    		If $W < 0 Then
    			$W = $W + 7
    		EndIf
    
    		Select
    		Case $W = 0				
    			$WeekDay = "Sonntag"		; Sunday
    		Case $W = 1
    			$WeekDay = "Montag"			; Monday
    		Case $W = 2
    			$WeekDay = "Dienstag"		; Tuesday
    		Case $W = 3
    			$WeekDay = "Mittwoch"		; Wednesday
    		Case $W = 4
    			$WeekDay = "Donnerstag"		; Thursday
    		Case $W = 5
    			$WeekDay = "Freitag"		; Friday
    		Case $W = 6
    			$WeekDay = "Sonnabend"		; Saturday
    		EndSelect		
    		Return $WeekDay
    EndFunc	;==>_WeekDay
    
    
    ;===============================================================================
    ;
    ; Function Name:   	_Div()
    ;
    ; Description:     	Give the integer part of an division
    ;
    ; Syntax:          	_Div(value1, value2)
    ;
    ; Parameter(s):    	value1	= dividend
    ;                  	value2 	= divisor
    ;
    ;===============================================================================
    Func _Div($a, $b)
    	Return Int($a / $b)
    EndFunc	;==>_Div
    
    
    ;=====================================================================================================
    ;	Beginn Code																						 ;
    ;=====================================================================================================
    
    
    ; ----------------------------------------------------------------------------
    ;
    ; AutoIt Version: 3.1.0
    ;
    ; Osterformel (Gauss)
    ;      a = Jahr mod 19
    ;     b = Jahr mod 4
    ;     c = Jahr mod 7
    ;    H1 = Jahr div 100
    ;    H2 = Jahr div 400
    ;     N = 4 + H1 - H2
    ;     M = 15 + H1 - H2 - [(8 * H1 + 13) div 25]
    ;     d = (19 * a + M) mod 30
    ;     e = (2 * b + 4 * c + 6 * d + N) mod 7
    ; wenn d + e = 35, dann ostern = 50
    ; wenn d = 28 und e = 6 und a > 10, dann ostern = 49
    ; in allen anderen Fällen: ostern = 22 + d + e
    ; ostern: Ostersonntag als Märzdatum
    ;
    ; ----------------------------------------------------------------------------
    
    
    #include <GuiConstants.au3>
    #include <Date.au3>
    #include <math.au3>
    
    
    
    
    GuiCreate("Wochen- und Feiertagsbestimmung", 680, 485,(@DesktopWidth-680)/2, (@DesktopHeight-485)/2 )
    GUISetBkColor (0xFFFACD)
    $L_Header = GuiCtrlCreateLabel("Bestimmen Sie den Wochentag ! (gültig: 1583 - 8201)", 200, 10, 280, 20)
    GUICtrlSetColor($L_Header,0xFF0000)
    $L_CurrDate = GuiCtrlCreateLabel(_NowNormDate(),620,10,60,20)
    
    
    ;Gruppe Optionsfelder zur Datumsauswahl
    $Group_T = GuiCtrlCreateGroup("Tag", 15, 25, 650, 60)
    $R1 = GuiCtrlCreateRadio("01", 20, 45, 30, 15)
    GUICtrlSetState($R1,$gui_checked)
    $R2 = GuiCtrlCreateRadio("02", 60, 45, 30, 15)
    $R3 = GuiCtrlCreateRadio("03", 100, 45, 30, 15)
    $R4 = GuiCtrlCreateRadio("04", 140, 45, 30, 15)
    $R5 = GuiCtrlCreateRadio("05", 180, 45, 30, 15)
    $R6 = GuiCtrlCreateRadio("06", 220, 45, 30, 15)
    $R7 = GuiCtrlCreateRadio("07", 260, 45, 30, 15)
    $R8 = GuiCtrlCreateRadio("08", 300, 45, 30, 15)
    $R9 = GuiCtrlCreateRadio("09", 340, 45, 30, 15)
    $R10 = GuiCtrlCreateRadio("10", 380, 45, 30, 15)
    $R11 = GuiCtrlCreateRadio("11", 420, 45, 30, 15)
    $R12 = GuiCtrlCreateRadio("12", 460, 45, 30, 15)
    $R13 = GuiCtrlCreateRadio("13", 500, 45, 30, 15)
    $R14 = GuiCtrlCreateRadio("14", 540, 45, 30, 15)
    $R15 = GuiCtrlCreateRadio("15", 580, 45, 30, 15)
    $R16 = GuiCtrlCreateRadio("16", 20, 60, 30, 15)
    $R17 = GuiCtrlCreateRadio("17", 60, 60, 30, 15)
    $R18 = GuiCtrlCreateRadio("18", 100, 60, 30, 15)
    $R19 = GuiCtrlCreateRadio("19", 140, 60, 30, 15)
    $R20 = GuiCtrlCreateRadio("20", 180, 60, 30, 15)
    $R21 = GuiCtrlCreateRadio("21", 220, 60, 30, 15)
    $R22 = GuiCtrlCreateRadio("22", 260, 60, 30, 15)
    $R23 = GuiCtrlCreateRadio("23", 300, 60, 30, 15)
    $R24 = GuiCtrlCreateRadio("24", 340, 60, 30, 15)
    $R25 = GuiCtrlCreateRadio("25", 380, 60, 30, 15)
    $R26 = GuiCtrlCreateRadio("26", 420, 60, 30, 15)
    $R27 = GuiCtrlCreateRadio("27", 460, 60, 30, 15)
    $R28 = GuiCtrlCreateRadio("28", 500, 60, 30, 15)
    $R29 = GuiCtrlCreateRadio("29", 540, 60, 30, 15)
    $R30 = GuiCtrlCreateRadio("30", 580, 60, 30, 15)
    $R31 = GuiCtrlCreateRadio("31", 620, 60, 30, 15)
    
    
    $Group_M = GuiCtrlCreateGroup("Monat", 15, 100, 255, 60)
    $R1m = GuiCtrlCreateRadio("01", 20, 120, 30, 15)
    GUICtrlSetState($R1m,$gui_checked)
    $R2m = GuiCtrlCreateRadio("02", 60, 120, 30, 15)
    $R3m = GuiCtrlCreateRadio("03", 100, 120, 30, 15)
    $R4m = GuiCtrlCreateRadio("04", 140, 120, 30, 15)
    $R5m = GuiCtrlCreateRadio("05", 180, 120, 30, 15)
    $R6m = GuiCtrlCreateRadio("06", 220, 120, 30, 15)
    $R7m = GuiCtrlCreateRadio("07", 20, 135, 30, 15)
    $R8m = GuiCtrlCreateRadio("08", 60, 135, 30, 15)
    $R9m = GuiCtrlCreateRadio("09", 100, 135, 30, 15)
    $R10m = GuiCtrlCreateRadio("10", 140, 135, 30, 15)
    $R11m = GuiCtrlCreateRadio("11", 180, 135, 30, 15)
    $R12m = GuiCtrlCreateRadio("12", 220, 135, 30, 15)
    
    
    $L_MsgTag = GUICtrlCreateLabel("",340,100,200,20)
    GUICtrlSetColor($L_MsgTag,0xFF0000)
    $L_Year = GuiCtrlCreateLabel("Jahr", 340, 122, 40, 20)
    $But_minus = GUICtrlCreateButton("-",406,123,15,15)
    $But_plus = GUICtrlCreateButton("+",468,123,15,15)
    $Inp_Year = GUICtrlCreateInput(StringMid(_NowCalcDate(),1,4), 425, 120, 40, 20)
    $But_Start = GuiCtrlCreateButton("Start", 615, 105, 50, 20)
    $But_Ende = GUICtrlCreateButton("Ende",615,145,50,20)
    $L_LeapYear = GUICtrlCreateLabel("",500,122,80,20)
    $L_WeekDay = GuiCtrlCreateLabel("Wochentag:", 340, 145, 90, 20)
    $L_WDayName = GuiCtrlCreateLabel("", 417, 145, 90, 20)
    $L_Feiertage = GUICtrlCreateLabel("Die Feiertage dieses Jahres", 265, 175, 150, 20)
    $L_Fix = GUICtrlCreateLabel("Unveränderlich:", 70, 200, 90, 20)
    $L_Variabel = GUICtrlCreateLabel("Veränderlich (gültig: 1583 - 2999):", 380, 200, 170,20)
    GUICtrlSetColor($L_Feiertage,0xFF0000)
    GUICtrlSetColor($L_Fix,0xFF0000)
    GUICtrlSetColor($L_Variabel,0xFF0000)
    GUICtrlSetColor($L_LeapYear,0x0000FF)
    GUICtrlSetColor($L_WDayName,0xFF0000)
    ; Fixe Feiertage:
    $L_Neuj = GUICtrlCreateLabel("Neujahr", 80, 220, 90, 20)				
    $L_NeujDat = GUICtrlCreateLabel("01.01.", 230, 220, 70, 20)
    $WD_N = GUICtrlCreateLabel("",275,220,60,20)
    $L_3K = GUICtrlCreateLabel("Heilige Drei Könige", 80, 235, 110, 20)
    $L_3KDat = GUICtrlCreateLabel("06.01.", 230, 235, 70, 20)
    $WD_3K = GUICtrlCreateLabel("",275,235,60,20)
    $L_Val = GUICtrlCreateLabel("Valentinstag", 80, 250, 110, 20)
    $L_ValDat = GUICtrlCreateLabel("14.02.", 230, 250,70,20)
    $WD_Val = GUICtrlCreateLabel("",275,250,60,20)
    $L_Mai = GUICtrlCreateLabel("Maifeiertag",80,265,110,20)
    $L_MaiDat = GUICtrlCreateLabel("01.05.",230,265,70,20)
    $WD_Mai = GUICtrlCreateLabel("",275,265,60,20)
    $L_Einheit =GUICtrlCreateLabel("Tag der Deutschen Einheit",80,280,145,20)
    $L_EinheitDat =GUICtrlCreateLabel("03.10.",230,280,70,20)
    $WD_Einheit = GUICtrlCreateLabel("",275,280,60,20)
    $L_Ref = GUICtrlCreateLabel("Reformationstag",80,295,145,20)
    $L_RefDat = GUICtrlCreateLabel("31.10.",230,295,70,20)
    $WD_Ref = GUICtrlCreateLabel("",275,295,60,20)
    $L_Aller = GUICtrlCreateLabel("Allerheiligen",80,310,145,20)
    $L_AllerDat = GUICtrlCreateLabel("01.11.",230,310,70,20)
    $WD_Aller = GUICtrlCreateLabel("",275,310,60,20)
    $L_HlA = GUICtrlCreateLabel("Heiligabend",80,325,145,20)
    $L_HlADat = GUICtrlCreateLabel("24.12.",230,325,70,20)
    $WD_Heil = GUICtrlCreateLabel("",275,325,60,20)
    $L_1WT = GUICtrlCreateLabel("1. Weihnachtsfeiertag",80,340,145,20)
    $L_1WTDat = GUICtrlCreateLabel("25.12.",230,340,70,20)
    $WD_1W = GUICtrlCreateLabel("",275,340,60,20)
    $L_2WT = GUICtrlCreateLabel("2. Weihnachtsfeiertag",80,355,145,20)
    $L_2WTDat = GUICtrlCreateLabel("26.12.",230,355,70,20)
    $WD_2W = GUICtrlCreateLabel("",275,355,60,20)
    $L_Sil = GUICtrlCreateLabel("Silvester",80,370,145,20)
    $L_SilDat = GUICtrlCreateLabel("31.12.",230,370,70,20)
    $WD_Sil = GUICtrlCreateLabel("",275,370,60,20)
    
    
    $L_Advent = GUICtrlCreateLabel("Adventstage:",185,420,80,20)
    GUICtrlSetColor($L_Advent,0xFF0000)
    $L_1Adv = GUICtrlCreateLabel("1. Advent",80,440,60,20)
    $L_1AdvDat = GUICtrlCreateLabel("",90,460,40,20)
    $L_2Adv = GUICtrlCreateLabel("2. Advent",150,440,60,20)
    $L_2AdvDat = GUICtrlCreateLabel("",160,460,40,20)
    $L_3Adv = GUICtrlCreateLabel("3. Advent",220,440,60,20)
    $L_3AdvDat = GUICtrlCreateLabel("",230,460,40,20)
    $L_4Adv = GUICtrlCreateLabel("4. Advent",290,440,60,20)
    $L_4AdvDat = GUICtrlCreateLabel("",300,460,40,20)
    GUICtrlSetColor($L_1AdvDat,0x0000ff)
    GUICtrlSetColor($L_2AdvDat,0x0000ff)
    GUICtrlSetColor($L_3AdvDat,0x0000ff)
    GUICtrlSetColor($L_4AdvDat,0x0000ff)
    ; Variable Feiertage:
    $L_WFast  = GUICtrlCreateLabel("Weiberfastnacht",390,220,145,20)		
    $L_WFastDate  = GUICtrlCreateLabel("",550,220,70,20)
    $L_Ros  = GUICtrlCreateLabel("Rosenmontag",390,235,145,20)
    $L_RosDat  = GUICtrlCreateLabel("",550,235,70,20)
    $L_Fast  = GUICtrlCreateLabel("Fastnacht",390,250,145,20)
    $L_FastDat  = GUICtrlCreateLabel("",550,250,70,20)
    $L_Asch  = GUICtrlCreateLabel("Aschermittwoch",390,265,145,20)
    $L_AschDat  = GUICtrlCreateLabel("",550,265,70,20)
    $L_GrDo  = GUICtrlCreateLabel("Gründonnerstag",390,280,145,20)
    $L_GrDoDat  = GUICtrlCreateLabel("",550,280,70,20)
    $L_Kar  = GUICtrlCreateLabel("Karfreitag",390,295,145,20)
    $L_KarDat  = GUICtrlCreateLabel("",550,295,70,20)
    $L_OSa  = GUICtrlCreateLabel("Ostersamstag",390,310,145,20)
    $L_OSaDat  = GUICtrlCreateLabel("",550,310,70,20)
    $L_OSo  = GUICtrlCreateLabel("Ostersonntag",390,325,145,20)
    $L_OSoDat  = GUICtrlCreateLabel("",550,325,70,20)
    $L_OMo  = GUICtrlCreateLabel("Ostermontag",390,340,145,20)
    $L_OMoDat  = GUICtrlCreateLabel("",550,340,70,20)
    $L_HiFa  = GUICtrlCreateLabel("Christi Himmelfahrt",390,355,145,20)
    $L_HiFaDat  = GUICtrlCreateLabel("",550,355,70,20)
    $L_Mutter = GUICtrlCreateLabel("Muttertag",390,370,145,20)
    $L_MutterDat  = GUICtrlCreateLabel("",550,370,70,20)	
    $L_PfSo  = GUICtrlCreateLabel("Pfingstsonntag",390,385,145,20)
    $L_PfSoDat  = GUICtrlCreateLabel("",550,385,70,20)
    $L_PfMo  = GUICtrlCreateLabel("Pfingstmontag",390,400,145,20)
    $L_PfMoDat  = GUICtrlCreateLabel("",550,400,70,20)
    $L_Fro  = GUICtrlCreateLabel("Fronleichnam",390,415,145,20)
    $L_FroDat  = GUICtrlCreateLabel("",550,415,70,20)
    $L_Ernte  = GUICtrlCreateLabel("Erntedankfest",390,430,145,20)
    $L_ErnteDat  = GUICtrlCreateLabel("",550,430,70,20)
    $L_BuB  = GUICtrlCreateLabel("Buß- und Bettag",390,445,145,20)
    $L_BuBDat  = GUICtrlCreateLabel("",550,445,70,20)
    $L_TotSo = GUICtrlCreateLabel("Totensonntag",390,460,145,20)
    $L_TotSoDat = GUICtrlCreateLabel("",550,460,70,20)
    
    
    GuiSetState()
    While 1
    	$msg = GuiGetMsg()
    	If $msg = $But_minus Then
    		GUICtrlSetData($Inp_Year,GUICtrlRead($Inp_Year)-1)
    	EndIf
    	If $msg = $But_plus Then
    		GUICtrlSetData($Inp_Year,GUICtrlRead($Inp_Year)+1)
    	EndIf	
    	If $msg = $But_Start Then
    		GUICtrlSetData($L_MsgTag,"")
    		GUICtrlSetData($L_LeapYear,"")
    		GUICtrlSetData($L_WFastDate,"")
    		GUICtrlSetData($L_RosDat,"")
    		GUICtrlSetData($L_FastDat,"")
    		GUICtrlSetData($L_AschDat,"")
    		GUICtrlSetData($L_GrDoDat,"")
    		GUICtrlSetData($L_KarDat,"")
    		GUICtrlSetData($L_OSaDat,"")
    		GUICtrlSetData($L_OSoDat,"")
    		GUICtrlSetData($L_OMoDat,"")
    		GUICtrlSetData($L_HiFaDat,"")
    		GUICtrlSetData($L_PfSoDat,"")
    		GUICtrlSetData($L_MutterDat,"")
    		GUICtrlSetData($L_PfMoDat,"")
    		GUICtrlSetData($L_FroDat,"")
    		GUICtrlSetData($L_ErnteDat,"")
    		GUICtrlSetData($L_TotSoDat,"")
    		GUICtrlSetData($L_BuBDat,"")
    		GUICtrlSetData($L_WDayName, "")
    		GUICtrlSetData($WD_N,"")
    		GUICtrlSetData($WD_3K,"")
    		GUICtrlSetData($WD_Val,"")
    		GUICtrlSetData($WD_Mai,"")
    		GUICtrlSetData($WD_Einheit,"")
    		GUICtrlSetData($WD_Ref,"")
    		GUICtrlSetData($WD_Aller,"")
    		GUICtrlSetData($WD_Heil,"")
    		GUICtrlSetData($WD_1W,"")
    		GUICtrlSetData($WD_2W,"")
    		GUICtrlSetData($WD_Sil,"")
    		GUICtrlSetData($L_1AdvDat,"")
    		GUICtrlSetData($L_2AdvDat,"")
    		GUICtrlSetData($L_3AdvDat,"")
    		GUICtrlSetData($L_4AdvDat,"")
    
    
    		$day1 = GUICtrlRead($R1)
    		$day2 = GUICtrlRead($R2)
    		$day3 = GUICtrlRead($R3)
    		$day4 = GUICtrlRead($R4)
    		$day5 = GUICtrlRead($R5)
    		$day6 = GUICtrlRead($R6)
    		$day7 = GUICtrlRead($R7)
    		$day8 = GUICtrlRead($R8)
    		$day9 = GUICtrlRead($R9)
    		$day10 = GUICtrlRead($R10)
    		$day11 = GUICtrlRead($R11)
    		$day12 = GUICtrlRead($R12)
    		$day13 = GUICtrlRead($R13)
    		$day14 = GUICtrlRead($R14)
    		$day15 = GUICtrlRead($R15)
    		$day16 = GUICtrlRead($R16)
    		$day17 = GUICtrlRead($R17)
    		$day18 = GUICtrlRead($R18)
    		$day19 = GUICtrlRead($R19)
    		$day20 = GUICtrlRead($R20)
    		$day21 = GUICtrlRead($R21)
    		$day22 = GUICtrlRead($R22)
    		$day23 = GUICtrlRead($R23)
    		$day24 = GUICtrlRead($R24)
    		$day25 = GUICtrlRead($R25)
    		$day26 = GUICtrlRead($R26)
    		$day27 = GUICtrlRead($R27)
    		$day28 = GUICtrlRead($R28)
    		$day29 = GUICtrlRead($R29)
    		$day30 = GUICtrlRead($R30)
    		$day31 = GUICtrlRead($R31)	
    
    
    		$mon1 = GUICtrlRead($R1m)
    		$mon2 = GUICtrlRead($R2m)
    		$mon3 = GUICtrlRead($R3m)
    		$mon4 = GUICtrlRead($R4m)
    		$mon5 = GUICtrlRead($R5m)
    		$mon6 = GUICtrlRead($R6m)
    		$mon7 = GUICtrlRead($R7m)
    		$mon8 = GUICtrlRead($R8m)
    		$mon9 = GUICtrlRead($R9m)
    		$mon10 = GUICtrlRead($R10m)
    		$mon11 = GUICtrlRead($R11m)
    		$mon12 = GUICtrlRead($R12m)
    
    		Select
    		Case $day1 = 1
    			$D = 1
    		Case $day2 = 1
    			$D = 2	
    		Case $day3 = 1
    			$D = 3
    		Case $day4 = 1
    			$D = 4		
    		Case $day5 = 1
    			$D = 5
    		Case $day6 = 1
    			$D = 6	
    		Case $day7 = 1
    			$D = 7
    		Case $day8 = 1
    			$D = 8	
    		Case $day9 = 1
    			$D = 9
    		Case $day10 = 1
    			$D = 10	
    		Case $day11 = 1
    			$D = 11
    		Case $day12 = 1
    			$D = 12	
    		Case $day13 = 1
    			$D = 13
    		Case $day14 = 1
    			$D = 14		
    		Case $day15 = 1
    			$D = 15
    		Case $day16 = 1
    			$D = 16	
    		Case $day17 = 1
    			$D = 17
    		Case $day18 = 1
    			$D = 18	
    		Case $day19 = 1
    			$D = 19
    		Case $day20 = 1
    			$D = 20	
    		Case $day21 = 1
    			$D = 21
    		Case $day22 = 1
    			$D = 22	
    		Case $day23 = 1
    			$D = 23
    		Case $day24 = 1
    			$D = 24		
    		Case $day25 = 1
    			$D = 25
    		Case $day26 = 1
    			$D = 26	
    		Case $day27 = 1
    			$D = 27
    		Case $day28 = 1
    			$D = 28	
    		Case $day29 = 1
    			$D = 29
    		Case $day30 = 1
    			$D = 30			
    		Case $day31 = 1
    			$D = 31
    		EndSelect
    
    		Select
    		Case $mon1 = 1
    			$mon = 1
    		Case $mon2 = 1
    			$mon = 2	
    		Case $mon3 = 1
    			$mon = 3
    		Case $mon4 = 1
    			$mon = 4
    		Case $mon5 = 1
    			$mon = 5
    		Case $mon6 = 1
    			$mon = 6
    		Case $mon7 = 1
    			$mon = 7
    		Case $mon8 = 1
    			$mon = 8
    		Case $mon9 = 1
    			$mon = 9
    		Case $mon10 = 1
    			$mon = 10
    		Case $mon11 = 1
    			$mon = 11
    		Case $mon12 = 1
    			$mon = 12
    		EndSelect
    
    
    		$year = GUICtrlRead($Inp_Year)			;Eingegebenes Jahr(JJJJ)
    		$Schalt = 0
    		If _DateIsLeapYear($year) Then			;Überprüfung Schaltjahr
    			$Schalt = 1
    			GUICtrlSetData($L_LeapYear,"Schaltjahr")
    		EndIf		
    		If $mon = 2 and $D > 28 Then			;Überprüfung/Korrektur Februardatum
    			If $Schalt = 0 Then
    				$D = 28	
    				GUICtrlSetState($R28,$gui_checked)
    			Else
    				$D = 29
    				GUICtrlSetState($R29,$gui_checked)
    			EndIf
    			GUICtrlSetData($L_MsgTag,"'Tag' für Berechnung auf "& $D & " korrigiert!")
    		EndIf
    		If ($mon = 4 Or $mon = 6 Or $mon = 9 Or $mon = 11 ) And $D > 30 Then
    			$D = 30
    			GUICtrlSetData($L_MsgTag,"'Tag' für Berechnung auf "& $D & " korrigiert!")
    			GUICtrlSetState($R30,$gui_checked)
    		EndIf		
    		$C = Int($year/100)						;Bestimmung Jahrhundert
    		$J = Mod($year, 100)					;Bestimmung Jahr
    
    		If $mon < 3 Then						;Jan und Feb gehören zum Vorjahr(hundert)
    			If $J = 0 Then						
    				$J = 99
    				$C =$C -1
    			Else
    				$J = $J - 1	
    			EndIf
    		EndIf
    
    		Select
    		Case $mon > 2							;Altrömische Zeitrechnung beginnt im März
    			$M = $mon-2
    		Case Else
    			$M = $mon+10
    		EndSelect
    
    		$W = Mod((_Floor(2.6*$M-0.2)+$D+$J+(_Floor($J/4))+(_Floor($C/4))-2*$C), 7)
    
    		; Ist das Ergebnis negativ , so addiert man 7 hinzu, so dass eine positive Zahl entsteht. 
    		; Diese Zahl entspricht dann dem Wochentag.
    		If $W < 0 Then
    			$W = $W + 7
    		EndIf
    
    		If $year > 1582 And $year < 8202 Then
    			Select
    			Case $W = 0				
    				GUICtrlSetData($L_WDayName, "Sonntag")
    			Case $W = 1
    				GUICtrlSetData($L_WDayName, "Montag")
    			Case $W = 2
    				GUICtrlSetData($L_WDayName, "Dienstag")
    			Case $W = 3
    				GUICtrlSetData($L_WDayName, "Mittwoch")
    			Case $W = 4
    				GUICtrlSetData($L_WDayName, "Donnerstag")
    			Case $W = 5
    				GUICtrlSetData($L_WDayName, "Freitag")
    			Case $W = 6
    				GUICtrlSetData($L_WDayName, "Sonnabend")
    			EndSelect
    		EndIf
    
    		GUICtrlSetData($WD_N,_WeekDay(1,1,$year))	
    		GUICtrlSetData($WD_3K,_WeekDay(6,1,$year))
    		GUICtrlSetData($WD_Val,_WeekDay(14,2,$year))
    		GUICtrlSetData($WD_Mai,_WeekDay(1,5,$year))
    		GUICtrlSetData($WD_Einheit,_WeekDay(3,10,$year))
    		GUICtrlSetData($WD_Ref,_WeekDay(31,10,$year))
    		GUICtrlSetData($WD_Aller,_WeekDay(1,11,$year))
    		GUICtrlSetData($WD_Heil,_WeekDay(24,12,$year))
    		GUICtrlSetData($WD_1W,_WeekDay(25,12,$year))
    		GUICtrlSetData($WD_2W,_WeekDay(26,12,$year))
    		GUICtrlSetData($WD_Sil,_WeekDay(31,12,$year))
    		GUICtrlSetColor($WD_N,0x0000ff)
    		GUICtrlSetColor($WD_3K,0x0000ff)
    		GUICtrlSetColor($WD_Val,0x0000ff)
    		GUICtrlSetColor($WD_Mai,0x0000ff)
    		GUICtrlSetColor($WD_Einheit,0x0000ff)
    		GUICtrlSetColor($WD_Ref,0x0000ff)
    		GUICtrlSetColor($WD_Aller,0x0000ff)
    		GUICtrlSetColor($WD_Heil,0x0000ff)
    		GUICtrlSetColor($WD_1W,0x0000ff)
    		GUICtrlSetColor($WD_2W,0x0000ff)
    		GUICtrlSetColor($WD_Sil,0x0000ff)
    
    		;Ermittlung Ostern und abhängige Feiertage (Osterformel Gauss)
    		If $year > 1582 And $year < 3000 Then		
    			$aa = Mod($year,19)
    			$bb = Mod($year,4)
    			$cc = Mod($year,7)
    			$H1 = _Div($year,100)
    			$H2 = _Div($year,400)
    			$N = 4 + $H1 - $H2
    			$MM = 15 + $H1 - $H2 - _Floor(_Div((8 * $H1 + 13),25))
    			$dd = Mod((19 * $aa + $MM),30)
    			$ee = Mod((2 * $bb + 4 * $cc + 6 * $dd + $N),7)
    			If $dd + $ee = 35 Then
    				$Easter = 50
    			Else
    				If $dd = 28 And $ee =6 And $aa > 10 Then
    					$Easter = 49
    				Else
    					$Easter = 22 + $dd + $ee
    				EndIf
    			EndIf
    			If $Easter < 32 Then
    				$EasterDay = $Easter
    				$EasterMonth = "03"			
    			Else
    				$EasterDay = $Easter - 31
    				$EasterMonth = "04"
    			EndIf
    			If $EasterDay < 10 Then
    				$EasterDay = "0" & $Easterday
    			EndIf
    
    			If $year < 1900 Then			;Datumsoperationen nur mgl. wenn > 1900 , Jahr wird konvertiert
    				$RestJahr = Mod($year,100)
    				If $Schalt = 1 Then				
    					if $RestJahr < 10 Then
    						$RestJahr = "0" & $RestJahr
    					EndIf
    					$Tempyear = 20 & $RestJahr
    				Else				
    					if $RestJahr < 10 Then
    						$RestJahr = "0" & $RestJahr
    					EndIf		
    					$Tempyear = 19 & $RestJahr
    				EndIf
    				$EasterDate = $Tempyear&"/"&$EasterMonth&"/"&$EasterDay
    			Else
    				$EasterDate = $year&"/"&$EasterMonth&"/"&$EasterDay
    			EndIf		
    			$WFastDate = _DateAdd( 'd',-52,$EasterDate)
    			$RosDat = _DateAdd( 'd',-48,$EasterDate)
    			$FastDat = _DateAdd( 'd',-47,$EasterDate)		
    			$AschDat = _DateAdd( 'd',-46,$EasterDate)
    			$GrDoDat = _DateAdd( 'd',-3,$EasterDate)
    			$KarDat = _DateAdd( 'd',-2,$EasterDate)
    			$OSaDat = _DateAdd( 'd',-1,$EasterDate)
    			$OSoDat = $EasterDate
    			$OMoDat = _DateAdd( 'd',1,$EasterDate)
    			$HiFaDat = _DateAdd( 'd',39,$EasterDate)
    			$PfSoDat = _DateAdd( 'd',49,$EasterDate)
    			$PfMoDat = _DateAdd( 'd',50,$EasterDate)
    			$FroDat = _DateAdd( 'd',60,$EasterDate)
    
    			;Umstellen auf TT.MM.JJJJ
    			$WFastDate = StringMid($WFastDate,9)&"."&StringMid($WFastDate,6,2)&"."&$year
    			$RosDat = StringMid($RosDat,9)&"."&StringMid($RosDat,6,2)&"."&$year
    			$FastDat = StringMid($FastDat,9)&"."&StringMid($FastDat,6,2)&"."&$year		
    			$AschDat = StringMid($AschDat,9)&"."&StringMid($AschDat,6,2)&"."&$year
    			$GrDoDat = StringMid($GrDoDat,9)&"."&StringMid($GrDoDat,6,2)&"."&$year
    			$KarDat = StringMid($KarDat,9)&"."&StringMid($KarDat,6,2)&"."&$year
    			$OSaDat = StringMid($OSaDat,9)&"."&StringMid($OSaDat,6,2)&"."&$year		
    			$OSoDat = StringMid($OSoDat,9)&"."&StringMid($OSoDat,6,2)&"."&$year
    			$OMoDat = StringMid($OMoDat,9)&"."&StringMid($OMoDat,6,2)&"."&$year
    			$HiFaDat = StringMid($HiFaDat,9)&"."&StringMid($HiFaDat,6,2)&"."&$year
    			$PfSoDat = StringMid($PfSoDat,9)&"."&StringMid($PfSoDat,6,2)&"."&$year
    			$PfMoDat = StringMid($PfMoDat,9)&"."&StringMid($PfMoDat,6,2)&"."&$year
    			$FroDat = StringMid($FroDat,9)&"."&StringMid($FroDat,6,2)&"."&$year
    
    			;Ermitteln nicht von Ostern abhängiger, veränderlicher Feiertage
    
    			;Muttertag = 2. Sonntag im Mai ABER wenn Pfingsten = 2.Sonntag im Mai dann ist Muttertag am 1. Sonntag
    			;Der 2. Sonntag kann nur zw. dem 8. u. 14.5. liegen
    			For $maitag = 8 To 14
    				If _Weekday($maitag,5,$year) = "Sonntag" Then
    					If $maitag < 10 Then
    						$maitag = "0" & $maitag
    					EndIf					
    					$MutterDat = $maitag & "." & "05." & $year
    					If $MutterDat = $PfSoDat Then
    						$MutterDat = _DateAdd( 'd', -7, $year&"/05/"&$maitag)
    						$MutterDat = _DateToNorm($MutterDat)
    					EndIf
    					ExitLoop
    				EndIf
    			Next			
    
    
    			;Erntedankfest 1. Sonntag im Oktober (zw. 1. u. 7.10.)
    			For $oktobertag = 1 To 7
    				If _Weekday($oktobertag,10,$year) = "Sonntag" Then
    					$oktobertag = "0" & $oktobertag
    					$ErnteDat = $oktobertag & "." & "10." & $year
    					ExitLoop
    				EndIf
    			Next
    
    
    			;4.Advent = Sonntag vor 25.12. (zw. 18. u. 24.12.)
    			For $deztag = 18 To 24
    				If _Weekday($deztag,12,$year) = "Sonntag" Then
    					$4AdvDat = $year & "/12/" & $deztag
    					$3AdvDat = _DateAdd( 'd', -7, $4AdvDat)
    					$2AdvDat = _DateAdd( 'd', -14, $4AdvDat)
    					$1AdvDat = _DateAdd( 'd', -21, $4AdvDat)
    					$TotSoDat = _DateAdd( 'd', -28, $4AdvDat)
    					$BuBDat = _DateAdd( 'd', -32, $4AdvDat)
    					ExitLoop
    				EndIf
    			Next
    			$4AdvDat = StringMid(_DateToNorm($4AdvDat),1,6)
    			$3AdvDat = StringMid(_DateToNorm($3AdvDat),1,6)
    			$2AdvDat = StringMid(_DateToNorm($2AdvDat),1,6)
    			$1AdvDat = StringMid(_DateToNorm($1AdvDat),1,6)
    			$TotSoDat = _DateToNorm($TotSoDat)
    			$BuBDat = _DateToNorm($BuBDat)
    
    
    			GUICtrlSetData($L_WFastDate, $WFastDate)
    			GUICtrlSetData($L_RosDat, $RosDat)
    			GUICtrlSetData($L_FastDat, $FastDat)
    			GUICtrlSetData($L_AschDat, $AschDat)
    			GUICtrlSetData($L_GrDoDat, $GrDoDat)
    			GUICtrlSetData($L_KarDat, $KarDat)
    			GUICtrlSetData($L_OSaDat, $OSaDat)
    			GUICtrlSetData($L_OSoDat, $OSoDat)
    			GUICtrlSetData($L_OMoDat, $OMoDat)
    			GUICtrlSetData($L_HiFaDat, $HiFaDat)
    			GUICtrlSetData($L_MutterDat,$MutterDat)
    			GUICtrlSetData($L_PfSoDat, $PfSoDat)
    			GUICtrlSetData($L_PfMoDat, $PfMoDat)
    			GUICtrlSetData($L_FroDat, $FroDat)
    			GUICtrlSetData($L_ErnteDat, $ErnteDat)
    			GUICtrlSetData($L_TotSoDat, $TotSoDat)
    			GUICtrlSetData($L_BuBDat, $BuBDat)
    			GUICtrlSetData($L_1AdvDat,$1AdvDat)
    			GUICtrlSetData($L_2AdvDat,$2AdvDat)
    			GUICtrlSetData($L_3AdvDat,$3AdvDat)
    			GUICtrlSetData($L_4AdvDat,$4AdvDat)			
    		EndIf
    
    	EndIf
    	Select
    	Case $msg = $GUI_EVENT_CLOSE
    		ExitLoop
    	Case $msg = $But_Ende
    		ExitLoop	
    	EndSelect
    WEnd
    Exit
    
    
    ;=====================================================================================================
    ;	Ende Code																						 ;
    ;=====================================================================================================
    Alles anzeigen

    Und hier noch die reine Feiertagsfunktion. Evtl. kann man hinter dem Feiertagsnamen das Bundeslandkürzel anhängen, sofern es kein allgemeingültiger Feiertag ist.

    Spoiler anzeigen
    C
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    ;	Funktion _Feiertage($Jahr)
    ;
    ;	gibt die Feiertage des übergebenen Jahres
    ;	als sortiertes Array[TT.MM.JJJJ \ Feiertag] zurück
    ;	(Trennzeichen veränderbar über Variable: $Delimiter)
    ;
    ;	Autor	BugFix (bug_fix@web.de)
    ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
    
    
    #include <math.au3>
    #include <Date.au3>
    #include <Array.au3>
    
    
    Func _Feiertage($year)
    	Dim $4AdvDat, $3AdvDat, $2AdvDat, $1AdvDat, $TotSoDat, $BuBDat, $MutterDat, $ErnteDat, $tmp, $Delimiter = "\"
    	Dim $HDays[32]
    
    ;fixe Feiertage
    	$HDays[0] = $year & "/01/01" & $Delimiter & "Neujahr"
    	$HDays[1] = $year & "/01/06" & $Delimiter & "Heilige Drei Könige"
    	$HDays[2] = $year & "/02/14" & $Delimiter & "Valentinstag"
    	$HDays[3] = $year & "/05/01" & $Delimiter & "Maifeiertag"
    	$HDays[4] = $year & "/10/03" & $Delimiter & "Tag der Deutschen Einheit"
    	$HDays[5] = $year & "/10/31" & $Delimiter & "Reformationstag"
    	$HDays[6] = $year & "/11/01" & $Delimiter & "Allerheiligen"
    	$HDays[7] = $year & "/12/24" & $Delimiter & "Heiligabend"
    	$HDays[8] = $year & "/12/25" & $Delimiter & "1. Weihnachtsfeiertag"
    	$HDays[9] = $year & "/12/26" & $Delimiter & "2. Weihnachtsfeiertag"
    	$HDays[10] = $year & "/12/31" & $Delimiter & "Silvester"
    
    
    ;variable Feiertage
    	$aa = Mod($year, 19)
    	$bb = Mod($year, 4)
    	$cc = Mod($year, 7)
    	$H1 = Int($year / 100)
    	$H2 = Int($year / 400)
    	$N = 4 + $H1 - $H2
    	$MM = 15 + $H1 - $H2 - _Floor (Int((8 * $H1 + 13) / 25))
    	$dd = Mod((19 * $aa + $MM), 30)
    	$ee = Mod((2 * $bb + 4 * $cc + 6 * $dd + $N), 7)
    	If $dd + $ee = 35 Then
    		$Easter = 50
    	Else
    		If $dd = 28 And $ee = 6 And $aa > 10 Then
    			$Easter = 49
    		Else
    			$Easter = 22 + $dd + $ee
    		EndIf
    	EndIf
    	If $Easter < 32 Then
    		$EasterDay = $Easter
    		$EasterMonth = "03"
    	Else
    		$EasterDay = $Easter - 31
    		$EasterMonth = "04"
    	EndIf
    	If $EasterDay < 10 Then
    		$EasterDay = "0" & $EasterDay
    	EndIf
    
    	If $year < 1900 Then ;Datumsoperationen nur mgl. wenn > 1900 , Jahr wird konvertiert
    		$RestJahr = Mod($year, 100)
    		If _DateIsLeapYear($year) Then
    			If $RestJahr < 10 Then
    				$RestJahr = "0" & $RestJahr
    			EndIf
    			$Tempyear = 20 & $RestJahr
    		Else
    			If $RestJahr < 10 Then
    				$RestJahr = "0" & $RestJahr
    			EndIf
    			$Tempyear = 19 & $RestJahr
    		EndIf
    		$EasterDate = $Tempyear & "/" & $EasterMonth & "/" & $EasterDay
    	Else
    		$EasterDate = $year & "/" & $EasterMonth & "/" & $EasterDay
    	EndIf
    	$WFastDate = _DateAdd( 'd', -52, $EasterDate)
    	$RosDat = _DateAdd( 'd', -48, $EasterDate)
    	$FastDat = _DateAdd( 'd', -47, $EasterDate)
    	$AschDat = _DateAdd( 'd', -46, $EasterDate)
    	$GrDoDat = _DateAdd( 'd', -3, $EasterDate)
    	$KarDat = _DateAdd( 'd', -2, $EasterDate)
    	$OSaDat = _DateAdd( 'd', -1, $EasterDate)
    	$OSoDat = $EasterDate
    	$OMoDat = _DateAdd( 'd', 1, $EasterDate)
    	$HiFaDat = _DateAdd( 'd', 39, $EasterDate)
    	$PfSoDat = _DateAdd( 'd', 49, $EasterDate)
    	$PfMoDat = _DateAdd( 'd', 50, $EasterDate)
    	$FroDat = _DateAdd( 'd', 60, $EasterDate)
    
    	;Ermitteln nicht von Ostern abhängiger, veränderlicher Feiertage
    	;Muttertag = 2. Sonntag im Mai ABER wenn Pfingsten = 2.Sonntag im Mai dann ist Muttertag am 1. Sonntag
    	;Der 2. Sonntag kann nur zw. dem 8. u. 14.5. liegen
    	For $maitag = 8 To 14
    		If _DateToDayOfWeek($year, 5, $maitag) = 1 Then
    			If $maitag < 10 Then
    				$maitag = "0" & $maitag
    			EndIf
    			$MutterDat = $year & "/05/" & $maitag
    			If $MutterDat = $PfSoDat Then
    				$MutterDat = _DateAdd( 'd', -7, $year & "/05/" & $maitag)
    			EndIf
    			ExitLoop
    		EndIf
    	Next
    
    	;Erntedankfest 1. Sonntag im Oktober (zw. 1. u. 7.10.)
    	For $oktobertag = 1 To 7
    		If _DateToDayOfWeek($year, 10, $oktobertag) = 1 Then
    			$oktobertag = "0" & $oktobertag
    			$ErnteDat = $year & "/10/" & $oktobertag
    			ExitLoop
    		EndIf
    	Next
    
    	;4.Advent = Sonntag vor 25.12. (zw. 18. u. 24.12.)
    	For $deztag = 18 To 24
    		If _DateToDayOfWeek($year, 12, $deztag) = 1 Then
    			$4AdvDat = $year & "/12/" & $deztag
    			$3AdvDat = _DateAdd( 'd', -7, $4AdvDat)
    			$2AdvDat = _DateAdd( 'd', -14, $4AdvDat)
    			$1AdvDat = _DateAdd( 'd', -21, $4AdvDat)
    			$TotSoDat = _DateAdd( 'd', -28, $4AdvDat)
    			$BuBDat = _DateAdd( 'd', -32, $4AdvDat)
    			ExitLoop
    		EndIf
    	Next
    
    	$HDays[11] = $WFastDate & $Delimiter & "Weiberfastnacht"
    	$HDays[12] = $RosDat & $Delimiter & "Rosenmontag"
    	$HDays[13] = $FastDat & $Delimiter & "Fastnacht"
    	$HDays[14] = $AschDat & $Delimiter & "Aschermittwoch"
    	$HDays[15] = $GrDoDat & $Delimiter & "Gründonnerstag"
    	$HDays[16] = $KarDat & $Delimiter & "Karfreitag"
    	$HDays[17] = $OSaDat & $Delimiter & "Ostersamstag"
    	$HDays[18] = $OSoDat & $Delimiter & "Ostersonntag"
    	$HDays[19] = $OMoDat & $Delimiter & "Ostermontag"
    	$HDays[20] = $HiFaDat & $Delimiter & "Christi Himmelfahrt"
    	$HDays[21] = $PfSoDat & $Delimiter & "Pfingstsonntag"
    	$HDays[22] = $PfMoDat & $Delimiter & "Pfingstmontag"
    	$HDays[23] = $MutterDat & $Delimiter & "Muttertag"
    	$HDays[24] = $FroDat & $Delimiter & "Fronleichnam"
    	$HDays[25] = $ErnteDat & $Delimiter & "Erntedankfest"
    	$HDays[26] = $BuBDat & $Delimiter & "Buß- und Bettag"
    	$HDays[27] = $TotSoDat & $Delimiter & "Totensonntag"
    	$HDays[28] = $1AdvDat & $Delimiter & "1. Advent"
    	$HDays[29] = $2AdvDat & $Delimiter & "2. Advent"
    	$HDays[30] = $3AdvDat & $Delimiter & "3. Advent"
    	$HDays[31] = $4AdvDat & $Delimiter & "4. Advent"
    	_ArraySort($HDays)
    ;Datum konvertieren zu TT.MM.JJJJ
    	For $i = 0 To 31
    		$tmp = StringSplit($HDays[$i], $Delimiter)
    		$HDays[$i] = StringMid($tmp[1], 9) & "." & StringMid($tmp[1], 6, 2) & "." & StringMid($tmp[1], 1, 4) & $Delimiter & $tmp[2]
    	Next
    	Return $HDays
    EndFunc   ;==>_Feiertage
    Alles anzeigen


    Edit 18.04.2009 Die überarbeitete Version findet ihr in Post 1.

    Dateien

    Wochentag_Feiertag.au3 27,92 kB – 873 Downloads

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

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