Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Edit Eingabe nur auf Zahlen beschränken, Probleme mit ^ (https://www.delphipraxis.net/119162-edit-eingabe-nur-auf-zahlen-beschraenken-probleme-mit-%5E.html)

gfjs 21. Aug 2008 09:27


Edit Eingabe nur auf Zahlen beschränken, Probleme mit ^
 
Hallo, Allerseits.

Ich schon wieder - mit einem neuen Problem:

Mit
Delphi-Quellcode:
procedure TFStart.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key in [48..57] then
  begin
    Edit2.SetFocus;
    Memo11.Text := Text2;
  end else
  begin
    Edit1.Clear;
    MessageBeep(1000);
  end;
end;
versuche ich, meine Anwendung dazu zu bewegen, nur Eingaben von '0' bis '9' zu akzeptieren. Bis eben dachte ich auch, das wäre mir gelungen - bis ich aus Versehen auf die Taste ganz links oben kam: ^

Erstaunlicherweise - zumindest für mich - werden die Anweisungen aus dem if-Block und nicht die aus dem else-Block ausgeführt und es kommt auch noch eine Fehlermeldung.

Wie immer bin ich dankbur für Eure Unterstützung.

gruß Jürgen

[edit=Luckie]Titel geändert. Mfg, Luckie[/edit]

Maja Jessica 21. Aug 2008 09:35

Re: Probleme mit dem da ==> ^
 
Hi,

wenn du nur Zahlen von 0 - 9 erlauben möchtest (inkl. Punkt, Komma, Entf., etc) geht es auch so:

Delphi-Quellcode:
 if not (key in ['0'..'9',#13,#8, '.' , ',' ]) then key := #0;
Lass dir doch mal den TastenCode anzeigen, dann weist du warum welche Bedingung zutrifft.

MJ

Luckie 21. Aug 2008 09:39

Re: Probleme mit dem da ==> ^
 
Würdest du bitte deinem Thread einen aussagekräftigen Titel geben? Danke.

Sharky 21. Aug 2008 09:40

Re: Probleme mit dem da ==> ^
 
Hai gfjs,

ich würde die Prüfung nicht in das KeyUp sondern OnKeyPress Ereigniss schreiben.
So oder so hast Du aber ein Problem. Der Anwender kann noch immer beliebige Zeichen aus der Zwichenablage in das TEdit einfügen.

grips-net 21. Aug 2008 09:43

Re: Probleme mit dem da ==> ^
 
Zitat:

So oder so hast Du aber ein Problem. Der Anwender kann noch immer beliebige Zeichen aus der Zwichenablage in das TEdit einfügen.
...aus diesem Grunde auch das angebotene ShiftState verwenden und alles wird gut.

Schöne Grüße

Michael

gfjs 21. Aug 2008 10:07

Re: Probleme mit dem da ==> ^
 
@ Luckie

Tut mir leid, aber mir ist kein besserer Titel eingefallen - das Problem ist ja wirklich das da: ^ und ich dachte mein Titel würde das kurz und prägnant zeigen.

@ Maja Jessika + Sharky + grips-net

Vielen Dank für Eure Hinweise, aber:

"Ich bin dann mal weg!" - Aber sobald ich zurück bin, werde ich mich damit befassen.

Erst mal Dank an alle und noch einen schönen Tag!

Luckie 21. Aug 2008 10:15

Re: Probleme mit dem da ==> ^
 
Zitat:

Zitat von gfjs
@ Luckie

Tut mir leid, aber mir ist kein besserer Titel eingefallen - das Problem ist ja wirklich das da: ^ und ich dachte mein Titel würde das kurz und prägnant zeigen.

"Probleme mit Eingabe von ^ in einem Edit"
"Edit Eingabe nur auf Zahlen beschränken, Probleme mit ^"
Das wären jetzt mal so zwei mögliche Titel, die mir ohne längeres Nachdenken so einfallen. :?

s.h.a.r.k 21. Aug 2008 10:46

Re: Probleme mit dem da ==> ^
 
*lol* wenn jemand mit oracle was zu tun hat, dann stößt er auch ab und zu auf ein ^, um spezielle zeichen zu maskieren, usw., usw., usw...

darf deine anwendung global nur zahlen empfangen oder willst du das auf edits beschränken!? dafür hätte ich dir eine komponente, die ich mir schon mal passend erzeugt. bei bedarf einfach eine pn schicken, dann kann ich sie hier posten.

Luckie 21. Aug 2008 10:48

Re: Probleme mit dem da ==> ^
 
Zitat:

Zitat von s.h.a.r.k
dafür hätte ich dir eine komponente, die ich mir schon mal passend erzeugt. bei bedarf einfach eine pn schicken, dann kann ich sie hier posten.

Du darfst sie auch gerne ohne Bitte von gfjs hier vorstellen. ;)

s.h.a.r.k 21. Aug 2008 18:41

Re: Probleme mit dem da ==> ^
 
Liste der Anhänge anzeigen (Anzahl: 1)
soll ich, soll ich nicht, soll ich, soll ich nicht... :D

hier habt ihr es... wenn ich änderungen vornehmen soll, dann bite eine pn, sonst wird es hier zu OT!

[edit]
sollte wohl noch als feature dazu sagen, nachdem es keine passende dokumentation gibt:
- man kann über die eigenschaft ClearOnEscape steuern, ob das feld beim drücken des esacpe-taste geleert werden soll
- und es werden beim einfügen (strg+v) nur zahlen aus dem einzufügenden string entnommen.
[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:08 Uhr.
Seite 1 von 4  1 23     Letzte »    

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz