AGB  ·  Datenschutz  ·  Impressum  







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

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
11.475 Beiträge
 
Delphi 12 Athens
 
#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
44.184 Beiträge
 
Delphi 12 Athens
 
#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
...
$2B or not $2B
  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 12:48 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