Hallo zusammen,
ich möchte verhindern, dass in ein StringGadget() bestimmte Zeichen
eingegeben werden können.
Ich suche eine ähnliche Funktionalität wie #PB_String_Numeric.
Wer kann mir da helfen?
Gruss
Thomas
Eingabebeschränkung bei StringGadget()
-
Thomas Kühn
- Beiträge: 15
- Registriert: 06.01.2005 12:58
- Wohnort: Stuttgart
- Buggymonkey
- Beiträge: 47
- Registriert: 02.09.2004 19:36
- Wohnort: Löhne
- Kontaktdaten:
Hi,
also wenn es wirklich keine andere lösung gibt würde ich mal dies probieren:
ich habe den code nicht getestet müste aba gehn
Gruß Nils
also wenn es wirklich keine andere lösung gibt würde ich mal dies probieren:
Code: Alles auswählen
....
Repeat
...
if len(getgadgettext(#stringgadget))>Zahl123
setgadgettext(#stringgadget,left(getgadgettext(#stringgadget),Zahl123))
endif
...
Until
...
Gruß Nils
wenn wer rechtschreibfehler findet, kann er sie behalten, 
Ich würde gern die Welt verändern,
doch Gott gibt mir den Quellcode nicht!
http://www.house-of-chat.de umbedingt mal vorbei schaun ^^
Ich würde gern die Welt verändern,
doch Gott gibt mir den Quellcode nicht!
http://www.house-of-chat.de umbedingt mal vorbei schaun ^^
-
Thomas Kühn
- Beiträge: 15
- Registriert: 06.01.2005 12:58
- Wohnort: Stuttgart
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Vielleicht kannste per Callback das #WM_KEYDOWN ereignis abfangen, und dort Deine Korrektur einbauen. Gibt es glaub sogar Beispiele im CodeArchiv. Bin mir aber nicht sicher
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

-
Thomas Kühn
- Beiträge: 15
- Registriert: 06.01.2005 12:58
- Wohnort: Stuttgart
Hallo,
ein Beispiel zu #WM-KeyDown habe ich noch nicht gefunden.
Ich hab's mal mit diesem Code versucht:
If OpenWindow(0, 50, 50, 300, 200, #PB_Window_ScreenCentered|#PB_Window_SystemMenu, "TEST")
If CreateGadgetList(WindowID(0))
TextGadget(0, 20, 20, 100, 200, "Eingabentest:")
StringGadget(1, 20, 50, 150, 60, "", #PB_String_Multiline)
ButtonGadget(2, 20, 150, 100, 30, "TEST")
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_Gadget
Select EventGadgetID()
Case 1
If FindString(GetGadgetText(1), "#", 1)<>0
SetGadgetText(1, RemoveString(GetGadgetText(1), "#", 1))
EndIf
EndSelect
EndSelect
Until EventID = #PB_Event_CloseWindow
EndIf
EndIf
End
Damit kann ich das # Zeichen abfangen.
Schwierig ist nur, dass der Cursor zum Anfang des Stringgadget spring.
Gibt es eine Moeglichkeit, den Cursor im Stringgadget zu positionieren?
Gruss
Thomas
ein Beispiel zu #WM-KeyDown habe ich noch nicht gefunden.
Ich hab's mal mit diesem Code versucht:
If OpenWindow(0, 50, 50, 300, 200, #PB_Window_ScreenCentered|#PB_Window_SystemMenu, "TEST")
If CreateGadgetList(WindowID(0))
TextGadget(0, 20, 20, 100, 200, "Eingabentest:")
StringGadget(1, 20, 50, 150, 60, "", #PB_String_Multiline)
ButtonGadget(2, 20, 150, 100, 30, "TEST")
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #PB_Event_Gadget
Select EventGadgetID()
Case 1
If FindString(GetGadgetText(1), "#", 1)<>0
SetGadgetText(1, RemoveString(GetGadgetText(1), "#", 1))
EndIf
EndSelect
EndSelect
Until EventID = #PB_Event_CloseWindow
EndIf
EndIf
End
Damit kann ich das # Zeichen abfangen.
Schwierig ist nur, dass der Cursor zum Anfang des Stringgadget spring.
Gibt es eine Moeglichkeit, den Cursor im Stringgadget zu positionieren?
Gruss
Thomas
Re: Eingabebeschränkung bei StringGadget()
> ich möchte verhindern, dass in ein StringGadget() bestimmte Zeichen
> eingegeben werden können.
http://www.purearea.net/pb/CodeArchiv/G ... erInput.pb
Grüße ... Kiffi
> eingegeben werden können.
http://www.purearea.net/pb/CodeArchiv/G ... erInput.pb
Grüße ... Kiffi
-
Thomas Kühn
- Beiträge: 15
- Registriert: 06.01.2005 12:58
- Wohnort: Stuttgart
Code hat noch ein Bug
Hi, habe mir auch mal den Code geladen
(StringGadget_FilterInput.pb), da ich den
in mein Programm gut einbauen könnte.
ändert mal die Zeile 84 ab:
statt - ActivateGadget(#StringID1)
mal - ActivateGadget(#StringID2)
Sobald das zu Filternde Feld als erstes Aktiv ist
wird das erste eingegeben Zeichen nicht gefiltert.
(StringGadget_FilterInput.pb), da ich den
in mein Programm gut einbauen könnte.
ändert mal die Zeile 84 ab:
statt - ActivateGadget(#StringID1)
mal - ActivateGadget(#StringID2)
Sobald das zu Filternde Feld als erstes Aktiv ist
wird das erste eingegeben Zeichen nicht gefiltert.
DONALD
www.PureBasic-Donald.de gibt es im Moment nicht mehr
PureBasic - jaPBe - PureVisonXP - TailBite
PureBasic - jaPBe - PureVisonXP - TailBite