AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Einem Array of double einen Wert 0 zuweisen
Thema durchsuchen
Ansicht
Themen-Optionen

Einem Array of double einen Wert 0 zuweisen

Ein Thema von Natcree · begonnen am 9. Dez 2013 · letzter Beitrag vom 9. Dez 2013
Antwort Antwort
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#1

Einem Array of double einen Wert 0 zuweisen

  Alt 9. Dez 2013, 19:51
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?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#2

AW: Einem Array of double einen Wert 0 zuweisen

  Alt 9. Dez 2013, 20:08
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
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Einem Array of double einen Wert 0 zuweisen

  Alt 9. Dez 2013, 20:14
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]='2110then Length(eltreestringgrid1.Cells[2,i]);
    if eltreestringgrid1.cells[5,i]='2110then s := eltreestringgrid1.Cells[2,i];
    if eltreestringgrid1.cells[5,i]='2110then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='2110then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='2110then eltreestringgrid1.Cells[2,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='2110then gesamtzahl:=gesamtzahl + strtofloat(eltreestringgrid1.cells[2,i]);
    if eltreestringgrid1.cells[5,i]='2110then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+'else;
    if eltreestringgrid1.cells[5,i]='3221then Length(eltreestringgrid1.Cells[2,i]);
    if eltreestringgrid1.cells[5,i]='3221then s := eltreestringgrid1.Cells[2,i];
    if eltreestringgrid1.cells[5,i]='3221then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='3221then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='3221then eltreestringgrid1.Cells[2,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='3221then gesamtzahl1:=gesamtzahl1 + strtofloat(eltreestringgrid1.cells[2,i]);
    if eltreestringgrid1.cells[5,i]='3221then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+'else;
    if eltreestringgrid1.cells[5,i]='2303then Length(eltreestringgrid1.Cells[2,i]);
    if eltreestringgrid1.cells[5,i]='2303then s := eltreestringgrid1.Cells[2,i];
    if eltreestringgrid1.cells[5,i]='2303then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='2303then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='2303then eltreestringgrid1.Cells[2,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='2303then gesamtzahl2:=gesamtzahl2 + strtofloat(eltreestringgrid1.cells[2,i]);
    if eltreestringgrid1.cells[5,i]='2303then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+'else;
    if eltreestringgrid1.cells[5,i]='2400then Length(eltreestringgrid1.Cells[2,i]);
    if eltreestringgrid1.cells[5,i]='2400then s := eltreestringgrid1.Cells[2,i];
    if eltreestringgrid1.cells[5,i]='2400then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='2400then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='2400then eltreestringgrid1.Cells[2,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='2400then gesamtzahl3:=gesamtzahl3 + strtofloat(eltreestringgrid1.cells[2,i]);
    if eltreestringgrid1.cells[5,i]='2400then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+'else;
    if eltreestringgrid1.cells[5,i]='2750then Length(eltreestringgrid1.Cells[3,i]);
    if eltreestringgrid1.cells[5,i]='2750then s := eltreestringgrid1.Cells[3,i];
    if eltreestringgrid1.cells[5,i]='2750then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='2750then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='2750then eltreestringgrid1.Cells[3,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='2750then gesamtzahl6:=gesamtzahl6 + strtofloat(eltreestringgrid1.cells[3,i]);
    if eltreestringgrid1.cells[5,i]='2750then eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+'else;
    if eltreestringgrid1.cells[5,i]='2900then Length(eltreestringgrid1.Cells[3,i]);
    if eltreestringgrid1.cells[5,i]='2900then s := eltreestringgrid1.Cells[3,i];
    if eltreestringgrid1.cells[5,i]='2900then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='2900then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='2900then eltreestringgrid1.Cells[3,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='2900then gesamtzahl7:=gesamtzahl7 + strtofloat(eltreestringgrid1.cells[3,i]);
    if eltreestringgrid1.cells[5,i]='2900then eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+'else;
    if eltreestringgrid1.cells[5,i]='4110then Length(eltreestringgrid1.Cells[2,i]);
    if eltreestringgrid1.cells[5,i]='4110then s := eltreestringgrid1.Cells[2,i];
    if eltreestringgrid1.cells[5,i]='4110then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='4110then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='4110then eltreestringgrid1.Cells[2,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='4110then gesamtzahl12:=gesamtzahl12 + strtofloat(eltreestringgrid1.cells[2,i]);
    if eltreestringgrid1.cells[5,i]='4110then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+'else;
    if eltreestringgrid1.cells[5,i]='4150then Length(eltreestringgrid1.Cells[2,i]);
    if eltreestringgrid1.cells[5,i]='4150then s := eltreestringgrid1.Cells[2,i];
    if eltreestringgrid1.cells[5,i]='4150then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='4150then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='4150then eltreestringgrid1.Cells[2,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='4150then gesamtzahl13:=gesamtzahl13 + strtofloat(eltreestringgrid1.cells[2,i]);
    if eltreestringgrid1.cells[5,i]='4150then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+'else;
    if eltreestringgrid1.cells[5,i]='4230then Length(eltreestringgrid1.Cells[2,i]);
    if eltreestringgrid1.cells[5,i]='4230then s := eltreestringgrid1.Cells[2,i];
    if eltreestringgrid1.cells[5,i]='4230then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='4230then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='4230then eltreestringgrid1.Cells[2,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='4230then gesamtzahl14:=gesamtzahl14 + strtofloat(eltreestringgrid1.cells[2,i]);
    if eltreestringgrid1.cells[5,i]='4230then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+'else;
    if eltreestringgrid1.cells[5,i]='4900then Length(eltreestringgrid1.Cells[3,i]);
    if eltreestringgrid1.cells[5,i]='4900then s := eltreestringgrid1.Cells[3,i];
    if eltreestringgrid1.cells[5,i]='4900then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='4900then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='4900then eltreestringgrid1.Cells[3,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='4900then gesamtzahl17:=gesamtzahl17 + strtofloat(eltreestringgrid1.cells[3,i]);
    if eltreestringgrid1.cells[5,i]='4900then eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+'else;
    if eltreestringgrid1.cells[5,i]='5020then Length(eltreestringgrid1.Cells[2,i]);
    if eltreestringgrid1.cells[5,i]='5020then s := eltreestringgrid1.Cells[2,i];
    if eltreestringgrid1.cells[5,i]='5020then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='5020then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='5020then eltreestringgrid1.Cells[2,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='5020then gesamtzahl21:=gesamtzahl21 + strtofloat(eltreestringgrid1.cells[2,i]);
    if eltreestringgrid1.cells[5,i]='5020then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+'else;
    if eltreestringgrid1.cells[5,i]='5250then Length(eltreestringgrid1.Cells[2,i]);
    if eltreestringgrid1.cells[5,i]='5250then s := eltreestringgrid1.Cells[2,i];
    if eltreestringgrid1.cells[5,i]='5250then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='5250then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='5250then eltreestringgrid1.Cells[2,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='5250then gesamtzahl22:=gesamtzahl22 + strtofloat(eltreestringgrid1.cells[2,i]);
    if eltreestringgrid1.cells[5,i]='5250then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+'else;
    if eltreestringgrid1.cells[5,i]='5872then Length(eltreestringgrid1.Cells[3,i]);
    if eltreestringgrid1.cells[5,i]='5872then s := eltreestringgrid1.Cells[3,i];
    if eltreestringgrid1.cells[5,i]='5872then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='5872then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='5872then eltreestringgrid1.Cells[3,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='5872then gesamtzahl24:=gesamtzahl24 + strtofloat(eltreestringgrid1.cells[3,i]);
    if eltreestringgrid1.cells[5,i]='5872then eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+'else;
    if eltreestringgrid1.cells[5,i]='5650then Length(eltreestringgrid1.Cells[3,i]);
    if eltreestringgrid1.cells[5,i]='5650then s := eltreestringgrid1.Cells[3,i];
    if eltreestringgrid1.cells[5,i]='5650then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='5650then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='5650then eltreestringgrid1.Cells[3,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='5650then gesamtzahl25:=gesamtzahl25 + strtofloat(eltreestringgrid1.cells[3,i]);
    if eltreestringgrid1.cells[5,i]='5650then eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+'else;
    if eltreestringgrid1.cells[5,i]='8028then Length(eltreestringgrid1.Cells[2,i]);
    if eltreestringgrid1.cells[5,i]='8028then s := eltreestringgrid1.Cells[2,i];
    if eltreestringgrid1.cells[5,i]='8028then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='8028then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='8028then eltreestringgrid1.Cells[2,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='8028then gesamtzahl41:=gesamtzahl41 + strtofloat(eltreestringgrid1.cells[2,i]);
    if eltreestringgrid1.cells[5,i]='8028then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+'else;
    if eltreestringgrid1.cells[5,i]='7100then Length(eltreestringgrid1.Cells[2,i]);
    if eltreestringgrid1.cells[5,i]='7100then s := eltreestringgrid1.Cells[2,i];
    if eltreestringgrid1.cells[5,i]='7100then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='7100then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='7100then eltreestringgrid1.Cells[2,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='7100then gesamtzahl42:=gesamtzahl42 + strtofloat(eltreestringgrid1.cells[2,i]);
    if eltreestringgrid1.cells[5,i]='7100then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+'else;
    if eltreestringgrid1.cells[5,i]='8150then Length(eltreestringgrid1.Cells[3,i]);
    if eltreestringgrid1.cells[5,i]='8150then s := eltreestringgrid1.Cells[3,i];
    if eltreestringgrid1.cells[5,i]='8150then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='8150then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='8150then eltreestringgrid1.Cells[3,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='8150then gesamtzahl45:=gesamtzahl45 + strtofloat(eltreestringgrid1.cells[3,i]);
    if eltreestringgrid1.cells[5,i]='8150then eltreestringgrid1.Cells[3,i]:=eltreestringgrid1.Cells[3,i]+'else;
    if eltreestringgrid1.cells[5,i]='7358then Length(eltreestringgrid1.Cells[3,i]);
    if eltreestringgrid1.cells[5,i]='7358then s := eltreestringgrid1.Cells[3,i];
    if eltreestringgrid1.cells[5,i]='7358then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='7358then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='7358then eltreestringgrid1.Cells[3,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='7358then gesamtzahl46:=gesamtzahl46 + strtofloat(eltreestringgrid1.cells[3,i]);
    if eltreestringgrid1.cells[5,i]='7358then 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
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.624 Beiträge
 
Delphi 12 Athens
 
#4

AW: Einem Array of double einen Wert 0 zuweisen

  Alt 9. Dez 2013, 20:22
. Naja, die Idee mit dem Array war ja schon ganz richtig (immerhin etwas).
Delphi-Quellcode:
var
  Gesamtzahlen: array[1..49] of double;
begin
  FillChar(Gesamtzahlen, SizeOf(Gesamtzahlen), 0);
Oder in einer Schleife einzeln zuweisen:
Delphi-Quellcode:
var
  Gesamtzahlen: array[1..49] of double;
  i: integer;
begin
  for i := Low(Gesamtzahlen) to High(Gesamtzahlen) do
    Gesamtzahlen[i] := 0;
Und dann statt auf 49 Einzelvariablen auf den entsprechenden Array-Index zugreifen.
Form9.Edit1.text := Format('%f €', [Gesamtzahlen[1]]);
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
703 Beiträge
 
Delphi 12 Athens
 
#5

AW: Einem Array of double einen Wert 0 zuweisen

  Alt 9. Dez 2013, 20:28
Kauf dir mal ein gutes Buch über Delphi.

Aber ich will ja nicht so sein:


Delphi-Quellcode:
var
i: integer;
Zahl: array[1..49] of double;
begin
  for i:=1 to 49 do
  begin
   zahl[i]:=0;
  end;
end;
Außerdem:
Zitat:
Delphi-Quellcode:
    
    if eltreestringgrid1.cells[5,i]='2110then Length(eltreestringgrid1.Cells[2,i]);
    if eltreestringgrid1.cells[5,i]='2110then s := eltreestringgrid1.Cells[2,i];
    if eltreestringgrid1.cells[5,i]='2110then setlength(e,length(s)-2);
    if eltreestringgrid1.cells[5,i]='2110then copymemory(e,@s[1],length(e));
    if eltreestringgrid1.cells[5,i]='2110then eltreestringgrid1.Cells[2,i]:=(string(e));
    if eltreestringgrid1.cells[5,i]='2110then gesamtzahl:=gesamtzahl + strtofloat(eltreestringgrid1.cells[2,i]);
    if eltreestringgrid1.cells[5,i]='2110then eltreestringgrid1.Cells[2,i]:=eltreestringgrid1.Cells[2,i]+'else;
Schon mal was von begin /end gehört? Warum nicht so?
Delphi-Quellcode:
if eltreestringgrid1.cells[5,i]='2110then 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;
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.323 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Einem Array of double einen Wert 0 zuweisen

  Alt 9. Dez 2013, 20:37
Delphi-Quellcode:
var
i: integer;
Zahl: array[1..49] of double;
begin
  for i:=1 to 49 do
  begin
   zahl[i]:=0;
  end;
end;
Oder wenn man die Grenzen nicht zweimal angeben will:
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;
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.071 Beiträge
 
Delphi 12 Athens
 
#7

AW: Einem Array of double einen Wert 0 zuweisen

  Alt 9. Dez 2013, 20:53
Delphi-Quellcode:
if eltreestringgrid1.cells[5,i]='2110then 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]='2110then 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] = '2110then 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.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 9. Dez 2013 um 20:57 Uhr)
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: Einem Array of double einen Wert 0 zuweisen

  Alt 9. Dez 2013, 21:33
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]='2110then 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]='3221then 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]='2303then 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]='2400then 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]='2750then 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]='2900then 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]='4110then 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]='4150then 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]='4230then 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]='4900then 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]='5020then 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]='5250then 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]='5872then 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]='5650then 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]='8028then 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]='7100then 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]='8150then 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]='7358then 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;
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: Einem Array of double einen Wert 0 zuweisen

  Alt 9. Dez 2013, 21:45
Zitat:
Also kann man die zusammenfassen und in eine Schleife oder Funktion verschieben, wo die Konstanten und Komponentennamen entsprechend angepasst werden.
Wie machen ich das am besten?

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?
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Einem Array of double einen Wert 0 zuweisen

  Alt 9. Dez 2013, 23:20
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.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz