Autor Beitrag
Blutiger Anfänger
Hält's aus hier
Beiträge: 5



BeitragVerfasst: So 03.11.02 18:27 
Ich möchte gern in einem Textfeld Kommazahlen eingeben und in einem anderen Text feld dann für mehrere Kommazahlen einen gleichen Wert ausgeben. Das ganze soll mit einem if then Befehl gemacht werden, ungefähr so:

if Prozente = (0,1..5,0) then Note.text := '5,9';

Ich möchte noch anmerken, das ich von Delphi im Grunde keine Ahnung habe und würde es daher begrüßen, wenn mögliche Hilfe ohne Fachbegriffe geleistet würde.

Note.text= Edit Feld
Prozente = umgewndelter Text in Zahl (StrToFloat). Glaube ich!!
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 03.11.02 18:39 
Hi!

Das mit der IF-Anweisung geht so:

ausblenden Quelltext
1:
2:
if (Prozente>=0,1) AND (Prozente<=5,0) THEN
Note.text:='5,9';


Ich möchte Dir zusätzlich noch das IF-THEN-ELSE FAQ in der Sparte "FAQ: Object Pascal" empfehlen.

MfG,
Peter

P.S.: StrToFloat ist richtig.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Blutiger Anfänger Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: So 03.11.02 19:26 
Hallo Peter Lustig!

Vielen Dank für den Tipp. Das klappt super! Ich glaube, ich muss mir allgemein mal Literatur zu Delphi besorgen.

Bei mir krieg ich übrigens noch ne Fehlermeldung, wenn ich 0","1 eingebe, ich muss bei mir 0"."1 eingeben. Im fertigen Programm funktioniert es dann allerdings mit Komma.
Popov
Gast
Erhaltene Danke: 1



BeitragVerfasst: So 03.11.02 19:47 
Extern arbeitet Windows mit dem Trennzeichen was in der Systemsteuerung angegeben ist. Intern kannst du das mit DecimalSeparator verändern. Allerdings nur wärend der Laufzeit.

Beispiel:

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
DecimalSeparator := ',';
r := StrToFloat('123,45');
DecimalSeparator := '~';
r := StrToFloat('123~45');
DecimalSeparator := '.'; //Standardwert
r := StrToFloat('123.45');