AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Edit Feld definieren

Ein Thema von andloer · begonnen am 28. Nov 2020 · letzter Beitrag vom 28. Nov 2020
Antwort Antwort
andloer

Registriert seit: 26. Nov 2020
5 Beiträge
 
Delphi 7 Enterprise
 
#1

Edit Feld definieren

  Alt 28. Nov 2020, 10:09
Guten Morgen,

kurze Frage zu der Edit Komponente.
Die Caption des Feldes ist zu beginnt gefüllt mit 'Bitte eintragen!', bei EditClick wird alles markiert und bei KeyPress dürfen nur Zahlen kommen.

Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin
Wohnflaeche := StrtoFloat(Edit1.Text);
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
If not(key in [#48..#57,#8,#44]) then key :=#0;
end;

procedure TForm1.Edit1Click(Sender: TObject);
begin
Edit1.SelectAll ;
end;
Problem an der Sache ist, dass es nur funktioniert, wenn ich direkt Zahlen eingebe.. wenn ich den Inhalt lösche macht er mit eine Fehlermeldung. Bei Edit.Clear macht er mir auch eine Fehlermeldung.
Vermute weil ich einen String durch das löschen eintrage, was ich ja nicht darf?

Jemand eine Lösung parat?

Freundliche Grüße und schönes Wochenende
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.435 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Edit Feld definieren

  Alt 28. Nov 2020, 11:35
Du sagst jetzt nichts über deine Delphi-Version, aber in einem halbwegs aktuellem Delphi kannst du das mit den TEdit-Eigenschaften erreichen:

-> Die Caption des Feldes ist zu beginnt gefüllt mit 'Bitte eintragen!'
Das 'Bitte eintragen!' muss in TextHint anstatt Text . Text leer lassen.

-> bei EditClick wird alles markiert
AutoSelect muss True sein. Ist auch Standard.

-> bei KeyPress dürfen nur Zahlen kommen
NumbersOnly auf True setzen.

Letzteres funktioniert nur mit ganzen Zahlen ohne Komma. Alternativ ginge auch ein TMaskEdit und eine entsprechende Eingabemaske.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.381 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Edit Feld definieren

  Alt 28. Nov 2020, 19:14
Ja klar, beim Löschen (und auch Clear) steht nur noch ein Leerstring drin und der lässt sich nunmal nicht in einen Float umwandeln.

PS: es gibt auch unzählige Möglichkeiten "ungültige" Zeichen dennoch einzutragen
* DEL (rechts löschen), Erase (Links löschen), XCut (Ausschneiden)
* Einfügen (Strg+V, Einfg, Kontextmenü)
* uvm.



Delphi-Referenz durchsuchenTryStrToFloat
Delphi-Referenz durchsuchenStrToFloatDef
...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 +2. Es ist jetzt 22:30 Uhr.
Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf