Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
Delphi 2006 Professional
|
Re: In den ListView SubItems Beträge addieren
11. Nov 2007, 15:54
Hai Gehstock,
als Tip für zukünftigen Code habe ich das ganze mal etwas umgebaut.
Delphi-Quellcode:
uses
SysUtils;
procedure RealInc( var x: Extended; const aValue: Extended = 1.0); overload;
begin
x := x + aValue;
end;
function RealInc( var x: Extended; const aValue: string = ' ';
errohandling: Boolean = True): Boolean; overload;
var
realvalue: Extended;
begin
result := False;
if TryStrToFloat(aValue, realvalue) then
begin
RealInc(x, realvalue);
result := True;
end
else
begin
if (errohandling) then
begin
raise Exception.create(Format(
' Der Inhalt von aValue ("%s") ist kein gültiger Gleitkommawert', [aValue]));
end;
end;
end;
function AddValuesFromLV(aLV: TListView; var aValue: Extended): Integer;
var
i: Integer;
checkcount: Integer;
begin
checkcount := 0;
with aLV do
begin
for i := 0 to Pred(Items.Count) do
begin
if (Items[i].Checked) then
begin
if (RealInc(aValue, Items[i].SubItems[1], False)) then
begin
Inc(checkcount);
end;
end;
end;
end;
result := checkcount;
end;
procedure TDemo_Form.ListView1Change(Sender: TObject; Item: TListItem;
Change: TItemChange);
const
grundpreis = 5.99;
var
gesamt: Extended;
begin
gesamt := 0;
if (AddValuesFromLV((Sender as TListView), gesamt) > 0) then
begin
RealInc(gesamt, grundpreis);
end;
Edit1.Text := FloatToStr(gesamt);
end;
Stephan B. "Lasst den Gänsen ihre Füßchen"
|
|
Zitat
|