AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Zahlen mit verschiedenen Nachkommastellen
Thema durchsuchen
Ansicht
Themen-Optionen

Zahlen mit verschiedenen Nachkommastellen

Ein Thema von Chris211183 · begonnen am 28. Nov 2013 · letzter Beitrag vom 3. Dez 2013
Antwort Antwort
Seite 1 von 3  1 23      
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#1

Zahlen mit verschiedenen Nachkommastellen

  Alt 28. Nov 2013, 10:59
Hallo, ich bin seit langem mal wieder an Delphi.

Ich möchte bei meiner Komponente am Rand, Zahlen (von 0,0 bis 100,0) stehen haben.
Diese Zahlen sollen aber auch variable Nachkommastellen haben können wie z.B. von 0,000 bis 100,000.
Das soll im OI einstellbar sein über LabellingDecimals (1 für eine Nachkommastelle etc.)

Danke für eure Hilfe !


Christian
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Zahlen mit verschiedenen Nachkommastellen

  Alt 28. Nov 2013, 11:04
Siehe Delphi-Referenz durchsuchenFormat oder Delphi-Referenz durchsuchenFormatFloat, da kann man die Anzahl der dargestellten Nachkommastellen festlegen.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#3

AW: Zahlen mit verschiedenen Nachkommastellen

  Alt 28. Nov 2013, 11:18
hatte schon an floatToStrF gedacht, will die ja aber im Objektinspektor variieren können...
Christian
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Zahlen mit verschiedenen Nachkommastellen

  Alt 28. Nov 2013, 12:27
Und wo ist das Problem?

Wie die Eigenschaft in den OI kommt oder was?

BTW mit Delphi-Referenz durchsuchenTWinControl.Invalidate wird ein Neuzeichnen veranlasst
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo (28. Nov 2013 um 12:30 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Zahlen mit verschiedenen Nachkommastellen

  Alt 28. Nov 2013, 12:29
Ja und? Eine published-Property mit Setter genügt dafür. Kleine Beispielklasse:
Delphi-Quellcode:
type
  TDings = class
  private
    FNachkommastellen: integer;
    FFormatStr: string;
    procedure SetNachkommastellen(const Value: integer);
    function GetTestValue: string;
  public
    constructor Create;
  published
    property Nachkommastellen: integer read FNachkommastellen write SetNachkommastellen;
    property TestValue: string read GetTestValue;
  end;

constructor TDings.Create;
begin
  inherited Create;
  Nachkommastellen := 2;
end;

procedure TDings.SetNachkommastellen(const Value: integer);
begin
  FNachkommastellen := Value;
  FFormatStr := Format('%%.%df', [FNachkommastellen]);
end;

function TDings.GetTestValue: string;
begin
  Result := Format(FFormatStr, [Pi]);
end;
Anwendung:
Delphi-Quellcode:
procedure TFormTest.Button1Click(Sender: TObject);
var
  Dings: TDings;
begin
  Dings := TDings.Create;
  try
    Dings.Nachkommastellen := 3;
    ShowMessage(Dings.TestValue);
    Dings.Nachkommastellen := 1;
    ShowMessage(Dings.TestValue);
    Dings.Nachkommastellen := 2;
    ShowMessage(Dings.TestValue);
    Dings.Nachkommastellen := 5;
    ShowMessage(Dings.TestValue);
  finally
    Dings.Free;
  end;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Zahlen mit verschiedenen Nachkommastellen

  Alt 28. Nov 2013, 12:32
@Deddy

Er hat ja eine visuelle Komponente, und da muss lediglich nach dem Setzen Invalidate aufgerufen werden.

Aber ich sehe, dir ist das eigentliche Problem - wie mir - auch nicht klar
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Zahlen mit verschiedenen Nachkommastellen

  Alt 28. Nov 2013, 12:36
Invalidate allein genügt nicht, es muss ja auch das geänderte Format berücksichtigt werden Ich war nur zu faul, jetzt auch noch eine visuelle Komponente zu schreiben, daher muss das Beispiel genügen :mrgeen:
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Chris211183

Registriert seit: 19. Sep 2013
Ort: Braunschweig
204 Beiträge
 
Delphi 6 Professional
 
#8

AW: Zahlen mit verschiedenen Nachkommastellen

  Alt 29. Nov 2013, 09:46
Danke DeddyH,

das war nicht das Problem, das Problem ist, dass ich nicht weiß, wie ich in der Paint Methode, die Zahlen an die Komponente bekomme...
Die Striche etc. malt er mir,so wie ich das will, nur wie bekomme ich die Zahlen visuell angezeigt über Canvas, kenne nur Canvas.TextOut..., das ja aber nicht der Sinn oder ?
Christian
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Zahlen mit verschiedenen Nachkommastellen

  Alt 29. Nov 2013, 10:02
Und was soll an Canvas.Texout falsch sein? Du kannst natürlich auch DrawText oder TextRect oder was weiß ich nehmen, aber das ändert an der generellen Vorgehensweise ja nichts.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Zahlen mit verschiedenen Nachkommastellen

  Alt 29. Nov 2013, 11:16
Beantworte doch mal folgende Fragen:
  • Kannst du bei der Komponente eine Eigenschaft einbauen, die im OI auftaucht?
  • Kannst du beim Setzen des Eigenschaftswerts einen weiteren Befehl aufrufen?
  • Kannst du beim Zeichnen auf diese Eigenschaft zugreifen?
  • Kannst du eine Fließkommazahl in einen String mit Angabe der Nachkommastellen umwandeln?
  • Kannst du einen String auf dem Canvas ausgeben?
Alle Fragen mit "Yes, we can" beantwortet, dann weiß hier wohl niemand, wo jetzt das Problem liegt.

Eigentlich sind alle Punkte hier schon mehr oder weniger angesprochen worden
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 01:59 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