![]() |
Strings in Stringgrid Spalten mit Währung Formatieren
Hallo suche nach einer Lösung ein Fixes Format für Spalten in einem Stringgrid.
Ist für ein Kassenbuch Programm. Die Spalten sollten das Format #,## € Ausgeben bzw. -#,## €. Habe schon mit einer Schleife Versucht.
Delphi-Quellcode:
Gleitkommawert erkennt er nicht.
form1.ElTreeStringGrid1.Cells[4,j] := Format('%.2f', [Gleitkommawert]);
Kann mir jemand helfen?? |
AW: Strings in Stringgrid Spalten mit Währung Formatieren
Heist die Variable auch so?
|
AW: Strings in Stringgrid Spalten mit Währung Formatieren
nee er soll die spalte 4 vom stringgrid formatieren .
welche Variable muss denn rein??? |
AW: Strings in Stringgrid Spalten mit Währung Formatieren
Delphi-Quellcode:
for j:= form1.ElTreeStringGrid1.row to form1.ElTreeStringGrid1.RowCount-1 do
begin Summe1 := strtofloatdef(form1.eltreestringgrid1.cells[2,j],0) + strtofloatdef(form1.eltreestringgrid1.cells[3,j],0); Summe2 := strtofloatdef(form1.eltreestringgrid1.cells[4,j-1],0); Ergebnis := Summe1 + Summe2; form1.eltreestringgrid1.cells[4,j] := Format('%.2f', [Floattostr(ergebnis)]); |
AW: Strings in Stringgrid Spalten mit Währung Formatieren
Entscheid' Dich
Delphi-Quellcode:
oder
format
Delphi-Quellcode:
Du kannst natürlich auch
FloattoStr
Delphi-Quellcode:
nutzen.
Format(%S ,floattostr(wert))
Gruß K-H |
AW: Strings in Stringgrid Spalten mit Währung Formatieren
Mit format aber die Ausgabe im stringrid ist ne einfache Zahl ohne Währung und nun??
Delphi-Quellcode:
for j:= form1.ElTreeStringGrid1.row to form1.ElTreeStringGrid1.RowCount-1 do
begin Summe1 := strtofloatdef(form1.eltreestringgrid1.cells[2,j],0) + strtofloatdef(form1.eltreestringgrid1.cells[3,j],0); Summe2 := strtofloatdef(form1.eltreestringgrid1.cells[4,j-1],0); Ergebnis := Summe1 + Summe2; form1.eltreestringgrid1.cells[4,j] := Format('%s', [Floattostr(ergebnis)]); end; wenn ich 5 eingebe soll er 5,00 € anzeigen die eingegebenen Werte sollen aber auch Später wieder mit in eine Addition genommen werden. ein € hinter zusetzen ist kein Problem aber wenn dies ein mal drinne ist zeigt er mir fehler an das 5,00 € z.b. kein float wert ist. |
AW: Strings in Stringgrid Spalten mit Währung Formatieren
Delphi-Quellcode:
eltreestringgrid1.cells[4,j] := Format('%.2n €', [Ergebnis]);
|
AW: Strings in Stringgrid Spalten mit Währung Formatieren
deddyh funktioniert aber wenn ich mit einer eingabe mache kommt ein fehler . '%.2n €' ungültiges argument
Delphi-Quellcode:
stringgrid1.cells[2,i]:=Format('%.2n €', [Edit3.text])
Hier mal der komplette code
Delphi-Quellcode:
procedure TForm7.Button2Click(Sender: TObject);
var i,j:integer; Summe1,Summe2,Ergebnis: double; begin edit5.text:=''; edit6.text:=''; edit7.Text:=''; if label11.caption='b' then i:=form1.ElTreeStringGrid1.Row else i:=form1.ElTreeStringGrid1.RowCount-1; form1.eltreestringgrid1.Cells[0,i]:=edit1.Text; form1.eltreestringgrid1.Cells[1,i]:=edit4.Text; form1.eltreestringgrid1.Cells[2,i]:=Format('%.2n €', [Edit3.text]); form1.eltreestringgrid1.Cells[3,i]:=''; form1.eltreestringgrid1.Cells[5,i]:=edit2.Text; form1.eltreestringgrid1.Cells[6,i]:=memo1.Text; form7.edit1.Text:=''; form7.edit4.Text:=''; form7.edit3.Text:=''; form7.edit2.Text:=''; form7.memo1.Text:=''; form7.edit5.Text:=''; form7.edit6.Text:=''; form7.edit7.Text:=''; form7.edit8.Text:=''; form7.memo2.Text:=''; if label11.Caption='b' then j:= form1.ElTreeStringGrid1.Row; for j:= form1.ElTreeStringGrid1.row to form1.ElTreeStringGrid1.RowCount-1 do begin Summe1 := strtofloatdef(form1.eltreestringgrid1.cells[2,j],0) + strtofloatdef(form1.eltreestringgrid1.cells[3,j],0); Summe2 := strtofloatdef(form1.eltreestringgrid1.cells[4,j-1],0); Ergebnis := Summe1 + Summe2; form1.eltreestringgrid1.cells[4,j] := Format('%.2n €', [Ergebnis]); end; if label11.Caption='' then for j:= 1 to form1.ElTreeStringGrid1.RowCount-1 do begin Summe1 := strtofloatdef(form1.eltreestringgrid1.cells[2,j],0) + strtofloatdef(form1.eltreestringgrid1.cells[3,j],0); Summe2 := strtofloatdef(form1.eltreestringgrid1.cells[4,j-1],0); Ergebnis := Summe1 + Summe2; form1.eltreestringgrid1.cells[4,j] := Format('%.2n €', [Ergebnis]); end; if SysUtils.FileExists('c:\Programme\Vereintool\Daten\Kassenbuch\'+FormatDateTime('yyyy', now)+'\Handkasse '+FormatDateTime('yyyy', now)+'.xls') then DeleteFile('c:\Programme\Vereintool\Daten\Kassenbuch\'+FormatDateTime('yyyy', now)+'\Handkasse '+FormatDateTime('yyyy', now)+'.xls'); SaveAsExcelFile(form1.eltreestringGrid1, 'Tabelle1', 'c:\Programme\Vereintool\Daten\Kassenbuch\'+FormatDateTime('yyyy', now)+'\Handkasse '+FormatDateTime('yyyy', now)+'.xls'); close; end; |
AW: Strings in Stringgrid Spalten mit Währung Formatieren
Es wäre vielleicht nicht die schlechteste Idee, den Code ordentlich zu formatieren und die Logik von der Darstellung zu trennen, da steigt ja niemand durch :shock:
|
AW: Strings in Stringgrid Spalten mit Währung Formatieren
Okay versuch ichs mal so
Delphi-Quellcode:
if label11.caption='b' then i:=form1.ElTreeStringGrid1.Row //Hiermit werden die schon vorhandenen Werte geändert
else i:=form1.ElTreeStringGrid1.RowCount-1;//damit die neuen form1.eltreestringgrid1.Cells[0,i]:=edit1.Text; form1.eltreestringgrid1.Cells[1,i]:=edit4.Text; form1.eltreestringgrid1.Cells[2,i]:=edit3.text;//--> wenn ich hier jetzt die Formatierung einbring kann er nicht rechnen form1.eltreestringgrid1.Cells[3,i]:=''; form1.eltreestringgrid1.Cells[5,i]:=edit2.Text; form1.eltreestringgrid1.Cells[6,i]:=memo1.Text;
Delphi-Quellcode:
if label11.Caption='b' then j:= form1.ElTreeStringGrid1.Row;// b steht wenn ich werte im stringrid ändern möchte
{hier beginnt die berechnung für die eingegebenen werte} for j:= form1.ElTreeStringGrid1.row to form1.ElTreeStringGrid1.RowCount-1 do begin Summe1 := strtofloatdef(form1.eltreestringgrid1.cells[2,j],0) + strtofloatdef(form1.eltreestringgrid1.cells[3,j],0); Summe2 := strtofloatdef(form1.eltreestringgrid1.cells[4,j-1],0); Ergebnis := Summe1 + Summe2; form1.eltreestringgrid1.cells[4,j] := Format('%.2n €', [Ergebnis]); end;// hier endet sie if label11.Caption='' then // wenns leer ist dann sind es neue Daten die eingefügt werden {Hier fängt wieder die berechnung an} for j:= 1 to form1.ElTreeStringGrid1.RowCount-1 do begin Summe1 := strtofloatdef(form1.eltreestringgrid1.cells[2,j],0) + strtofloatdef(form1.eltreestringgrid1.cells[3,j],0); Summe2 := strtofloatdef(form1.eltreestringgrid1.cells[4,j-1],0); Ergebnis := Summe1 + Summe2; form1.eltreestringgrid1.cells[4,j] := Format('%.2n €', [Ergebnis]); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 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 by Thomas Breitkreuz