AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Nur Zahlen in TLabeledEdit eingeben

Ein Thema von ferby · begonnen am 4. Jan 2007 · letzter Beitrag vom 4. Jan 2007
Antwort Antwort
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#1

Nur Zahlen in TLabeledEdit eingeben

  Alt 4. Jan 2007, 15:04
Hallo,

ähnliche Fragen wie meine gibt es schon im Forum,
aber die Frage die ich habe, habe ich leider nicht gefunden.


Problem:

Ein Benutzer soll in ein TLabeledEdit nur Zahlen, ein Minus, und VK_Back eingeben können.


Habe das so gelößt

procedure TForm2.Lab_ed_LeftKeyPress(Sender: TObject; var Key: Char);
begin
if (not (key in ['0'..'9'])) and (key<>'-') and (key<>#8) then key:=#0;
end;


Jetzt mein Problem:

Was ist wenn im Label bereits eine Zahl steht, und der Benutzer drückt die minus Taste?

Also wie stelle ich es an, das nur an der ersten Stelle EIN Minus gesetzt werden kann,
auch wenn bereits eine Zahl da steht??


Gruß,
Ferby
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Nur Zahlen in TLabeledEdit eingeben

  Alt 4. Jan 2007, 15:10
Du kannst abprüfen, ob Sender.Text länger als ein Zeichen ist und dann das '-' nicht mehr zulassen.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#3

Re: Nur Zahlen in TLabeledEdit eingeben

  Alt 4. Jan 2007, 15:31
Hallo,


Zitat:
Du kannst abprüfen, ob Sender.Text länger als ein Zeichen ist und dann das '-' nicht mehr zulassen.

Sorry das geht nicht, hab ich mir auch schon überlegt, denn



Zitat:
auch wenn bereits eine Zahl da steht

Was ist wenn bereits die Zahl 100 da steht und jemand wil daraus -100 machen,
und gibt einfach ein - vor dem 100 ein,
dann würde das nicht gehen.

Ich will aber das das geht.

Aber danke für deinen Vorschlag.
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Nur Zahlen in TLabeledEdit eingeben

  Alt 4. Jan 2007, 15:35
Du kannst doch wenn die '-' Taste gedrückt wurde
im Text nachschauen ob schon ein Minus vorhanden ist.
Wenn ja ignorierst Du die Taste.
Wenn noch kein Minus vorhanden ist, setzte Du das Minus einfach
an den Textanfang.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Nur Zahlen in TLabeledEdit eingeben

  Alt 4. Jan 2007, 15:38
Dann prüfst Du halt, ob schon ein Text drin steht und die Änderung die erste Stelle des Textes betrifft.

Mann, sooo schwer kann das doch nicht sein...
Musst halt einige if then else einbauen und das an verschiedenen Stellen prüfen.
Im OnChange, im KeyPress, OnEnter, usw.
Schau halt mal, was es für OnXY gibt und lies Dir die Hilfe dazu durch.

Oder such bei den Komponentensammlungen (z.B. Jedi) oder Komponentenwebsites (z.B. torry.net) nach einer Komponente, die das von Haus aus schon kann.

Sorry für die harten Worte, aber hier rumjammer bringt Dich auch nicht weiter.
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
ferby

Registriert seit: 15. Aug 2004
Ort: Wien
841 Beiträge
 
Delphi 2010 Enterprise
 
#6

Re: Nur Zahlen in TLabeledEdit eingeben

  Alt 4. Jan 2007, 15:42
Zitat:
Du kannst doch wenn die '-' Taste gedrückt wurde
im Text nachschauen ob schon ein Minus vorhanden ist.
Wenn ja ignorierst Du die Taste.
Wenn noch kein Minus vorhanden ist, setzte Du das Minus einfach
an den Textanfang.
Du kannst doch wenn die '-' Taste gedrückt wurde
im Text nachschauen ob schon ein Minus vorhanden ist.
Wenn ja ignorierst Du die Taste.
Wenn noch kein Minus vorhanden ist, setzte Du das Minus einfach
an den Textanfang.
Das scheint mir recht sinnvoll zu sein,
ich werde es so machen.


Zitat:
Sorry für die harten Worte, aber hier rumjammer bringt Dich auch nicht weiter.
Wie kommst du drauf das ich rumjammer?
Ich habe einfach Hilfe gebraucht und hier mein Problemm geschildert,
dafür ist das Forum halt da.

Ps. deine Antwort brachte mir nichts weiter,
mein "herumjammern" schon.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:02 Uhr.
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