![]() |
Addieren von Cells?
Hi!
Ich hab da ein Problem! Und zwar möchte ich mehrere Cells von einem Stringgrid addieren und die dann in einer anderen Cell ausgeben. Aber wie kann ich die addieren? Kann mir wer helfen? Danke schonmal! Gruß Tiny |
Re: Addieren von Cells?
willst du die strings addieren oder die Inhalte der Zellen?
raik |
Re: Addieren von Cells?
Die Inhalte der Zellen! (es sind zahlen)
|
Re: Addieren von Cells?
erstmal musst du diese umwandeln
Delphi-Quellcode:
var
x: double; i: Integer; begin x:= floatTostr(Stringgrid1.cells[1,1]; // wandelt in eine double i:= Inttostr(Stringgrid1.cells[1,1]; // wandelt in einen Integer end; |
Re: Addieren von Cells?
hab ich und dann?
|
Re: Addieren von Cells?
wie wär´s denn damit?
(wenn es n Spalten untereinander sein sollen)
Delphi-Quellcode:
hast du sowas gesucht?
var x, summe, i, n:integer; // musst du entsprechend ändern, wenn real
begin n:=strtoint(inputbox('Spaltenanzahl','Wieviele Spalten sollen gezählt werden?','')); for i:=1 to n do begin x:=strtoint(stringgrid1.cells[1,n]); summe:=summe + x; end; stringgrid1.cells[2,1]:=inttostr(summe); end; |
Re: Addieren von Cells?
ja, sowas hab ich gesucht, aber es funktioniert irgendwie nicht! kann sein, dass ich es falsch umgesetzt habe?!
Also so sieht das ganze aus. Das davor ist zum Eintragen der erreichten Punkte in die Zellen und diese sollen dann noch addiert werden, sie stehen untereinander.
Delphi-Quellcode:
procedure TForm9.FormShow(Sender: TObject);
var x,y: integer; sz,sp,ss,ha: integer; summe, i, n:integer; begin datenladen; x:= 0; y:=0; sz:=0; sp:=0; stringgrid1.Cells[0,0]:= 'Spielername'; for sz:=1 to 18 do begin stringgrid1.Cells[x+sz,0]:= inttostr(sz)+'. Spieltag'; end; for sp:= 1 to 12 do stringgrid1.Cells[0,y+sp]:= mannschaft[4].mitglieder[sp]; for sz := 1 to 18 do begin for ss := 1 to 5 do begin for ha := 1 to 2 do begin for sp := 1 to 12 do begin if spieltag[sz].mannschaft[ss,ha] = 4 then begin if spieltag[sz].punkte[ss,ha,sp] <> 0 then stringgrid1.Cells[x+sz,sp]:= IntToStr(spieltag[sz].punkte[ss,ha,sp]) else begin if spieltag[sz].punkte[ss,ha,sp] = 0 then stringgrid1.Cells[x+sz,sp]:= ' '; end; end; end; end; end; end; for sz := 1 to 18 do begin for sp:= 1 to 12 do begin i:= Inttostr(Stringgrid1.cells[x+sz,sp]; { wandelt in einen Integer} n:=strtoint(inputbox('x+sz','12',' ')); for i:=1 to sp do begin x:=strtoint(stringgrid1.cells[x+sz,sp]); summe:=summe + x; end; stringgrid1.cells[x+sz,14]:=inttostr(summe); end; end; end; end. Kannst du mir sagen, was falsch ist? [edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit] |
Re: Addieren von Cells?
Also wo ist denn das Problem? fängt es schon an zu compilieren oder stehen unten noch Fehlermeldungen?
In der Zeile hier z.B. Zitat:
stringgrid1.cells[x+sz,0]:=...; Wofür??? Du hast vorher festgelegt, das x gleich 0 ist, da kannst du dir das sparen. Und könntest du mal erklären, was ss, ha & Co. zu bedeuten haben? Auch das mit dem n verstehe ich nicht... das war bei mir ursprünglich dazu da, dass das Programm weiß, wieviele Spalten addiert werden sollten, aber du wusstest das ja schon (sp Spalten) und hast das n dann auch nie wieder benutzt... vielleicht hilft es ja mehr, wenn wir ein bisschen mehr wissen... Kann dir momentan leider nicht mehr helfen, da mein Delphi gerade nicht so will, wie ich es will... :wall: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:40 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