![]() |
wenn keine zahl, dann...?
guten morgen.
ich wüsste gerne, wie die bezeichnung für zahl ist? wenn zelle ungleich zahl dann...
Code:
danke im voraus.if (Form1.Tab.Cells[3,i] <> real) or (Form1.Tab.Cells[4,i] <> real) then begin ShowMessage(' Sie müssen noch Werte eingeben! '); exit end; |
Re: wenn keine zahl, dann...?
Hallo herrentor,
ich meine ich hätte mal die Funktion IsNumber gesehen, habe sie aber gerade in der OH nicht gefunden. Alternativ kannst du folgendes machen:
Delphi-Quellcode:
try
wert := StrToFloat(Form1.Tab.Cells[4,i]); except on exception do begin { ist keine Zahl } end end |
Re: wenn keine zahl, dann...?
wie soll ich denn {ist keine zahl} ausdrücken?
|
Re: wenn keine zahl, dann...?
Hallo herrentor,
z.B. so:
Delphi-Quellcode:
function isNumber(str: String; var number: Extended): Boolen;
var wert : Extended; begin Result := True; try wert := StrToFloat(str); number := wert; except on exception do begin Result := False; end end end; |
Re: wenn keine zahl, dann...?
Wenn du Delphi7 hast, schau in der Hilfe mal nach
TryStrToInt, TryStrToFloat das würde dir die Exception sparen. die Funktion Val kann dir das auch ersparen, hat aber Probleme mit ein paar strings die als Zahl erkannt werden |
Re: wenn keine zahl, dann...?
Ich würde ehrlichgesagt keine try...except machen, weil man das nur im "notfall" anwenden sollte!
eine elegantere lösung wäre:
Delphi-Quellcode:
stefan
procedure TForm1.Button1Click(Sender: TObject);
var code: Integer; was: Real; text: String; begin text := '3.141592'; // entspricht deinem ...cells[x,y] val(text, was, code); // wenn "text" eine Real-Var ("was") ist // wird in "code" der wert 0 zurückgegeben // sonst wird "irgend was anderes" ausgegeben if (code = 0) then ShowMessage('Ist eine Zahl') else ShowMessage('Ist keine Zahl'); end; |
Re: wenn keine zahl, dann...?
joa wie oben schon gesagt, Val ist ne möglichkeit ABER : setzt mal dein Val auf den String 'XC' an.
Dann weisst du, was ich mit "problematisch" meinte |
Re: wenn keine zahl, dann...?
Zitat:
|
Re: wenn keine zahl, dann...?
Aber sollte man als Programmierer nicht grade auf das Unwahrscheinliche vorbereitet sein...?! :zwinker:
|
Re: wenn keine zahl, dann...?
das "XC" problem kommt aber nur bei var(...,integer,...) vor!
im oberen beispiel ist es aber eine real variable! Da wird es nicht falsch also richtig erkannt. :witch: stefan |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:14 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