![]() |
Edit-Ínhalte kumulieren
Hi LEuts,
ich möchte den Inhalt von Edits (Bsp 1-24) die Fließkommazahlen,wie 2,50 zusammenaddieren. Wie stellt man das an?! |
Wenn du die Editfelder dynamisch erzeugst, kannst du sie in ein Array packen und dann in einer Schleife die Werte addieren:
Delphi-Quellcode:
Falls du sie in der IDE erzeugst und sie Edit1..24 durchnumerierst, kannst du so die Werte addieren:
var
Edits: Array[1..24] of TEdit; a: Integer; wert: Real; begin //[..Editfelder erzeugen..] wert := 0; for a := 1 to Length(Edits) do begin wert := wert + StrtoInt(Edits[a]); end; end;
Delphi-Quellcode:
var
a: Integer; wert: Real; begin wert := 0; for a := 1 to 24 do begin wert := wert + Strtoint(FindComponent('Edit' + InttoStr(a))); end; end; |
@Chewie: Man lese genau: Fließkommazahlen
@Privateer3000: Anstatt StrToInt nimmst Du StrToFloat |
ja, sakura
genau das ist mein Problem. Ich kenn leider noch nicht alle Zahlentypen. Kämpfe mit inkompatiblen Typen. mon siehts so aus:
Code:
keine Chance
procedure TForm1.sumbuttonClick(Sender: TObject);
var i: integer; puff: Real; begin puff:=0; for i:= 1 to 34 do begin puff:=puff+StrToFloat(FindComponent('Edit'+IntToStr(i))); end; end; |
Code:
Das sollte Dir weiterhelfen.
procedure TForm1.sumbuttonClick(Sender: TObject);
var i: integer; puff: Real; begin puff:=0; for i:= 1 to 34 do begin puff:=puff+StrToFloat([color=#f60000]TEdit([/color]FindComponent('Edit'+IntToStr(i))[color=#ff0000]).Text[/color]); end; end; |
Zitat:
|
danke Sakura &Chewie
dein Rotmarkietes war was mir noch zu schaffen machte, der Inhalt der Edit musste ja angesprochen werden... Nur vollstandikeithalber
Code:
müsste doch auch gehen?
puff:=StrToFloat(FindComponent('Edit'+IntToStr(i)).text as TEdit);
|
Nein, aber so
Code:
puff:=StrToFloat([color=#ff0000]([/color]FindComponent('Edit'+IntToStr(i)).text as TEdit[color=#ff0000]).Text[/color]);
|
warum berechnet er 2,50 + 1,30 = 3,7999?
Theoretisch doch garnicht möglich... da gibts doch nichts runden normalerweise... wenn doch die ist die syntax? Und er soll statt 2,5 2,50 anzeigen, also Nachkommastellen |
hat sich erledigt...habe Typ auf curreny gestellt
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:32 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