Delphi-PRAXiS
Seite 3 von 3     123   

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 2 Stellen im Stringgrid (https://www.delphipraxis.net/13853-2-stellen-im-stringgrid.html)

Hansa 11. Mär 2004 11:41

Re: 2 Stellen im Stringgrid
 
Nene, viel zu kompliziert. Ich entkoppele nicht die Datasets von der Anzeige und nutze sie dann doch dafür. Der Fehler ist bestimmt einfacher zu finden, nur sehe ich nicht wo.

Delphi-Quellcode:
       st := LeseFeld (EingDM.ArtDS,'PG');
showmessage ('*'+st+'*');
      StringGrid1.Cells [4,i] := Format ('%8.2f',[st]);
Die Funktion LeseFeld liefert mir einen String. Intern werden da offensichtlich die Nullen weggelassen. Soll mir auch egal sein. Das Stringgrid hat Recht : die sind überflüssig. Ich brauche sie in diesem Fall nur für eine bessere Anzeige. Die Frage lautet also nur : wie bringe ich eine Zahl dazu, immer ihre 2 Nachkommastellen anzuzeigen, selbst wenn sie Null sind ?

Robert_G 11. Mär 2004 11:52

Re: 2 Stellen im Stringgrid
 
Da du ein StringGrid und kein prökeliges DBGrid verwendest, musst du die Werte doch sowieso "zu Fuss" eintragen.
Meine Codeschnipsel machen das unter Berücksichtigung des Zahlenformates in der Datenbank.
Was ist denn daran zu kompliziert? :gruebel:

Hansa 11. Mär 2004 12:22

Re: 2 Stellen im Stringgrid
 
Kompliziert ? Nichts ist kompliziert. :mrgreen: Die DB interessiert nicht. Ich habe drei Zahlen : 10.00, 9.60, 22.22 Woher ist egal. Im Grid wird angezeigt : 10, 9.6, 22.22. Deshalb will ich im OnDrawCell diese Darstellung mit einem Format Befehl anpassen. Früher hat man ganz einfach
Delphi-Quellcode:
writeln (r:8:2);
geschrieben und basta. Das dürfte also kein Problem sein.

Robert_G 11. Mär 2004 12:27

Re: 2 Stellen im Stringgrid
 
Na denn nochmal :arrow: "FloatToStrF" + Delphi OH

Hansa 11. Mär 2004 12:57

Re: 2 Stellen im Stringgrid
 
so geht das :

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  i := 9.60;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage (FloatToStrF(i,ffFixed,8,2));
end;
UNd das wirft das nächste Problemchen auf. 8)


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:36 Uhr.
Seite 3 von 3     123   

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