Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi fehler in label ausgeben. (https://www.delphipraxis.net/92302-fehler-label-ausgeben.html)

ph0 17. Mai 2007 17:36


fehler in label ausgeben.
 
hallo,
ich habe 5 edit felder in die jeweils ein zahlenwert eingetragen wird. dieser darf jedoch nur in einem bestimmten bereich liegen (in jedem feld ein anderer). wenn jetzt eine eingegebene zahl nicht im bereich liegt soll beim klicken auf den button im label eine auflistung der fehler angezeigt werden.
so sieht meine idee bis jz aus:
Delphi-Quellcode:
var
  Form1: TForm1;
  x: integer;
  Ejg: string;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
x:=strtoint(edit1.Text);
Ejg:=(' - Zahl in feld 1 höher als 1000');
if x>1000 then
Label1.caption:='Folgende Angaben sind falsch:'+chr(13)+Ejg;
end;
da es ja aber sehr viele verschiedene möglichkeiten gibt, frage ich mich wie ich das evtl vereinfachen kann, um nicht jede mögliche fehlersituation mit eine if then abfrage durchzugehen.

gruß

Flips 17. Mai 2007 17:52

Re: fehler in label ausgeben.
 
Wenn ich das richtig verstehe willst du die 5 Edits alle darauf überprüfen lassen, ob die zahl in dem bereich is...

wenn du sie durchgehend benennst (Edit1, Edit2, Edit3,...) dann würd ich das so machen.

Delphi-Quellcode:
for i := 1 to 5 do
  begin
    case StrToInt(TEdit(FindComponent('Edit'+IntToStr(i))).Text) of
      -1000..-1 : Showmessage('Zahl in Edit'+IntToStr(i)+' zwischen -1000 und -1');
      0..1000   : Showmessage('Zahl in Edit'+IntToStr(i)+' zwischen 0 und 1000');
    end;
  end;
Müsst gehn, ungetestet

ph0 17. Mai 2007 18:01

Re: fehler in label ausgeben.
 
ja, nur dass ich die fehler aufgelistet in einem label mit label.caption und nicht als showmessage haben will(oder geht das nicht?)...und dass in jedem edit feld nur ein bestimmter zahlenbereich eingeben werden darf, d.h mal 5-8 oder mal 14-1000 ...
gruß

bitsetter 17. Mai 2007 18:47

Re: fehler in label ausgeben.
 
Zitat:

Zitat von ph0
ja, nur dass ich die fehler aufgelistet in einem label mit label.caption und nicht als showmessage haben will(oder geht das nicht?)

Hi,

du kannst mal anstatt der Showmessage es so versuchen:
Delphi-Quellcode:
   Label1.Caption := Label1.Caption + 'Zahl in Edit' + IntToStr(i) + ' zwischen -1000 und -1' + #13#10;

...

Label1.Caption := Label1.Caption + 'Zahl in Edit' + IntToStr(i) + ' zwischen 0 und 1000' + #13#10;
usw.

CCRDude 17. Mai 2007 19:26

Re: fehler in label ausgeben.
 
Zitat:

Zitat von Flips
Delphi-Quellcode:
    case StrToInt(TEdit(FindComponent('Edit'+IntToStr(i))).Text) of
Müsst gehn, ungetestet

Schonmal dran gedacht, daß auch Text drinstehen kann?

Entweder try... oder StrToIntDef.

Flips 18. Mai 2007 12:46

Re: fehler in label ausgeben.
 
Zitat:

Zitat von CCRDude
Zitat:

Zitat von Flips
Delphi-Quellcode:
    case StrToInt(TEdit(FindComponent('Edit'+IntToStr(i))).Text) of
Müsst gehn, ungetestet

Schonmal dran gedacht, daß auch Text drinstehen kann?

Entweder try... oder StrToIntDef.

Klaro hab ich dran gedacht, aber ne Abfrage ob Zahlen drinstehn kann er ja selber vorher machen bzw. die Eingabe von Zahlen gar nicht erst erlauben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:37 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