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:
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;
das ist in meiner Artikelverwaltung.pas
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:
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;
jetzt habe ich aber in dem formular noch ein einzelnes editfeld, wo dann der gesamtwert aus dem stringgrit auftauchen soll von allen feldern.