![]() |
Einem Array of double einen Wert 0 zuweisen
Hallo Zusammen Wiedereinmal
Ich habe 49 variablen einen arry of double draus machen ist kein Problem. Nun will ich aber jeder Variablen den 0 zuweisen Habe es schon mit Versucht Gibt aber ne klare Fehlermeldung zurück
Delphi-Quellcode:
var
d: double; Zahl: array[1..49] of double; begin for d:=zahl1 to zahl49 do begin d:=0; end; end; for loop control variable must have ordinal type. wie muss ich an diese Sache rangehen? |
AW: Einem Array of double einen Wert 0 zuweisen
Hast Du nun 49 Variablen oder eine 49-elementige Array-Variable? Ich steig schon bei den paar Zeilen Code nicht mehr durch, da geht ja alles durcheinander :gruebel:
|
AW: Einem Array of double einen Wert 0 zuweisen
Ich zeigt dir mal nen beispielcode aus meinem "Prog"
Aber nicht erschrecken lol
Delphi-Quellcode:
procedure TForm1.LMDSpeedButton2Click(Sender: TObject);
var gesamtzahl,gesamtzahl1,gesamtzahl2,gesamtzahl3,gesamtzahl4, gesamtzahl5,gesamtzahl6,gesamtzahl7,gesamtzahl8, gesamtzahl9,gesamtzahl12,gesamtzahl13,gesamtzahl14,gesamtzahl15, gesamtzahl16,gesamtzahl17,gesamtzahl18,gesamtzahl19,gesamtzahl20, gesamtzahl21,gesamtzahl22,gesamtzahl23,gesamtzahl24, gesamtzahl25,gesamtzahl26,gesamtzahl27,gesamtzahl28, gesamtzahl31,gesamtzahl32,gesamtzahl33,gesamtzahl34, gesamtzahl35,gesamtzahl36,gesamtzahl37,gesamtzahl38,gesamtzahl39, gesamtzahl41,gesamtzahl42,gesamtzahl43,gesamtzahl44, gesamtzahl45,gesamtzahl46,gesamtzahl47,gesamtzahl48,gesamtzahl49: double; i:integer; s : String; e: array of char; begin for i:=1 to eltreestringgrid1.RowCount-1 do begin if eltreestringgrid1.cells[5,i]='2110' then Length(eltreestringgrid1.Cells[2,i]); if eltreestringgrid1.cells[5,i]='2110' then s := eltreestringgrid1.Cells[2,i]; if eltreestringgrid1.cells[5,i]='2110' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='2110' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='2110' then eltreestringgrid1.Cells[2,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='2110' then gesamtzahl:=gesamtzahl + strtofloat(eltreestringgrid1.cells[2,i]); if eltreestringgrid1.cells[5,i]='2110' then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €' else; if eltreestringgrid1.cells[5,i]='3221' then Length(eltreestringgrid1.Cells[2,i]); if eltreestringgrid1.cells[5,i]='3221' then s := eltreestringgrid1.Cells[2,i]; if eltreestringgrid1.cells[5,i]='3221' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='3221' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='3221' then eltreestringgrid1.Cells[2,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='3221' then gesamtzahl1:=gesamtzahl1 + strtofloat(eltreestringgrid1.cells[2,i]); if eltreestringgrid1.cells[5,i]='3221' then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €' else; if eltreestringgrid1.cells[5,i]='2303' then Length(eltreestringgrid1.Cells[2,i]); if eltreestringgrid1.cells[5,i]='2303' then s := eltreestringgrid1.Cells[2,i]; if eltreestringgrid1.cells[5,i]='2303' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='2303' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='2303' then eltreestringgrid1.Cells[2,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='2303' then gesamtzahl2:=gesamtzahl2 + strtofloat(eltreestringgrid1.cells[2,i]); if eltreestringgrid1.cells[5,i]='2303' then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €' else; if eltreestringgrid1.cells[5,i]='2400' then Length(eltreestringgrid1.Cells[2,i]); if eltreestringgrid1.cells[5,i]='2400' then s := eltreestringgrid1.Cells[2,i]; if eltreestringgrid1.cells[5,i]='2400' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='2400' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='2400' then eltreestringgrid1.Cells[2,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='2400' then gesamtzahl3:=gesamtzahl3 + strtofloat(eltreestringgrid1.cells[2,i]); if eltreestringgrid1.cells[5,i]='2400' then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €' else; if eltreestringgrid1.cells[5,i]='2750' then Length(eltreestringgrid1.Cells[3,i]); if eltreestringgrid1.cells[5,i]='2750' then s := eltreestringgrid1.Cells[3,i]; if eltreestringgrid1.cells[5,i]='2750' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='2750' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='2750' then eltreestringgrid1.Cells[3,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='2750' then gesamtzahl6:=gesamtzahl6 + strtofloat(eltreestringgrid1.cells[3,i]); if eltreestringgrid1.cells[5,i]='2750' then eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+' €' else; if eltreestringgrid1.cells[5,i]='2900' then Length(eltreestringgrid1.Cells[3,i]); if eltreestringgrid1.cells[5,i]='2900' then s := eltreestringgrid1.Cells[3,i]; if eltreestringgrid1.cells[5,i]='2900' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='2900' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='2900' then eltreestringgrid1.Cells[3,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='2900' then gesamtzahl7:=gesamtzahl7 + strtofloat(eltreestringgrid1.cells[3,i]); if eltreestringgrid1.cells[5,i]='2900' then eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+' €' else; if eltreestringgrid1.cells[5,i]='4110' then Length(eltreestringgrid1.Cells[2,i]); if eltreestringgrid1.cells[5,i]='4110' then s := eltreestringgrid1.Cells[2,i]; if eltreestringgrid1.cells[5,i]='4110' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='4110' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='4110' then eltreestringgrid1.Cells[2,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='4110' then gesamtzahl12:=gesamtzahl12 + strtofloat(eltreestringgrid1.cells[2,i]); if eltreestringgrid1.cells[5,i]='4110' then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €' else; if eltreestringgrid1.cells[5,i]='4150' then Length(eltreestringgrid1.Cells[2,i]); if eltreestringgrid1.cells[5,i]='4150' then s := eltreestringgrid1.Cells[2,i]; if eltreestringgrid1.cells[5,i]='4150' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='4150' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='4150' then eltreestringgrid1.Cells[2,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='4150' then gesamtzahl13:=gesamtzahl13 + strtofloat(eltreestringgrid1.cells[2,i]); if eltreestringgrid1.cells[5,i]='4150' then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €' else; if eltreestringgrid1.cells[5,i]='4230' then Length(eltreestringgrid1.Cells[2,i]); if eltreestringgrid1.cells[5,i]='4230' then s := eltreestringgrid1.Cells[2,i]; if eltreestringgrid1.cells[5,i]='4230' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='4230' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='4230' then eltreestringgrid1.Cells[2,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='4230' then gesamtzahl14:=gesamtzahl14 + strtofloat(eltreestringgrid1.cells[2,i]); if eltreestringgrid1.cells[5,i]='4230' then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €' else; if eltreestringgrid1.cells[5,i]='4900' then Length(eltreestringgrid1.Cells[3,i]); if eltreestringgrid1.cells[5,i]='4900' then s := eltreestringgrid1.Cells[3,i]; if eltreestringgrid1.cells[5,i]='4900' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='4900' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='4900' then eltreestringgrid1.Cells[3,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='4900' then gesamtzahl17:=gesamtzahl17 + strtofloat(eltreestringgrid1.cells[3,i]); if eltreestringgrid1.cells[5,i]='4900' then eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+' €' else; if eltreestringgrid1.cells[5,i]='5020' then Length(eltreestringgrid1.Cells[2,i]); if eltreestringgrid1.cells[5,i]='5020' then s := eltreestringgrid1.Cells[2,i]; if eltreestringgrid1.cells[5,i]='5020' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='5020' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='5020' then eltreestringgrid1.Cells[2,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='5020' then gesamtzahl21:=gesamtzahl21 + strtofloat(eltreestringgrid1.cells[2,i]); if eltreestringgrid1.cells[5,i]='5020' then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €' else; if eltreestringgrid1.cells[5,i]='5250' then Length(eltreestringgrid1.Cells[2,i]); if eltreestringgrid1.cells[5,i]='5250' then s := eltreestringgrid1.Cells[2,i]; if eltreestringgrid1.cells[5,i]='5250' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='5250' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='5250' then eltreestringgrid1.Cells[2,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='5250' then gesamtzahl22:=gesamtzahl22 + strtofloat(eltreestringgrid1.cells[2,i]); if eltreestringgrid1.cells[5,i]='5250' then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €' else; if eltreestringgrid1.cells[5,i]='5872' then Length(eltreestringgrid1.Cells[3,i]); if eltreestringgrid1.cells[5,i]='5872' then s := eltreestringgrid1.Cells[3,i]; if eltreestringgrid1.cells[5,i]='5872' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='5872' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='5872' then eltreestringgrid1.Cells[3,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='5872' then gesamtzahl24:=gesamtzahl24 + strtofloat(eltreestringgrid1.cells[3,i]); if eltreestringgrid1.cells[5,i]='5872' then eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+' €' else; if eltreestringgrid1.cells[5,i]='5650' then Length(eltreestringgrid1.Cells[3,i]); if eltreestringgrid1.cells[5,i]='5650' then s := eltreestringgrid1.Cells[3,i]; if eltreestringgrid1.cells[5,i]='5650' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='5650' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='5650' then eltreestringgrid1.Cells[3,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='5650' then gesamtzahl25:=gesamtzahl25 + strtofloat(eltreestringgrid1.cells[3,i]); if eltreestringgrid1.cells[5,i]='5650' then eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+' €' else; if eltreestringgrid1.cells[5,i]='8028' then Length(eltreestringgrid1.Cells[2,i]); if eltreestringgrid1.cells[5,i]='8028' then s := eltreestringgrid1.Cells[2,i]; if eltreestringgrid1.cells[5,i]='8028' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='8028' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='8028' then eltreestringgrid1.Cells[2,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='8028' then gesamtzahl41:=gesamtzahl41 + strtofloat(eltreestringgrid1.cells[2,i]); if eltreestringgrid1.cells[5,i]='8028' then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €' else; if eltreestringgrid1.cells[5,i]='7100' then Length(eltreestringgrid1.Cells[2,i]); if eltreestringgrid1.cells[5,i]='7100' then s := eltreestringgrid1.Cells[2,i]; if eltreestringgrid1.cells[5,i]='7100' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='7100' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='7100' then eltreestringgrid1.Cells[2,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='7100' then gesamtzahl42:=gesamtzahl42 + strtofloat(eltreestringgrid1.cells[2,i]); if eltreestringgrid1.cells[5,i]='7100' then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €' else; if eltreestringgrid1.cells[5,i]='8150' then Length(eltreestringgrid1.Cells[3,i]); if eltreestringgrid1.cells[5,i]='8150' then s := eltreestringgrid1.Cells[3,i]; if eltreestringgrid1.cells[5,i]='8150' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='8150' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='8150' then eltreestringgrid1.Cells[3,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='8150' then gesamtzahl45:=gesamtzahl45 + strtofloat(eltreestringgrid1.cells[3,i]); if eltreestringgrid1.cells[5,i]='8150' then eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+' €' else; if eltreestringgrid1.cells[5,i]='7358' then Length(eltreestringgrid1.Cells[3,i]); if eltreestringgrid1.cells[5,i]='7358' then s := eltreestringgrid1.Cells[3,i]; if eltreestringgrid1.cells[5,i]='7358' then setlength(e,length(s)-2); if eltreestringgrid1.cells[5,i]='7358' then copymemory(e,@s[1],length(e)); if eltreestringgrid1.cells[5,i]='7358' then eltreestringgrid1.Cells[3,i]:=(string(e)); if eltreestringgrid1.cells[5,i]='7358' then gesamtzahl46:=gesamtzahl46 + strtofloat(eltreestringgrid1.cells[3,i]); if eltreestringgrid1.cells[5,i]='7358' then eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+' €' else; end; Form9.Label2110.Caption := 'Mitgliedsbeiträge:'; Form9.Edit1.text := Format('%f €', [Gesamtzahl]); Form9.Label3221.Caption := 'Spenden:'; Form9.Edit2.text := Format('%f €', [Gesamtzahl1]); Form9.Label2303.Caption := 'Zuschüsse:'; Form9.Edit3.text := Format('%f €', [Gesamtzahl2]); Form9.Label2400.Caption := 'sonstige Einnahmen:'; Form9.Edit4.text := Format('%f €', [Gesamtzahl3]); Gesamtzahl4 := Gesamtzahl + Gesamtzahl1 + Gesamtzahl2 + Gesamtzahl3; Form9.LabelGesamt.Caption := 'Summe Einnahmen:'; Form9.Edit5.text := Format('%f €', [Gesamtzahl4]); Gesamtzahl5:=0; Form9.Edit6.text := Format('%f €', [Gesamtzahl5]); Form9.Edit7.text := Format('%f €', [Gesamtzahl6]); Form9.Edit8.text := Format('%f €', [Gesamtzahl7]); Gesamtzahl8 := Gesamtzahl5 + Gesamtzahl6 + Gesamtzahl7; Form9.Edit9.text := Format('%f €', [Gesamtzahl8]); Form9.Edit10.text := Format('%f €', [Gesamtzahl8]); Gesamtzahl9 := Gesamtzahl4-Gesamtzahl8; Form9.Edit21.text:=floattostr(gesamtzahl9); Form9.Edit11.text := Format('%f €', [Gesamtzahl9]); Form9.Edit12.text := Format('%f €', [Gesamtzahl12]); Form9.Edit13.text := Format('%f €', [Gesamtzahl13]); Form9.Edit14.text := Format('%f €', [Gesamtzahl14]); Gesamtzahl15 := Gesamtzahl12 + Gesamtzahl13 + Gesamtzahl14; Form9.Edit15.text := Format('%f €', [Gesamtzahl15]); Gesamtzahl16:=0; Form9.Edit16.text := Format('%f €', [Gesamtzahl16]); Form9.Edit17.text := Format('%f €', [Gesamtzahl17]); Gesamtzahl18 := Gesamtzahl16 + Gesamtzahl17; Form9.Edit18.text := Format('%f €', [Gesamtzahl18]); Gesamtzahl19 := Gesamtzahl18; Form9.Edit19.text := Format('%f €', [Gesamtzahl19]); Gesamtzahl20 := Gesamtzahl15-Gesamtzahl18; Form9.Edit22.text:=floattostr(gesamtzahl20) ; Form9.Edit20.text := Format('%f €', [Gesamtzahl20]); Form10.Edit1.text := Format('%f €', [Gesamtzahl21]); Form10.Edit2.text := Format('%f €', [Gesamtzahl22]); Gesamtzahl23 := Gesamtzahl21 + Gesamtzahl22; Form10.Edit3.text := Format('%f €', [Gesamtzahl23]); Form10.Edit4.text := Format('%f €', [Gesamtzahl24]); Form10.Edit5.text := Format('%f €', [Gesamtzahl25]); Gesamtzahl26 := Gesamtzahl24 + Gesamtzahl25; Form10.Edit6.text := Format('%f €', [Gesamtzahl26]); Form10.edit7.text := Format('%f €', [Gesamtzahl26]); Gesamtzahl27 := Gesamtzahl23 - Gesamtzahl26; Form10.Edit9.text:=floattostr(gesamtzahl27); Form10.edit8.text := Format('%f €', [Gesamtzahl27]); Form11.edit1.text := Format('%f €', [Gesamtzahl31]); Form11.edit2.text := Format('%f €', [Gesamtzahl32]); Form11.edit3.text := Format('%f €', [Gesamtzahl33]); Form11.edit4.text := Format('%f €', [Gesamtzahl34]); Form11.edit5.text := Format('%f €', [Gesamtzahl35]); Form11.edit6.text := Format('%f €', [Gesamtzahl36]); Form11.edit7.text := Format('%f €', [Gesamtzahl37]); Form11.edit8.text := Format('%f €', [Gesamtzahl38]); Form11.Edit10.text:=floattostr(gesamtzahl39); Form11.edit9.text := Format('%f €', [Gesamtzahl39]); Form12.edit1.text := Format('%f €', [Gesamtzahl41]); Form12.edit2.text := Format('%f €', [Gesamtzahl42]); gesamtzahl43 := Gesamtzahl41 + Gesamtzahl42; Form12.edit3.text := Format('%f €', [Gesamtzahl43]); Form12.edit4.text := Format('%f €', [Gesamtzahl44]); Form12.edit5.text := Format('%f €', [Gesamtzahl45]); Form12.edit6.text := Format('%f €', [Gesamtzahl46]); gesamtzahl47 := Gesamtzahl44 + Gesamtzahl45 + Gesamtzahl46; Form12.edit7.text := Format('%f €', [Gesamtzahl47]); Form12.edit8.text := Format('%f €', [Gesamtzahl47]); Gesamtzahl48 := Gesamtzahl43 - Gesamtzahl47; Form12.Edit10.text:=floattostr(gesamtzahl48); Form12.edit9.text := Format('%f €', [Gesamtzahl48]); Form13.Show; end; Nun will ich den gesamtzahl variablen allen den Wert 0 zuweisen damit auch der Compiler nicht mehr meckert wie gesamtzahl1 meight have not been intialized. So und nun meckert über den langen code und wie versaut er ist... lol :lol: |
AW: Einem Array of double einen Wert 0 zuweisen
:shock:. Naja, die Idee mit dem Array war ja schon ganz richtig (immerhin etwas).
Delphi-Quellcode:
Oder in einer Schleife einzeln zuweisen:
var
Gesamtzahlen: array[1..49] of double; begin FillChar(Gesamtzahlen, SizeOf(Gesamtzahlen), 0);
Delphi-Quellcode:
Und dann statt auf 49 Einzelvariablen auf den entsprechenden Array-Index zugreifen.
var
Gesamtzahlen: array[1..49] of double; i: integer; begin for i := Low(Gesamtzahlen) to High(Gesamtzahlen) do Gesamtzahlen[i] := 0;
Delphi-Quellcode:
Form9.Edit1.text := Format('%f €', [Gesamtzahlen[1]]);
|
AW: Einem Array of double einen Wert 0 zuweisen
Kauf dir mal ein gutes Buch über Delphi.
Aber ich will ja nicht so sein:
Delphi-Quellcode:
Außerdem:
var
i: integer; Zahl: array[1..49] of double; begin for i:=1 to 49 do begin zahl[i]:=0; end; end; Zitat:
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; |
AW: Einem Array of double einen Wert 0 zuweisen
Zitat:
Delphi-Quellcode:
var
i: integer; Zahl: array[1..49] of double; begin for i := low(Zahl) to high(Zahl) do begin zahl[i]:=0; end; end; |
AW: Einem Array of double einen Wert 0 zuweisen
Zitat:
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:
Und die vielen weiteren IFs machen doch das Selbe? (ist ja nicht so gut erkennbar)
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; 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. |
AW: Einem Array of double einen Wert 0 zuweisen
So Habe den Code Jetzt wie folgt geändert:
Delphi-Quellcode:
procedure TForm1.LMDSpeedButton2Click(Sender: TObject);
var Gesamtzahl:double; Gesamtzahlen: array[1..48] of double; i:integer; s : String; begin Gesamtzahl:=0; for i := Low(Gesamtzahlen) to High(Gesamtzahlen) do Gesamtzahlen[i] := 0; for i:=1 to eltreestringgrid1.RowCount-1 do begin if eltreestringgrid1.cells[5,i]='2110' then begin s := ElTreeStringGrid1.Cells[2,i]; SetLength(S, Length(s) - 2); Gesamtzahl := Gesamtzahl + StrToFloat(S); ElTreeStringGrid1.Cells[2,i] := S + ' €'; end; if eltreestringgrid1.cells[5,i]='3221' then begin s := eltreestringgrid1.Cells[2,i]; setlength(e,length(s)-2); gesamtzahlen[1]:=gesamtzahlen[1] + strtofloat(eltreestringgrid1.cells[2,i]); eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €'; end; if eltreestringgrid1.cells[5,i]='2303' then begin s := eltreestringgrid1.Cells[2,i]; setlength(e,length(s)-2); gesamtzahlen[2]:=gesamtzahlen[2] + strtofloat(eltreestringgrid1.cells[2,i]); eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €'; end; if eltreestringgrid1.cells[5,i]='2400' then begin s := eltreestringgrid1.Cells[2,i]; setlength(e,length(s)-2); gesamtzahlen[3]:=gesamtzahlen[3] + strtofloat(eltreestringgrid1.cells[2,i]); eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €'; end; if eltreestringgrid1.cells[5,i]='2750' then begin s := eltreestringgrid1.Cells[3,i]; setlength(e,length(s)-2); gesamtzahlen[6]:=gesamtzahlen[6] + strtofloat(eltreestringgrid1.cells[3,i]); eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+' €'; end; if eltreestringgrid1.cells[5,i]='2900' then begin s := eltreestringgrid1.Cells[3,i]; setlength(e,length(s)-2); gesamtzahlen[7]:=gesamtzahlen[7] + strtofloat(eltreestringgrid1.cells[3,i]); eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+' €'; end; if eltreestringgrid1.cells[5,i]='4110' then begin s := eltreestringgrid1.Cells[2,i]; setlength(e,length(s)-2); gesamtzahlen[12]:=gesamtzahlen[12] + strtofloat(eltreestringgrid1.cells[2,i]); eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €'; end; if eltreestringgrid1.cells[5,i]='4150' then begin s := eltreestringgrid1.Cells[2,i]; setlength(e,length(s)-2); gesamtzahlen[13]:=gesamtzahlen[13] + strtofloat(eltreestringgrid1.cells[2,i]); eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €'; end; if eltreestringgrid1.cells[5,i]='4230' then begin s := eltreestringgrid1.Cells[2,i]; setlength(e,length(s)-2); gesamtzahlen[14]:=gesamtzahlen[14] + strtofloat(eltreestringgrid1.cells[2,i]); eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €'; end; if eltreestringgrid1.cells[5,i]='4900' then begin s := eltreestringgrid1.Cells[3,i]; setlength(e,length(s)-2); gesamtzahlen[17]:=gesamtzahlen[17] + strtofloat(eltreestringgrid1.cells[3,i]); eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+' €'; end; if eltreestringgrid1.cells[5,i]='5020' then begin s := eltreestringgrid1.Cells[2,i]; setlength(e,length(s)-2); gesamtzahlen[21]:=gesamtzahlen[21] + strtofloat(eltreestringgrid1.cells[2,i]); eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €'; end; if eltreestringgrid1.cells[5,i]='5250' then begin s := eltreestringgrid1.Cells[2,i]; setlength(e,length(s)-2); gesamtzahlen[22]:=gesamtzahlen[22] + strtofloat(eltreestringgrid1.cells[2,i]); eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €'; end; if eltreestringgrid1.cells[5,i]='5872' then begin s := eltreestringgrid1.Cells[3,i]; setlength(e,length(s)-2); gesamtzahlen[24]:=gesamtzahlen[24] + strtofloat(eltreestringgrid1.cells[3,i]); eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+' €'; end; if eltreestringgrid1.cells[5,i]='5650' then begin s := eltreestringgrid1.Cells[3,i]; setlength(e,length(s)-2); gesamtzahlen[25]:=gesamtzahlen[25] + strtofloat(eltreestringgrid1.cells[3,i]); eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+' €'; end; if eltreestringgrid1.cells[5,i]='8028' then begin s := eltreestringgrid1.Cells[2,i]; setlength(e,length(s)-2); gesamtzahlen[41]:=gesamtzahlen[41] + strtofloat(eltreestringgrid1.cells[2,i]); eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €'; end; if eltreestringgrid1.cells[5,i]='7100' then begin s := eltreestringgrid1.Cells[2,i]; setlength(e,length(s)-2); gesamtzahlen[42]:=gesamtzahlen[42] + strtofloat(eltreestringgrid1.cells[2,i]); eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+' €'; end; if eltreestringgrid1.cells[5,i]='8150' then begin s := eltreestringgrid1.Cells[3,i]; setlength(e,length(s)-2); gesamtzahlen[45]:=gesamtzahlen[45] + strtofloat(eltreestringgrid1.cells[3,i]); eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+' €'; end; if eltreestringgrid1.cells[5,i]='7358' then begin s := eltreestringgrid1.Cells[3,i]; setlength(e,length(s)-2); gesamtzahlen[46]:=gesamtzahlen[46] + strtofloat(eltreestringgrid1.cells[3,i]); eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+' €'; end; Form9.Label2110.Caption := 'Mitgliedsbeiträge:'; Form9.Edit1.text := Format('%f €', [Gesamtzahl]); Form9.Label3221.Caption := 'Spenden:'; Form9.Edit2.text := Format('%f €', [Gesamtzahlen[1]]); Form9.Label2303.Caption := 'Zuschüsse:'; Form9.Edit3.text := Format('%f €', [Gesamtzahlen[2]]); Form9.Label2400.Caption := 'sonstige Einnahmen:'; Form9.Edit4.text := Format('%f €', [Gesamtzahlen[3]]); Gesamtzahlen[4] := Gesamtzahl + Gesamtzahlen[1] + Gesamtzahlen[2] + Gesamtzahlen[3]; Form9.LabelGesamt.Caption := 'Summe Einnahmen:'; Form9.Edit5.text := Format('%f €', [Gesamtzahlen[4]]); Gesamtzahlen[5]:=0; Form9.Edit6.text := Format('%f €', [Gesamtzahlen[5]]); Form9.Edit7.text := Format('%f €', [Gesamtzahlen[6]]); Form9.Edit8.text := Format('%f €', [Gesamtzahlen[7]]); Gesamtzahlen[8] := Gesamtzahlen[5] + Gesamtzahlen[6] + Gesamtzahlen[7]; Form9.Edit9.text := Format('%f €', [Gesamtzahlen[8]]); Form9.Edit10.text := Format('%f €', [Gesamtzahlen[8]]); Gesamtzahlen[9] := Gesamtzahlen[4]-Gesamtzahlen[8]; Form9.Edit21.text := floattostr(gesamtzahlen[9]); Form9.Edit11.text := Format('%f €', [Gesamtzahlen[9]]); Form9.Edit12.text := Format('%f €', [Gesamtzahlen[12]]); Form9.Edit13.text := Format('%f €', [Gesamtzahlen[13]]); Form9.Edit14.text := Format('%f €', [Gesamtzahlen[14]]); Gesamtzahlen[15] := Gesamtzahlen[12] + Gesamtzahlen[13] + Gesamtzahlen[14]; Form9.Edit15.text := Format('%f €', [Gesamtzahlen[15]]); Gesamtzahlen[16]:=0; Form9.Edit16.text := Format('%f €', [Gesamtzahlen[16]]); Form9.Edit17.text := Format('%f €', [Gesamtzahlen[17]]); Gesamtzahlen[18] := Gesamtzahlen[16] + Gesamtzahlen[17]; Form9.Edit18.text := Format('%f €', [Gesamtzahlen[18]]); Gesamtzahlen[19] := Gesamtzahlen[18]; Form9.Edit19.text := Format('%f €', [Gesamtzahlen[19]]); Gesamtzahlen[20] := Gesamtzahlen[15]-Gesamtzahlen[18]; Form9.Edit22.text := floattostr(gesamtzahlen[20]) ; Form9.Edit20.text := Format('%f €', [Gesamtzahlen[20]]); Form10.Edit1.text := Format('%f €', [Gesamtzahlen[21]]); Form10.Edit2.text := Format('%f €', [Gesamtzahlen[22]]); Gesamtzahlen[23] := Gesamtzahlen[21] + Gesamtzahlen[22]; Form10.Edit3.text := Format('%f €', [Gesamtzahlen[23]]); Form10.Edit4.text := Format('%f €', [Gesamtzahlen[24]]); Form10.Edit5.text := Format('%f €', [Gesamtzahlen[25]]); Gesamtzahlen[26] := Gesamtzahlen[24] + Gesamtzahlen[25]; Form10.Edit6.text := Format('%f €', [Gesamtzahlen[26]]); Form10.edit7.text := Format('%f €', [Gesamtzahlen[26]]); Gesamtzahlen[27] := Gesamtzahlen[23] - Gesamtzahlen[26]; Form10.Edit9.text := floattostr(gesamtzahlen[27]); Form10.edit8.text := Format('%f €', [Gesamtzahlen[27]]); Form11.edit1.text := Format('%f €', [Gesamtzahlen[31]]); Form11.edit2.text := Format('%f €', [Gesamtzahlen[32]]); Form11.edit3.text := Format('%f €', [Gesamtzahlen[33]]); Form11.edit4.text := Format('%f €', [Gesamtzahlen[34]]); Form11.edit5.text := Format('%f €', [Gesamtzahlen[35]]); Form11.edit6.text := Format('%f €', [Gesamtzahlen[36]]); Form11.edit7.text := Format('%f €', [Gesamtzahlen[37]]); Form11.edit8.text := Format('%f €', [Gesamtzahlen[38]]); Form11.Edit10.text := floattostr(gesamtzahlen[39]); Form11.edit9.text := Format('%f €', [Gesamtzahlen[39]]); Form12.edit1.text := Format('%f €', [Gesamtzahlen[41]]); Form12.edit2.text := Format('%f €', [Gesamtzahlen[42]]); gesamtzahlen[43] := Gesamtzahlen[41] + Gesamtzahlen[42]; Form12.edit3.text := Format('%f €', [Gesamtzahlen[43]]); Form12.edit4.text := Format('%f €', [Gesamtzahlen[44]]); Form12.edit5.text := Format('%f €', [Gesamtzahlen[45]]); Form12.edit6.text := Format('%f €', [Gesamtzahlen[46]]); gesamtzahlen[47] := Gesamtzahlen[44] + Gesamtzahlen[45] + Gesamtzahlen[46]; Form12.edit7.text := Format('%f €', [Gesamtzahlen[47]]); Form12.edit8.text := Format('%f €', [Gesamtzahlen[47]]); Gesamtzahlen[48] := Gesamtzahlen[43] - Gesamtzahlen[47]; Form12.Edit10.text := floattostr(gesamtzahlen[48]); Form12.edit9.text := Format('%f €', [Gesamtzahlen[48]]); Form13.Show; end; end; |
AW: Einem Array of double einen Wert 0 zuweisen
Zitat:
Diese Procedure wird ja nur einmal im jahr ausgeführt. Hier werden die Daten ausen einem Kassenbuch nach Kostenstellen aufgelistet und in die entsprechenden Fenster zur Einnahmen/Ausgaben Überschussrechnung fürs Finanzamt zum Druck vorbereitet. Daher Frag ich mich ob es Sinn macht und wenn ja Warum? |
AW: Einem Array of double einen Wert 0 zuweisen
Ja wenn die nur einmal im Jahr aufgerufen wird, dann macht das ja nix.
Ist ja nur fürs Finanzamt ... warum sollte man da vernünftig (übersichtlich, KISS, DRY, etc.) programmieren. Würd ja auch gar nicht zum Rest passen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 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