Moin,
sorry für eine eventuell etwas dumme Frage .....
Kann man für ein Edit-Steuerelement eigentlich auch irgendwie festlegen, dass dort keine Zahlen (Ziffern) eingegeben werden dürfen?
Ich finde nur die Option, dass nur Zahlen eingegeben werden dürfen.
Ich habe ein TAB-Steuerelement und im Script eine Möglichkeit eingebaut, dass die Namen der Tabs nachträglich frei gewählt werden können. Bei Buchstaben kein Problem.
Sowie aber ein Tab nachträglich mit einer einfachen Zahl benannt wird, kommt die ganze TAB Konstruktion ins schleudern.
Daher möchte ich das irgendwie abfangen, bzw. vermeiden, dass jemand als Tab-Namen eine Zahl wählen kann.
Grüße
Zahlen in Editfeld verhindern Topic is solved
Moderator: jNizM
-
- Posts: 70
- Joined: 18 Feb 2017, 08:39
- Location: Hamburg / Germany
Re: Zahlen in Editfeld verhindern
Ein gLabel zur Validierung gegen den Typ? If var is not <gewünschter typ> ![Question :?:](./images/smilies/icon_question.gif)
Stellt sich nur die Frage ob "frei gewählt" (sinngemäß) mit derartigen Einschränkungen vereinbar ist. Was, wenn der User gerne Tab1/Tab2/... wählen möchte??
![Question :?:](./images/smilies/icon_question.gif)
Stellt sich nur die Frage ob "frei gewählt" (sinngemäß) mit derartigen Einschränkungen vereinbar ist. Was, wenn der User gerne Tab1/Tab2/... wählen möchte??
Re: Zahlen in Editfeld verhindern
Hatte ich auch schon länger gesucht und aufgegeben, da trotzdem über RMB->Einfügen alphanumerische Zeichen eingegeben werden können (wollte aber nicht auf die Funktionaltät RMB->Einfügen/STRG-V verzichten)
-
- Posts: 70
- Joined: 18 Feb 2017, 08:39
- Location: Hamburg / Germany
Re: Zahlen in Editfeld verhindern
Moin,
danke für die Antworten!
Ich habe inzwischen beim Tab-Namen herausgefunden, dass nur reine Zahlen das Gerüst durcheinander bringen. Wenn innerhalb des Tab-Namens eine Zahl steht, stört ihn das nicht (zB. Tab3 oder 3Tab sind problemlos). Von daher werde ich die von BoBo vorgeschlagene "If var is number" Variante mal einbauen und eine Message ausgeben, die den Nutzer darauf aufmerksam macht, dass nur Buchstaben+Zahlen Kombinationen erlaubt sind. Ist zwar kein abfangen des Problems, aber zumindest eine Hilfe.
Langfristig wäre es dann aber wohl doch besser, statische Tab-Namen zu verwenden ...
Oder ich müsste eine Prüfung bauen, die prüft, ob der Variablen Name des Tabs ein reiner Zahlenwert oder eine Buchstabe/Zahlen Kombi ist und ersteres dann verhindert. Wobei ich dann noch nicht wüsste, wie man das prüft.
danke für die Antworten!
Ich habe inzwischen beim Tab-Namen herausgefunden, dass nur reine Zahlen das Gerüst durcheinander bringen. Wenn innerhalb des Tab-Namens eine Zahl steht, stört ihn das nicht (zB. Tab3 oder 3Tab sind problemlos). Von daher werde ich die von BoBo vorgeschlagene "If var is number" Variante mal einbauen und eine Message ausgeben, die den Nutzer darauf aufmerksam macht, dass nur Buchstaben+Zahlen Kombinationen erlaubt sind. Ist zwar kein abfangen des Problems, aber zumindest eine Hilfe.
Langfristig wäre es dann aber wohl doch besser, statische Tab-Namen zu verwenden ...
Oder ich müsste eine Prüfung bauen, die prüft, ob der Variablen Name des Tabs ein reiner Zahlenwert oder eine Buchstabe/Zahlen Kombi ist und ersteres dann verhindert. Wobei ich dann noch nicht wüsste, wie man das prüft.
Merry Crisis and a happy new fear
Re: Zahlen in Editfeld verhindern
Ich habe mal eine Validierungsfunktion mit RegExp gemacht:
Code: Select all
teststr1:= "jhgvg 3A"
teststr2:= "jhgvg "
teststr3:= "3355555"
teststr4:= "jh44gcvg"
teststr5:= "jhgvgscfd"
teststr6:= "jh44 vg "
AFZ:=""""
loop, 6
{
Input:= teststr%a_index%
test.= AFZ Input AFZ "`tValidiert : " Validierung(Input) "`n"
}
Msgbox, % test
Validierung(Input){
; Nur Buchstaben und Zahlen oder nur Buchstaben
Int:=RegExMatch(Input, "[0-9]")
Char:=RegExMatch(Input, "[a-zA-Z]")
Other:=RegExMatch(Input, "[^a-zA-Z0-9]")
NurBuchstaben := !Int and !Other
NurBuchstabenUndZahlen := Int and char and !Other
Return NurBuchstabenUndZahlen or NurBuchstaben
}
/*
NurZahlen:= Int and !Char and !Other
NurBuchstaben := !Int and !Other
NurBuchstabenUndZahlen := Int and char and !Other
*/
-
- Posts: 70
- Joined: 18 Feb 2017, 08:39
- Location: Hamburg / Germany
Re: Zahlen in Editfeld verhindern
Hey, das ist cool, auch wenn ich mir das erstmal genauer anschauen muss um es zu verstehen (mit RegEx habe ich immer so meine Problemchen ...).
Eine Frage schon mal:
Könnte man da auch noch mit reinnehmen, dass Leerzeichen auch erlaubt sind? Oder zumindest innerhalb des Namens (vorne und hinten Leerzeichen machen ja eh kaum Sinn bei der Namensvergabe)?
Auf jeden Fall schon mal vielen Dank, werde damit mal ein wenig rumtesten.
Eine Frage schon mal:
Könnte man da auch noch mit reinnehmen, dass Leerzeichen auch erlaubt sind? Oder zumindest innerhalb des Namens (vorne und hinten Leerzeichen machen ja eh kaum Sinn bei der Namensvergabe)?
Auf jeden Fall schon mal vielen Dank, werde damit mal ein wenig rumtesten.
Merry Crisis and a happy new fear
-
- Posts: 70
- Joined: 18 Feb 2017, 08:39
- Location: Hamburg / Germany
Re: Zahlen in Editfeld verhindern
Ok, das mit den Leerzeichen habe ich gerade selber herausgefunden ... einfach ein Leerzeichen bei "Other" mit aufgenommen.
Und es ist auch eigentlich gar nicht so schwer zu verstehen.
Nochmals vielen Dank dafür, jetzt habe ich etwas zum rumtesten ...
Und es ist auch eigentlich gar nicht so schwer zu verstehen.
Nochmals vielen Dank dafür, jetzt habe ich etwas zum rumtesten ...
Merry Crisis and a happy new fear
Re: Zahlen in Editfeld verhindern Topic is solved
Moin,
für die Eingabeprüfung bei Editcontrols gibt es auch eine Lösung, die etwas tiefer in den Keller greift. Das Zauberwort heißt 'Subclassing'. Damit wird die Nachrichtenverarbeitung eines bestimmten Controls auf eine AHK-Funktion umgeleitet. Man kann so genau verfolgen, was dem Control alles mitgeteilt wird. Die Grundsätze des Subclassing habe ich hier erläutert (zumindest habe ich es versucht). Es bleibt allerdings in der Regel sehr technisch, weil man sich notgedrungen mit den Windows-Interna beschäftigen muss.
Für diesen konkreten Fall habe ich damit eine Lösung erstellt, die folgende Prüfungen durchführt:
für die Eingabeprüfung bei Editcontrols gibt es auch eine Lösung, die etwas tiefer in den Keller greift. Das Zauberwort heißt 'Subclassing'. Damit wird die Nachrichtenverarbeitung eines bestimmten Controls auf eine AHK-Funktion umgeleitet. Man kann so genau verfolgen, was dem Control alles mitgeteilt wird. Die Grundsätze des Subclassing habe ich hier erläutert (zumindest habe ich es versucht). Es bleibt allerdings in der Regel sehr technisch, weil man sich notgedrungen mit den Windows-Interna beschäftigen muss.
Für diesen konkreten Fall habe ich damit eine Lösung erstellt, die folgende Prüfungen durchführt:
- Abweisung von führenden Ziffern.
- Abweisung von Zeichen, die nicht Buchstaben, Ziffern oder der Unterstrich sind (das Leerzeichen wird in dieser Version auch abgewiesen).
- Verhindern, das über die Zwischenablage eingefügt wird.
Code: Select all
#NoEnv
SetBatchLines, -1
Gui, Margin, 100, 50
Gui, Add, Edit, w100 vNeuerTabName hwndHEDT
SubclassControl(HEDT, "CheckInput")
Gui, Show, , Edit Test
Return
; ----------------------------------------------------------------------------------------------------------------------
GuiClose:
ExitApp
; ======================================================================================================================
CheckInput(HWND, Msg, wParam, lParam, SubclassID, RefData) {
Static Err1 := "Die Namen dürfen nicht mit einer Ziffer beginnen!"
, Err2 := "Die Namen dürfen nur Buchstaben, Ziffern und den Unterstrich enthalten!"
, Err3 := "Einfügen ist hier nicht erlaubt!"
Switch Msg {
Case 0x0102: ; WM_CHAR -----------------------------------------------------------------------------------------
If (wParam != 0x08) { ; BACKSPACE
If (wParam < 0x40) && (wParam > 0x29) {
DllCall("SendMessage", "Ptr", HWND, "UInt", 0x00B0, "IntP", Start, "Ptr", 0)
If (Start = 0) {
EM_SHOWBALLOONTIP(HWND, "Ungültiges Zeichen!", Err1, 3)
Return 0
}
}
If !RegExMatch(Chr(wParam), "[\wÄÖÜäöüß]") {
EM_SHOWBALLOONTIP(HWND, "Ungültiges Zeichen!", Err2, 3)
Return 0
}
}
Case 0x0302: ; WM_PASTE ----------------------------------------------------------------------------------------
EM_SHOWBALLOONTIP(HWND, "Unzulässige Aktion!", Err3, 3)
Return 0
Case 0x0002: ; WM_DESTROY --------------------------------------------------------------------------------------
SubclassControl(HWND, "") ; remove the subclass procedure
}
Return DllCall("Comctl32.dll\DefSubclassProc", "Ptr", HWND, "UInt", Msg, "Ptr", wParam, "Ptr", lParam)
}
; ======================================================================================================================
; SubclassControl Installs, updates, or removes the subclass callback for the specified control.
; Parameters: HCTRL - Handle to the control.
; FuncName - Name of the callback function as string.
; If you pass an empty string (""), the subclass callback will be removed.
; RefData - Optional integer value passed to the callback function.
; Return value: Non-zero if the subclass callback was successfully installed, updated, or removed; otherwise False.
; Remarks: The callback function must have exactly six parameters, see
; SUBCLASSPROC -> msdn.microsoft.com/en-us/library/bb776774(v=vs.85).aspx
; ======================================================================================================================
SubclassControl(HCTRL, FuncName, RefData := 0) {
Static ControlCB := []
If ControlCB.HasKey(HCTRL) {
DllCall("RemoveWindowSubclass", "Ptr", HCTRL, "Ptr", ControlCB[HCTRL], "Ptr", HCTRL)
DllCall("GlobalFree", "Ptr", ControlCB[HCTRL], "Ptr")
ControlCB.Remove(HCTRL, "")
If (FuncName = "")
Return True
}
If !DllCall("IsWindow", "Ptr", HCTRL, "UInt")
Or !IsFunc(FuncName) || (Func(FuncName).MaxParams <> 6)
Or !(CB := RegisterCallback(FuncName, , 6))
Return False
If !DllCall("SetWindowSubclass", "Ptr", HCTRL, "Ptr", CB, "Ptr", HCTRL, "Ptr", RefData)
Return (DllCall("GlobalFree", "Ptr", CB, "Ptr") & 0)
Return (ControlCB[HCTRL] := CB)
}
; ======================================================================================================================
; Displays a balloon tip associated with an edit control.
; Title - the title of the balloon tip.
; Text - the balloon tip text.
; Icon - the icon to associate with the balloon tip, one of the keys defined in Icons.
; ======================================================================================================================
EM_SHOWBALLOONTIP(HWND, Title, Text, Icon := 0) {
; EM_SHOWBALLOONTIP = 0x1503 -> http://msdn.microsoft.com/en-us/library/bb761668(v=vs.85).aspx
Static Icons := {0: 0, 1: 1, 2: 2, 3: 3, NONE: 0, INFO: 1, WARNING: 2, ERROR: 3}
NumPut(VarSetCapacity(EBT, 4 * A_PtrSize, 0), EBT, 0, "UInt")
If !(A_IsUnicode) {
VarSetCapacity(WTitle, StrLen(Title) * 4, 0)
VarSetCapacity(WText, StrLen(Text) * 4, 0)
StrPut(Title, &WTitle, "UTF-16")
StrPut(Text, &WText, "UTF-16")
}
If !Icons.HasKey(Icon)
Icon := 0
NumPut(A_IsUnicode ? &Title : &WTitle, EBT, A_PtrSize, "Ptr")
NumPut(A_IsUnicode ? &Text : &WText, EBT, A_PtrSize * 2, "Ptr")
NumPut(Icons[Icon], EBT, A_PtrSize * 3, "UInt")
Return DllCall("SendMessage", "Ptr", HWND, "UInt", 0x1503, "Ptr", 0, "Ptr", &EBT, "Ptr")
}
Re: Zahlen in Editfeld verhindern
Tja ... da fällt mir auch nix mehr zu ein .. außer
und
Dein Subclassing-Beitrag ist toll!
Da ist allerdings meine Grenze schon überschritten. Ob ich das noch lerne .. mal schauen.
![Bravo! :bravo:](./images/smilies/bravo.gif)
![Yay! Dance! Yay! :dance:](./images/smilies/dance.gif)
Dein Subclassing-Beitrag ist toll!
Da ist allerdings meine Grenze schon überschritten. Ob ich das noch lerne .. mal schauen.
-
- Posts: 70
- Joined: 18 Feb 2017, 08:39
- Location: Hamburg / Germany
Re: Zahlen in Editfeld verhindern
Alter Falter .....
@just me
Da hast Du ja echt wieder einen rausgehauen ....
Das werde ich zwar nie in Gänze verstehen, aber es funktioniert prächtig!
Möchte mich mal (ich denke im Namen von ganz vielen hier) bei Dir für Deine tollen Tipps, Funktionen, Hilfen usw. hier bedanken!
Ist nicht selbstverständlich, sein immenses Wissen selbstlos mit anderen zu teilen!
Wenn ich Dein Bürgermeister wäre, würdest Du von mir den Status "Gemeinnützig" bekommen und steuerlich begünstigt werden![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Ich habe an dieser Stelle
hinter dem "ß" ein Leerzeichen eingefügt, jetzt werden Leerzeichen auch akzeptiert.
Ich hoffe, dass es so richtig ist und das keine Auswirkungen woanders hat, die ich noch nicht gesehen habe ... ?!
![Crazy :crazy:](./images/smilies/icon_crazy.gif)
@just me
Da hast Du ja echt wieder einen rausgehauen ....
Das werde ich zwar nie in Gänze verstehen, aber es funktioniert prächtig!
Möchte mich mal (ich denke im Namen von ganz vielen hier) bei Dir für Deine tollen Tipps, Funktionen, Hilfen usw. hier bedanken!
Ist nicht selbstverständlich, sein immenses Wissen selbstlos mit anderen zu teilen!
Wenn ich Dein Bürgermeister wäre, würdest Du von mir den Status "Gemeinnützig" bekommen und steuerlich begünstigt werden
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Ich habe an dieser Stelle
Code: Select all
If !RegExMatch(Chr(wParam), "[\wÄÖÜäöüß ]") {
EM_SHOWBALLOONTIP(HWND, "Ungültiges Zeichen!", Err2, 3)
Return 0
Ich hoffe, dass es so richtig ist und das keine Auswirkungen woanders hat, die ich noch nicht gesehen habe ... ?!
Merry Crisis and a happy new fear
Re: Zahlen in Editfeld verhindern
Wieder ein vorzügliches Beispiel, warum uns "just me" noch sehr sehr lange erhalten bleiben sollte. ![Wink ;)](./images/smilies/icon_e_wink.gif)
\s sollte eigtl der richtige RegEx Ausdruck für das Leerzeichen sein.
https://www.autohotkey.com/docs/misc/RegEx-QuickRef.htm#Common
![Wink ;)](./images/smilies/icon_e_wink.gif)
\s sollte eigtl der richtige RegEx Ausdruck für das Leerzeichen sein.
https://www.autohotkey.com/docs/misc/RegEx-QuickRef.htm#Common
[AHK] v2.0.5 | [WIN] 11 Pro (Version 22H2) | [GitHub] Profile
Re: Zahlen in Editfeld verhindern
Und hier noch die Arme-Leute-Version,
wobei copy und paste Umgehungen abgefangen werden:
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Edit: Korrektur beim Char-Regexp und Abfangen von Copy und Paste bei der Anzeige (Weiterverarbeitung der Eingabe).
wobei copy und paste Umgehungen abgefangen werden:
Code: Select all
Gui, Add, Edit, r1 vTabname w135 gtest
Gui, Add, Button, gname, zeige
Gui,show
SetTimer, RemoveToolTip, 5000
return
test:
Gui, Submit, NoHide
; Bei der Eingabe sind mit Zahlen startende Texte nicht möglich. Mit Backspace kann jedoch a1234Name zu 123Name werden.
if !Validierung(Tabname)
{
send {Backspace}
tooltip, % "|" trim(Tabname) "| Bitte nur Buchstaben ODER Buchstaben und Zahlen"
}
return
name:
Gui, Submit, NoHide
if (Tabname="")
return
if !Validierung(Tabname) ; fängt copy und paste ab. Das ist der wichtige Unterschied zu just me. Dort ist copy und paste nicht möglich.
{
GuiControl, ,Tabname,
tooltip, % "|" trim(Tabname) "| Bitte nur Buchstaben ODER Buchstaben und Zahlen"
return
}
Tabname:=trim(Tabname)
msgbox,% "|" Tabname "|"
return
Validierung(Input){
; Nur Buchstaben und Zahlen oder nur Buchstaben
Int:=RegExMatch(Input, "[0-9]")
Char:=RegExMatch(Input, "[a-zA-ZäöüßÄÖÜ]") ; hier darf kein \s sein
Other:=RegExMatch(Input, "[^a-zA-Z0-9äöüßÄÖÜ\s]")
NurBuchstaben := !Int and !Other
NurBuchstabenUndZahlen := Int and char and !Other
Return NurBuchstabenUndZahlen or NurBuchstaben
}
RemoveToolTip:
ToolTip
return
GuiClose:
ExitApp
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Edit: Korrektur beim Char-Regexp und Abfangen von Copy und Paste bei der Anzeige (Weiterverarbeitung der Eingabe).
Last edited by haichen on 28 Jan 2021, 03:15, edited 2 times in total.
-
- Posts: 70
- Joined: 18 Feb 2017, 08:39
- Location: Hamburg / Germany
Re: Zahlen in Editfeld verhindern
@ haichen
Ich habe mir Eure beiden Funktionen in meinen "AHK-Schätzchen" Ordner gespeichert
Außer das ich in Deinem Script noch den Tipp von jNizM (mit dem \s anstatt eines Leerzeichens) verwendet habe. Macht in der Funktion zwar keinen Unterschied, aber in ein paar Jahren habe ich dann beim eventuellen wieder benutzen den "korrekten" Weg.
Das habe ich sonst vergessen bis dahin![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Ich habe mir Eure beiden Funktionen in meinen "AHK-Schätzchen" Ordner gespeichert
![Wink ;)](./images/smilies/icon_e_wink.gif)
Außer das ich in Deinem Script noch den Tipp von jNizM (mit dem \s anstatt eines Leerzeichens) verwendet habe. Macht in der Funktion zwar keinen Unterschied, aber in ein paar Jahren habe ich dann beim eventuellen wieder benutzen den "korrekten" Weg.
Das habe ich sonst vergessen bis dahin
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Merry Crisis and a happy new fear
Re: Zahlen in Editfeld verhindern
@ Filzfrosch
Hab noch eine kleine Korrektur gemacht.
Hab noch eine kleine Korrektur gemacht.
Re: Zahlen in Editfeld verhindern
Moin @Filzfrosch,
Wenn Leerzeichen zugelassen werden, sollten die wahrscheinlich nicht am Anfang des Namens stehen. Ich würde deshalb auch noch die erste Prüfung erweitern:
Ansonsten würde ich mich eher als 'gemein eigennützig' bezeichnen. Ich war ja lange Zeit als Programmierer beschäftigt und habe in dieser Zeit einiges gelernt. Das kann ich heute kaum noch sinnvoll einsetzen. Hier im Forum ist eine der wenigen Gelegenheiten, mein Wissen zu teilen, und ich fühle mich gut damit. ![Wink ;)](./images/smilies/icon_e_wink.gif)
Wenn Leerzeichen zugelassen werden, sollten die wahrscheinlich nicht am Anfang des Namens stehen. Ich würde deshalb auch noch die erste Prüfung erweitern:
Code: Select all
...
Static Err1 := "Die Namen dürfen nicht mit einer Ziffer oder einem Leerzeichen beginnen!"
...
If (wParam = 0x20) || ((wParam < 0x40) && (wParam > 0x29)) {
...
![Wink ;)](./images/smilies/icon_e_wink.gif)
-
- Posts: 70
- Joined: 18 Feb 2017, 08:39
- Location: Hamburg / Germany
Re: Zahlen in Editfeld verhindern
Moin,
jo, Leerzeichen am Anfang sind wirklich etwas sinnfrei. Habe die Änderung mit aufgenommen und mir jetzt auch mal eine Unicode Zeichentabelle besorgt, damit ich die 0x... Codes generell mal nachvollziehen kann.
Insofern ist dieses Thema wirklich weit mehr als erwartet und äußerst befriedigend gelöst.
Mein Dank an alle, die sich beteiligt haben!
Habe die Prüfung jetzt in mein Tab-Script eingebaut und es läuft super. Sogar besser, als ich es vorher geplant hatte mit der Prüfung jetzt.
Wobei ich das "Problem" mit den Tab-Namen natürlich anfangs gar nicht auf dem Schirm hatte. Aber genau das reizt mich an AHK, man stößt beim "entwickeln" auf Probleme, die man vorher gar nicht hatte
Und lernt dann durch Eure Hilfe hier immer dazu und zumindest für mich ist das auch eine Art Motivation. Nix ist ja nerviger, als wenn man sich was schickes ausgedacht hat und dann stundenlang vergeblich versucht, einen Bug zu fixen. Wobei das immer mein Ziel ist, erstmal selber versuchen, bevor man hier Fragen stellt, die man sich mit ein wenig Gehirnschmalz selbst beantworten kann. Trotzdem steht man manchmal wie der Ochs vor´m Berg oder sieht den Wald vor lauter Bäumen nicht (ok, ich lege 3 Euro in die Phrasenkasse ...).
Wenn man dann hier so fundierte Hilfe bekommt, ist das immer auch ein Ansporn, weiter zu machen oder sich sogar sich an Dinge zu trauen, die man sonst gar nicht anfangen würde. Außerdem gefällt es mir in diesem Forum echt gut, dass sich die Großen hier nicht zu schade sind, auch Anfängern auf die Sprünge zu helfen und das in einem echt angenehmen "Ton". Da gibt es ganz andere Foren ...
Ich möchte in das Tab-Script auch noch Deine "Watch Folder"-Funktion implementieren und bin gerade dabei, mir diese genauer anzuschauen. Da werde ich bestimmt die Tage auch noch die ein oder andere Frage zu haben. Aber dann mache ich einen neuen Thread auf. Also nicht das Dir Lockdown-langweilig wird oder so![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
jo, Leerzeichen am Anfang sind wirklich etwas sinnfrei. Habe die Änderung mit aufgenommen und mir jetzt auch mal eine Unicode Zeichentabelle besorgt, damit ich die 0x... Codes generell mal nachvollziehen kann.
Insofern ist dieses Thema wirklich weit mehr als erwartet und äußerst befriedigend gelöst.
Mein Dank an alle, die sich beteiligt haben!
Habe die Prüfung jetzt in mein Tab-Script eingebaut und es läuft super. Sogar besser, als ich es vorher geplant hatte mit der Prüfung jetzt.
Wobei ich das "Problem" mit den Tab-Namen natürlich anfangs gar nicht auf dem Schirm hatte. Aber genau das reizt mich an AHK, man stößt beim "entwickeln" auf Probleme, die man vorher gar nicht hatte
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Wenn man dann hier so fundierte Hilfe bekommt, ist das immer auch ein Ansporn, weiter zu machen oder sich sogar sich an Dinge zu trauen, die man sonst gar nicht anfangen würde. Außerdem gefällt es mir in diesem Forum echt gut, dass sich die Großen hier nicht zu schade sind, auch Anfängern auf die Sprünge zu helfen und das in einem echt angenehmen "Ton". Da gibt es ganz andere Foren ...
Ich möchte in das Tab-Script auch noch Deine "Watch Folder"-Funktion implementieren und bin gerade dabei, mir diese genauer anzuschauen. Da werde ich bestimmt die Tage auch noch die ein oder andere Frage zu haben. Aber dann mache ich einen neuen Thread auf. Also nicht das Dir Lockdown-langweilig wird oder so
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Merry Crisis and a happy new fear
Re: Zahlen in Editfeld verhindern
Na dann, viel Spaß und Erfolg weiterhin!
Re: Zahlen in Editfeld verhindern
Na, das ruft doch förmlich danach dein Wissen (und ggf. dessen AHK related Neu-ErwerbIch war ja lange Zeit als Programmierer beschäftigt und habe in dieser Zeit einiges gelernt. Das kann ich heute kaum noch sinnvoll einsetzen. Hier im Forum ist eine der wenigen Gelegenheiten, mein Wissen zu teilen, und ich fühle mich gut damit.
![Wink ;)](./images/smilies/icon_e_wink.gif)
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
Bei (d)einer "RegEx-Tagebuch"-Serie (also known as: "Der Tag als ich RegEx lieben lernte”) wäre ich der erste Abonnent
![Wink ;)](./images/smilies/icon_e_wink.gif)