Hallo Freunde von AutoHotkey,
Gesucht ist eine Abfrage nach Wochentagen wie folgt.
~^j:: ; Drücke STRG + J und führe folgenden Befehl aus
Wenn heute Freitag ist, dann lasse folgendes laufen
Morgen = %A_Now% ; Schreibe das aktuelle Datum in die Variable Morgen
EnvAdd, Morgen, 3, Days ; Addiere 3 Tage und setze das Datum auf den kommenden Montag
FormatTime, Morgen, %Morgen%, dd.MM.yyyy ; Formatiere die Datumsanzeige 10.07.2019
Send, {Space}{#}%Morgen%{#}{Space} ; Gibt das Ergebnis aus und klammere das Ergebnis mit dem Sonderzeichen # und einem Leerzeichen vorn und hinten ein
Morgen = ; Variable Morgen löschen
return
Wenn heute Samstag ist, dann lasse folgendes laufen
Morgen = %A_Now% ; Schreibe das aktuelle Datum in die Variable Morgen
EnvAdd, Morgen, 2, Days ; Addiere 2 Tage und setze das Datum auf den kommenden Montag
FormatTime, Morgen, %Morgen%, dd.MM.yyyy ; Formatiere die Datumsanzeige 10.07.2019
Send, {Space}{#}%Morgen%{#}{Space} ; Gibt das Ergebnis aus und klammere das Ergebnis mit dem Sonderzeichen # und einem Leerzeichen vorn und hinten ein
Morgen = ; Variable Morgen löschen
return
An allen anderen Tage mache folgendes
Morgen = %A_Now% ; Schreibe das aktuelle Datum in die Variable Morgen
EnvAdd, Morgen, 1, Days ; Addiere einen Tag auf das aktuelle Datum
FormatTime, Morgen, %Morgen%, dd.MM.yyyy ; Formatiere die Datumsanzeige 10.07.2019
Send, {Space}{#}%Morgen%{#}{Space} ; Gibt das Ergebnis aus und klammere das Ergebnis mit dem Sonderzeichen # und einem Leerzeichen vorn und hinten ein
Morgen = ; Variable Morgen löschen
return
Es ändert sich im Code nur der Adder in der 2. Zeile
Möglicherweise lässt sich auch nur diese eine Zeile mit einer Wenn/Dann-Abfrage umbauen.
Am Ende drückt man STRG + J und es erscheint immer das Datum von Morgen im folgendem Format mit einem Leerzeichen davor und dahinter
#11.07.2019#
Für Freitag und Samstag ist der Sprung auf Montag gewünscht.
Gesucht ist eine Lösung für die Wenn/Dann Abfrage nach Wochentagen
Wenn/Dann Abfrage in Abhängigkeit eines Wochentages Topic is solved
Moderator: jNizM
Re: Wenn/Dann Abfrage in Abhängigkeit eines Wochentages
Du kannst das Kommando FormatTime mit der Option WDay nutzen, um den aktuellen Wochentag zu ermitteln. Abhängig davon kannst du dann ja wie du selbst geschrieben hast die zu addierende Zahl ermitteln
ciao
toralf
toralf
Re: Wenn/Dann Abfrage in Abhängigkeit eines Wochentages
... oder auch die eingebaute Variable A_WDay:
Code: Select all
~^j:: ; Drücke STRG + J und führe folgenden Befehl aus
Jetzt := A_Now
Wochentag := A_WDay
If (Wochentag = 6) ; Freitag
AddiereTage := 3
Else If (Wochentag = 7) ; Samstag
AddiereTage := 2
Else
AddiereTage := 1
Morgen := Jetzt
Morgen += %AddiereTage%, Days
FormatTime, Morgen, %Morgen%, dd.MM.yyyy ; Formatiere die Datumsanzeige 10.07.2019
Send, {Space}{#}%Morgen%{#}{Space} ; Gibt das Ergebnis aus und klammere das Ergebnis mit dem Sonderzeichen # und einem Leerzeichen vorn und hinten ein
Return
Re: Wenn/Dann Abfrage in Abhängigkeit eines Wochentages Topic is solved
Danke für die gelungene Lösung an "Just Me" und für den Hinweis von "toralf"
Die Lösung hätte ich in der Geschwindigkeit nicht gefunden.
Hier der vollständige Code für die Nachwelt.
Das Setzen/Addieren eines Datums in Abhängigkeit des aktuellen Wochentages über die If/Else Abfrage
Die Lösung hätte ich in der Geschwindigkeit nicht gefunden.
Hier der vollständige Code für die Nachwelt.
Das Setzen/Addieren eines Datums in Abhängigkeit des aktuellen Wochentages über die If/Else Abfrage
Code: Select all
~^j:: ; Drücke STRG + J und führe folgenden Befehl aus
Heute = %A_Now% ; Schreibe das aktuelle Datum in die Variable Heute
Wochentag := A_WDay ; Schreibe den aktuelle 1-stellige Wochentag (1-7) in die Variable Wochentag. 1 ist Sonntag in allen Sprach- und Regionseinstellungen.
If (Wochentag = 6) ; Freitag
AddiereTage := 3
Else If (Wochentag = 7) ; Samstag
AddiereTage := 2
Else
AddiereTage := 1 ; So, Mo, Di, Mi, Do
EnvAdd, Heute, AddiereTage, Days ; AddiereTage auf das heutige Datum und setze das Datum auf den kommenden Tag
FormatTime, Heute, %Heute%, dd.MM.yyyy ; Formatiere die Datumsanzeige wie folgt: 10.07.2019
Send, {Space}{#}%Heute%{#}{Space} ; Gibt das Ergebnis aus und klammere das Ergebnis mit dem Sonderzeichen # und einem Leerzeichen vorn und hinten ein
Heute = ; Variable Heute löschen
AddiereTage = ; Variable AddiereTage löschen
return
Who is online
Users browsing this forum: No registered users and 1 guest