Delphi-Quellcode:
if eltreestringgrid1.cells[5,i]='2110' then begin
Length(eltreestringgrid1.Cells[2,i]);
s := eltreestringgrid1.Cells[2,i];
setlength(e,length(s)-2);
copymemory(e,@s[1],length(e));
eltreestringgrid1.Cells[2,i]:=(string(e));
gesamtzahl:=gesamtzahl +strtofloat(eltreestringgrid1.cells[2,i]);
eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €';
end;
Delphi-Quellcode:
if eltreestringgrid1.cells[5,i]='
2110'
then begin
Length(eltreestringgrid1.Cells[2,i]);
// macht nix, da niemand das Result auswertest
s := eltreestringgrid1.Cells[2,i];
setlength(e,length(s)-2);
copymemory(e,@s[1],length(e));
// den, der das mal nach Unicode umstellen soll ... :waffe_in_ecke_stell:, damit der sich gleich erschießen kann
eltreestringgrid1.Cells[2,i]:=(
string(e));
// wozu das Char-Array
gesamtzahl:=gesamtzahl +strtofloat(eltreestringgrid1.cells[2,i]);
// wenn man hier E nimmt, dann kann ist die nächste Zeile sinnlos
eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+'
€';
end;
Delphi-Quellcode:
if ElTreeStringGrid1.Cells[5, i] = '2110' then begin
s := ElTreeStringGrid1.Cells[2, i];
SetLength(s, Length(s) - 2); // Copy oder Delete gingen auch
Gesamtzahl := Gesamtzahl + StrToFloat(s);
ElTreeStringGrid1.Cells[2, i] := s + ' €';
end;
Und die vielen weiteren IFs machen doch das Selbe? (ist ja nicht so gut erkennbar)
Also kann man die zusammenfassen und in eine Schleife oder Funktion verschieben, wo die Konstanten und Komponentennamen entsprechend angepasst werden.
Ach ja, eine halbwegs ordentliche Codeformatierung, Groß-/Kleinschreibung und ordentliche Namen für Komponenten machen den Code gleich viel lesbarer.
Der Vorschlag von bcvs sollte besser mal beherzigt werden.