Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Edit Text die richtigen Zeichen (https://www.delphipraxis.net/175444-edit-text-die-richtigen-zeichen.html)

Davidlocke13 21. Jun 2013 10:40

Edit Text die richtigen Zeichen
 
Morgen;

Ich möchte meinem Edit sagen, dass das erste Zeichen bei der Eingabe kein Lehrzeichen sein darf.
Außerdem möchte ich in einem 2. Edit nur Zahlen von 00 bis 24 eigenen können.

Wie stellte ich das an ?

DeddyH 21. Jun 2013 10:41

AW: Edit Text die richtigen Zeichen
 
Spontan würde ich sagen: im OnChange des Edits den Text prüfen und ggf. reagieren.

Der schöne Günther 21. Jun 2013 10:42

AW: Edit Text die richtigen Zeichen
 
Warum überhaupt ein Edit für den zweiten Fall? Da gibt es doch auch Dinge wie ein TSpinEdit, extra für Zahlen (auch mit Ober/Untergrenze)...

Davidlocke13 21. Jun 2013 11:01

AW: Edit Text die richtigen Zeichen
 
Wie bekomme ich das beim SpinEdit hin das anstatt 2 da 02 steht ?

EarlyBird 21. Jun 2013 11:27

AW: Edit Text die richtigen Zeichen
 
ein Ansatz um nur Zahlen zuzulassen:
Delphi-Quellcode:
procedure TForm1.edt1KeyPress(Sender: TObject; var Key: Char);
begin
 if not (Key in ['0', '1', '2', '3','4','5','6','7','8','9', #8]) then
   Key := #0
 else
   if not (Key = #8) then
    if (StrToInt(edt1.Text + Key) > 24) or (Length(edt1.Text + Key) > 2) then
      Key := #0
end;
Dann halt noch prüfen was bereits eingegeben wurde.

Mit dem ersten Zeichen kann man es ähnlich lösen

Der schöne Günther 21. Jun 2013 11:28

AW: Edit Text die richtigen Zeichen
 
Du kannst Zahlen bsp. so formatieren, dass sie immer zweistellig sind:

Delphi-Quellcode:
SpinEdit1.Text := FormatFloat('000',SpinEdit1.Value);

MichaG42 21. Jun 2013 11:47

AW: Edit Text die richtigen Zeichen
 
Hallo DP-ler,

hier also nun doch mein erster Beitrag :-)

Ich hätte da auch noch zwei kleine Vorschläge zum Thema.


Frage 1:

Wenn nichts weiter "gefiltert" werden soll (z.B.Sonderzeichen) ginge auch ein Trim() mit dem die Leerzeichen vorne und hinten elegant verschwinden.

Frage 2:

eigentlich bereits schon beantwortet, aber dennoch ...

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  SpinEdit1.Text:= Format('%0.2d',[strToIntDef(SpinEdit1.text,00)]);
end;

procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
  SpinEdit1.Text:= Format('%0.2d',[strToIntDef(SpinEdit1.text,00)]);
end;
Hoffe das ist so auch richtig. Bei mir funktioniert´s und sollte das Problem in der Darstellung lösen.


cu Micha

Davidlocke13 21. Jun 2013 12:24

AW: Edit Text die richtigen Zeichen
 
Beim SpinEdit kann ich nix mehr rein schreiben sondern nur noch über Up und Down die Werte ändern und ich wollte die ja trotzdem noch beschreiben können!

Der schöne Günther 21. Jun 2013 12:30

AW: Edit Text die richtigen Zeichen
 
Dann würde ich nicht das
Delphi-Quellcode:
OnChange
-Ereignis des SpinEdits nehmen, sondern das
Delphi-Quellcode:
OnDownClick
und
Delphi-Quellcode:
OnUpClick
-Ereignis des
Delphi-Quellcode:
TSpinButton
des
Delphi-Quellcode:
TSpinEdit
. Und am besten gleich noch das
Delphi-Quellcode:
OnExit
und des SpinEdits sowie wenn man Enter drückt. Zumindest ist das, was ich als Benutzer erwarten würde: Die Zahl wird entsprechend formatiert wenn ich folgendes tue:
  • Pfeil hoch drücken
  • Pfeil runter drücken
  • Feld verlassen
  • Im Feld sein, Enter drücken

MichaG42 21. Jun 2013 14:53

AW: Edit Text die richtigen Zeichen
 
Hallo,

@ Der schöne Günther
Habe das Beispiel, wie von Dir vorgeschlagen, mal nachvollzogen. Danke für den Hinweis mit dem TSpinButton.

cu Micha


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:15 Uhr.
Seite 1 von 2  1 2      

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