Delphi-PRAXiS

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/)
-   -   Delphi Maximale Eingabe im Editfeld. (https://www.delphipraxis.net/128128-maximale-eingabe-im-editfeld.html)

Lostriga 24. Jan 2009 20:53


Maximale Eingabe im Editfeld.
 
Aloa,

ich habe folgendes Problem.

Ich habe mir vor längerem mal ein Programm gebastelt,
in welchem ein Editfeld auf folgendes eingeschränkt war:

Nur Zahleneingabe möglich,
maximal 4 Zeichen,
und >> maximal Wert von 1200 <<. (sobald z.B. 1201 eingegeben wird, wird die Zahl auf 1200 gesetzt)

Damals hab ich das fast aus dem Ärmel geschüttelt, doch jetzt weis ich irgend wie nicht wie es funktioniert!
Zu meinem Pech, ist mir auch noch genau dieser Teil des Sources abhanden gekommen.

Ich habe das jetzt mit folgenden Versuchen probiert, war alles falsch und kam mir auch selbst schwachsinnig vor:

Delphi-Quellcode:
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
Time : String;
begin
Time := StrToInt (Edit1.Text);
if Edit1.Text > Time then Edit1.Text := '1200';
end;
Delphi-Quellcode:
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
Time : Integer;
begin
Time := StrToInt (Edit1.Text);
if Edit1.Text > Time then Edit1.Text := '1200';
end;
Delphi-Quellcode:
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
Time : Integer;
begin
Time := 1200;
if Edit1.Text > Time then Edit1.Text := '1200';
end;
Delphi-Quellcode:
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if Edit1.Text > '1200' then Edit1.Text := '1200';
end;


Vielleicht wisst ihr ja wie die Lösung meines Problems lautet. :(


Mit freundlichem Gruß

Lostriga

mkinzler 24. Jan 2009 20:56

Re: Maximale Eingabe im Editfeld.
 
Delphi-Quellcode:
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
    Zeit : Integer;
begin
    Zeit := StrToIntDef (Edit1.Text, 0);
    if Zeit > 1200 then Edit1.Text := '1200';
end;

Lostriga 24. Jan 2009 21:25

Re: Maximale Eingabe im Editfeld.
 
*mir auf den Kopf klopf* :roll:

Ich danke dir mkinzler. :zwinker:
Funktioniert ohne Tadel, einmanfrei!

*doch so einfach* :shock:


Mit freundlichem Gruß

Lostriga

Matze 24. Jan 2009 21:49

Re: Maximale Eingabe im Editfeld.
 
Hallo,

bitte verwende zukünftig die Schriftfarbe des Foren-Standards (schwarz). Das kann man am besten lesen und dann bleibt das hier einheitlich.
Wenn jeder seite Lieblingsfarbe als Schriftfarbe nehmen würde, könnte man meinen, wir seien hier im Kindergarten. ;)

Grüße, Matze

ryLIX 24. Jan 2009 21:51

Re: Maximale Eingabe im Editfeld.
 
Und ein TEdit ist VCL :stupid: *duck&weg*

DP-Maintenance 24. Jan 2009 22:00

DP-Maintenance
 
Dieses Thema wurde von "mkinzler" von "Windows API / MS.NET Framework API" nach "Library: VCL / WinForms / Controls" verschoben.
Denn ryLIX hat Recht

DP-Maintenance 24. Jan 2009 22:09

DP-Maintenance
 
Dieses Thema wurde von "SirThornberry" von "Library: VCL / WinForms / Controls" nach "VCL / WinForms / Controls" verschoben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 Uhr.

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