Re: Berechnung zum StringGrid
ok, dit werde ich doch auch gleich mal versuchen
|
Re: Berechnung zum StringGrid
mein Versuch
Delphi-Quellcode:
jetzt zeigt er mir aber einen "Inkompatible Typen" als Fehler
Var
SummeGesammtwert : double; ... procedure CArtikelerfassung.Show(ArtikelGrid:TStringGrid); var i:integer; pRec:pArtikelerfassungRec; begin SummeGesammtwert :=0; if Artikel.Count = 0 then begin ArtikelGrid.RowCount := 2; ArtikelGrid.cells[0,1] := '-'; ArtikelGrid.cells[1,1] := '-'; ArtikelGrid.cells[2,1] := '-'; ArtikelGrid.cells[3,1] := '-'; ArtikelGrid.cells[4,1] := '-'; end else begin ArtikelGrid.RowCount := Artikel.Count+1; for i:=0 to Artikel.Count-1 do begin pRec := Artikel.Items[i]; ArtikelGrid.cells[0,i+1] := IntToStr(i+1); ArtikelGrid.cells[1,i+1] := pRec^.AbteilungName; ArtikelGrid.cells[2,i+1] := pRec^.AbteilungNr; ArtikelGrid.cells[3,i+1] := pRec^.Artikel; ArtikelGrid.cells[4,i+1] := pRec^.ArtikelWert; ArtikelGrid.cells[5,i+1] := pRec^.Anzahl; ArtikelGrid.cells[5,i+1] := pRec^.Gesammtpreis; SummeGesammtwert := SummeGesammtwert + pRec^.Gesammtpreis; end; end; end; |
Re: Berechnung zum StringGrid
Hi!
Ist pRec^.Gesammtpreis zufällig ein String? Grüße, Frederic P.S. Auch hier nochmal die Bitte nicht zu pushen, sondern Sachen nachzueditieren. |
Re: Berechnung zum StringGrid
ja, geht in ein editfeld ja über.
habe ich in keiner weise umgewandelt :gruebel: (glaube ich zumindest) worin liegt da das problem ? |
Re: Berechnung zum StringGrid
Hi!
Summegesamtwert ist ein Double und du kannst nicht einfach einen String zu einer Zahl dazuaddieren. Du musst also zuerst den String umwandeln :arrow: trystrtofloat Grüße, Frederic |
Re: Berechnung zum StringGrid
na klasse, ich war zufrieden das ich bis hierhin es geschaft hatte.
jetzt das ganze umwandeln und dann bestimmt wieder irgendwie zuordnen und so ich glaube ich brauch erst mal ne dusche :party: und dann die bücher und ne hilfe datei :warn: und wieder viel zeit :cry: |
Re: Berechnung zum StringGrid
Ich will ja nicht meckern, aber Du solltest Dich einmal mit elementaren Datentypen und deren Konvertierung auseinandersetzen.
|
Re: Berechnung zum StringGrid
so ich habe mich durchgekämpft und es wohl geschaft. Jedenfalls zeigt er mir keinen fehler mehr an und ich mußte hier und da einiges ändern.
aber halb so schlimmmmmmmmm. ich will das ja hier lernen. jetzt habe ich aber ein scheinbar kleines problem. wie spreche ich jetzt meinen wert an damit ich ihm in meinem Editfeld sehe. scheinbar sehe ich den wald vor lauter bäumen (bit´s)nicht. ich brauche hier einen denkanstoß.
Delphi-Quellcode:
das ist in meiner Artikelverwaltung.pas
rocedure CArtikelerfassung.Show(ArtikelGrid:TStringGrid);
var i:integer; pRec:pArtikelerfassungRec; begin // Initialisierung SummeGesamtwert := 0; // Verarbeitung und Ausgabe if Artikel.Count = 0 then begin ArtikelGrid.RowCount := 2; ArtikelGrid.cells[0,1] := '-'; ArtikelGrid.cells[1,1] := '-'; ArtikelGrid.cells[2,1] := '-'; ArtikelGrid.cells[3,1] := '-'; ArtikelGrid.cells[4,1] := '-'; ArtikelGrid.cells[5,1] := '-'; ArtikelGrid.cells[6,1] := '-'; ArtikelGrid.cells[7,1] := '-'; ArtikelGrid.cells[8,1] := '-'; end else begin ArtikelGrid.RowCount := Artikel.Count+1; for i:=0 to Artikel.Count-1 do begin // Tabellenzeilen ausgeben, dabei fehlende Werte berechnen pRec := Artikel.Items[i]; ArtikelGrid.cells[0,i+1] := IntToStr(i+1); ArtikelGrid.cells[1,i+1] := pRec^.AbteilungName; ArtikelGrid.cells[2,i+1] := pRec^.AbteilungNr; ArtikelGrid.cells[3,i+1] := pRec^.Artikel; ArtikelGrid.cells[4,i+1] := FormatFloat('#,##0.00 €', pRec^.ArtikelWert); ArtikelGrid.cells[5,i+1] := IntToStr(pRec^.ArtikelAnzahl); GesamtPreis:= pRec^.ArtikelAnzahl + pRec^.ArtikelWert; ArtikelGrid.cells[6,i+1] := FormatFloat('#,##0.00 €', pRec^.ArtikelGesamtpreis); ArtikelGrid.cells[7,i+1] := pRec^.ArtikelVerbleib; ArtikelGrid.cells[8,i+1] := pRec^.Fremdobjekt; SummeGesamtwert:= SummeGesamtwert + GesamtPreis; end; end; end; und nun wollte ich das unter meiner Artikelerfassung im Edit15.text mir anzeigen lassen. wie bekomme ich den wert den aber rüber? mit dem Stringgrid habe ich das ja geschaft
Delphi-Quellcode:
jetzt habe ich aber in dem formular noch ein einzelnes editfeld, wo dann der gesamtwert aus dem stringgrit auftauchen soll von allen feldern.
procedure TArtikelerfassungForm.Button5Click(Sender: TObject);
var s:string; begin s := EditAbteilung.Text; if length(s)=0 then begin showmessage('Fehlerhafte Eingabe in der Abteilung'); EditAbteilung.setfocus; exit; end; s := EditAbteilungNr.Text; if length(s)=0 then begin showmessage('Fehlerhafte Eingabe zur Abteilung-Nr'); EditAbteilungNr.setfocus; exit; end; s := EditArtikelBezeichnung.Text; if length(s)=0 then begin showmessage('Fehlerhafte Eingabe zum Artikel'); EditArtikelBezeichnung.setfocus; exit; end; s := EditArtikelAnzahl.Text; if length(s)=0 then begin showmessage('Fehlerhafte Eingabe Mänge der Einzelnen Artikel'); EditArtikelAnzahl.setfocus; exit; end; s := EditEinzelpreis.Text; if length(s)=0 then begin showmessage('Fehlerhafte Eingabe Mänge der Einzelnen Artikel'); EditEinzelpreis.setfocus; exit; end; if EditVerbleibWare.ItemIndex = 0 then begin showmessage('Fehlerhafte Eingabe zum Verbleib der Ware'); EditVerbleibWare.setfocus; exit; end; Rec.AbteilungName := EditAbteilung.Text; Rec.AbteilungNr := EditAbteilungNr.Text; Rec.Artikel := EditArtikelBezeichnung.Text; Rec.ArtikelAnzahl := StrToInt(EditArtikelAnzahl.Text); Rec.ArtikelWert := StrToFloat(EditEinzelpreis.Text); Rec.ArtikelGesamtpreis := StrToFloat(EditGesamtpreis.Text);; Rec.Fremdobjekt := EditFremdobjekt.Text; result := true; Rec := rec; Artikel.add(Rec); Artikel.Show(ArtikelStringGrid); InitArtikelerfassungRec(Rec); init(Rec); end; :gruebel: |
Re: Berechnung zum StringGrid
Welche Gesamtzahl welcher Felder? Du könntest doch Deine Artikelliste erneut durchlaufen und aufaddieren, oder verstehe ich Dich falsch? Übrigens:
Zitat:
|
Re: Berechnung zum StringGrid
den gesamtwert von
SummeGesamtwert:= SummeGesamtwert + GesamtPreis; und nun sollte er mir das unter Edit15.text := summeGesamtwert ausgeben. ich hab ne denkbloccccckkkkkade |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 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