Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Berechnung zum StringGrid (https://www.delphipraxis.net/142252-berechnung-zum-stringgrid.html)

Kunoishi 24. Okt 2009 16:08


Berechnung zum StringGrid
 
Ich habe ein StringGrid in meinem Projekt

Delphi-Quellcode:
procedure TArtikelerfassungForm.SetzeArtikelStringGrid;
begin                                      
  ArtikelStringGrid.rowCount := 2;            
  ArtikelStringGrid.colCount := 7;        
  ArtikelStringGrid.cells[0,0] := 'Nr';    
  ArtikelStringGrid.cells[1,0] := 'Abteilung';
  ArtikelStringGrid.cells[2,0] := 'Abteilung Nr.';
  ArtikelStringGrid.cells[3,0] := 'Artikel';
  ArtikelStringGrid.cells[4,0] := 'Preis';    
  ArtikelStringGrid.cells[5,0] := 'Anzahl';  
  ArtikelStringGrid.cells[6,0] := 'Gesammt';
end;
Jetzt möchte ich in einem Editfeld die Summe aller im StringGrid unter der Überschrift "Gesammt"
aufgelisteten Zahlen die Gesamtsumme dieser haben. :gruebel:

fkerber 24. Okt 2009 16:11

Re: Berechnung zum StringGrid
 
Hi!

Und? ;)
Was hast du denn bisher versucht, um dein Ziel zu erreichen?
Wie ich deinem Code entnehmen kann, weißt du ja, wie du einzelne Zellen ansprechen kannst. Daher wäre es eine mögliche Lösung die entsprechenden Zellen durchzugehen und aufzusummieren - die andere wäre die, es direkt beim Einfügen ins Stringgrid aus der Datenquelle (falls es sich nicht um Benutzeringaben handelt) zu summieren.

HTH


Grüße, Frederic


P.S.
Gesamt

Kunoishi 24. Okt 2009 16:19

Re: Berechnung zum StringGrid
 
Dafür habe ich ja schon eine weile gebraucht :?
jetzt fehlt mir der nächste Ansatz
ich wollte das so versuchen
Delphi-Quellcode:
 SummeLagerwert := SummeLagerwert + EditGesamtpreis.Text;
muß das aber wohl auch in einer schleife Abfragen

fkerber 24. Okt 2009 16:21

Re: Berechnung zum StringGrid
 
Hi!

Was ist denn SummeLagerwert?
Schleife ist aber ein sehr guter Ansatz.


Grüße, Frederic

Kunoishi 24. Okt 2009 16:24

Re: Berechnung zum StringGrid
 
SummeLager sollte am Schluß dann mein Endbertag werden
der sich bei jeder ausgefüllten Zeile dann hochrechnet

fkerber 24. Okt 2009 16:26

Re: Berechnung zum StringGrid
 
Hi!

Auch hier nochmal meine Frage:
Wie kommen denn die Werte ins Stringgrid?

Wann soll diese Gesamtsumme gebildet werden - auf Knopfdruck?



Grüße, Frederic

Kunoishi 24. Okt 2009 16:31

Re: Berechnung zum StringGrid
 
ach so, sorry

ich habe das so gelöst
Delphi-Quellcode:
procedure TArtikelerfassungForm.Button5Click(Sender: TObject);
begin
  Rec.AbteilungName := EditAbteilung.Text;
  Rec.AbteilungNr := EditAbteilungNr.Text;
  Rec.Artikel := EditArtikelBezeichnung.Text;
  Rec.ArtikelAnzahl := EditArtikelAnzahl.Text;
  Rec.ArtikelWert := EditEinzelpreis.Text;
  Rec.ArtikelGesamtpreis := EditGesamtpreis.Text;
  Rec.Fremdobjekt := EditFremdobjekt.Text;
  result := true;
  Rec := rec;
  Artikel.add(Rec);
  Artikel.Show(ArtikelStringGrid);
    InitArtikelerfassungRec(Rec);
    init(Rec);
// SummeLagerwert := SummeLagerwert + EditGesamtpreis.Text;
 end;
dazu habe ich dann einen recorder den haben wir so gestalltet
Delphi-Quellcode:
type TArtikelerfassungRec = packed record
       Datensatz:ShortString;
       AbteilungName:ShortString;
       AbteilungNr:ShortString;
       Artikel:ShortString;
       ArtikelAnzahl:ShortString;
       ArtikelWert:ShortString;
       ArtikelGesamtpreis:ShortString;
       ArtikelVerbleib:ShortString;
       Fremdobjekt:ShortString;

fkerber 24. Okt 2009 16:36

Re: Berechnung zum StringGrid
 
Hi!

Leider sind diese Code-Schnipsel noch nicht sooo aussagekräftig.
Was ist denn Rec, was ist rec, was ist Artikel und was machen die diversen Methoden?


Grüße, Frederic

Kunoishi 24. Okt 2009 16:39

Re: Berechnung zum StringGrid
 
8) irgendwann werde ich auch die gedankengänge der Programmierer verstehen.
ich hoffe das ich hiermit auf dem richtigen weg bin
Delphi-Quellcode:
procedure TArtikelerfassungForm.Init(Rec:TArtikelerfassungRec);
var i:integer;
begin
  EditArtikelBezeichnung.Text := Rec.Artikel;
  EditArtikelAnzahl.Text := Rec.ArtikelAnzahl;
  EditEinzelPreis.Text := Rec.ArtikelWert;
  EditGesamtPreis.Text := Rec.ArtikelGesamtPreis;
  EditVerbleibWare.ItemIndex := 0;
  for i:=1 to EditVerbleibWare.Items.Count-1 do
  begin
    if Rec.ArtikelVerbleib = EditVerbleibWare.Items[i] then
    begin
      EditVerbleibWare.ItemIndex := i;
      break;
    end;
  end;
  EditFremdObjekt.Text := Rec.FremdObjekt;
end;

fkerber 24. Okt 2009 16:56

Re: Berechnung zum StringGrid
 
Hi!

Ich würde dort einsetzen, wo du ins Stringgrid einträgst. Das wäre wohl dann an der Stelle, die du hier gepostet hast.


Grüße, Frederic


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:03 Uhr.
Seite 1 von 3  1 23      

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