AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi ListView: wie Integer Zahl formatieren
Thema durchsuchen
Ansicht
Themen-Optionen

ListView: wie Integer Zahl formatieren

Ein Thema von mkmk · begonnen am 7. Dez 2008 · letzter Beitrag vom 27. Feb 2009
Antwort Antwort
Seite 1 von 2  1 2      
mkmk

Registriert seit: 2. Dez 2008
Ort: Zürich
42 Beiträge
 
#1

ListView: wie Integer Zahl formatieren

  Alt 7. Dez 2008, 11:07
Ich möchte in einem ListView in der 1. Spalte eine Integer-Zahl im Format
Delphi-Quellcode:
-----
    0
    1
  :
  999
1.000
und rechtsbündig anzeigen.
Die Integer-Zahl direkt zu formattieren gelang mir nicht. Ich musste den Umweg über Integer->String->Float nehmen. Und um es noch rechtsbündig hinzukriegen, habe ich den Zeichensatz auf NewCourier umgestellt.

Delphi-Quellcode:
wert := StrToFloat(IntToStr(nIdx));
ListItem.Caption := Format('%6.0n', [wert]);
Dass das alles nicht das Gelbe vom Ei ist, merke sogar ich als Delphi-Laie. Nur: wie macht man das richtig ohne dieses Gewurschtel?

MfG
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#2

Re: ListView: wie Integer Zahl formatieren

  Alt 7. Dez 2008, 11:14
Probiere es doch mal so :
Format('%d', [StrToInt(Edit1.text)]); Und schau mal unter Delphi-Referenz durchsuchenFormat nach. Dazu noch die Spalte von der Listview auf rechtsbündig stellen.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
mkmk

Registriert seit: 2. Dez 2008
Ort: Zürich
42 Beiträge
 
#3

Re: ListView: wie Integer Zahl formatieren

  Alt 7. Dez 2008, 11:21
Das hatte ich schon ausprobiert.
Das '%d' gibt alles linksbündig und ohne Tausender-Trennung aus.

Das Help zu Format glaube ich auswendig zu können

Edit: "Dazu noch die Spalte von der Listview auf rechtsbündig stellen." ...
Tja, da waere ich um einen Tip sehr dankbar. Die ListView erstelle ich waerend der Laufzeit und diese Einstellung konnte ich nicht finden.
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: ListView: wie Integer Zahl formatieren

  Alt 7. Dez 2008, 11:32
Hallo,

das geht ab der 2. Spalte so:

ListView1.Columns[1].Alignment := taRightJustify; // 2. Spalte Grüße, Matze
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#5

Re: ListView: wie Integer Zahl formatieren

  Alt 7. Dez 2008, 11:33
Lese die Ländereinstellungen aus und formatiere damit die Zahl.

Wie ist denn Dein ViewStyle vom ListView eingestellt ? Wenn der auf vsReport steht, dann kannst so rechtsbündig einstellen :
ListView1.Columns[3].Alignment := taRightJustify; Edit: Den Befehl korrigiert.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
mkmk

Registriert seit: 2. Dez 2008
Ort: Zürich
42 Beiträge
 
#6

Re: ListView: wie Integer Zahl formatieren

  Alt 7. Dez 2008, 11:35
Muss zum Mittagessen. Werde es nachher gleich ausprobieren. Herzlichen Dank jetzt schon für die Tips
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: ListView: wie Integer Zahl formatieren

  Alt 7. Dez 2008, 11:37
Hallo Rolf

Zitat von RWarnecke:
ListView1.Columns[0].Aligment := taRightJustify;
Genau das funktioniert, abgesehen vom fehlenden "n", nicht. Siehe dazu im MSDN:

Zitat:
[...] The alignment of the leftmost column is always left-justified; it cannot be changed. [...]
Grüße, Matze
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#8

Re: ListView: wie Integer Zahl formatieren

  Alt 7. Dez 2008, 11:40
Zitat von Matze:
Hallo Rolf

Zitat von RWarnecke:
ListView1.Columns[0].Aligment := taRightJustify;
Genau das funktioniert, abgesehen vom fehlenden "n", nicht. Siehe dazu im MSDN:

Zitat:
[...] The alignment of the leftmost column is always left-justified; it cannot be changed. [...]
Grüße, Matze
Danke Matze für den Hinweis, habe ich im Beitrag korrigiert.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
mkmk

Registriert seit: 2. Dez 2008
Ort: Zürich
42 Beiträge
 
#9

Re: ListView: wie Integer Zahl formatieren

  Alt 7. Dez 2008, 11:57
Schade, hatte mich schon gefreut gehabt.
D.h. also, dass mein Gewurschtel die einzige Lösung ist? Tja, auch ein blindes Huhn findet hin und wieder ein Korn.

Gibt es zumindest einen direkten Weg, wie man Integer in Double umwandelt, damit ich mir den Umweg über String ersparen kann?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: ListView: wie Integer Zahl formatieren

  Alt 7. Dez 2008, 12:02
Zitat:
Gibt es zumindest einen direkten Weg, wie man Integer in Double umwandelt, damit ich mir den Umweg über String ersparen kann?
Ja durch einfache Zuweisung:
<Floatvariable> := <Integervariable>;
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:50 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