AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

SpinEdit; Wie Komma-Zahlen beibringen?

Ein Thema von Daniel B · begonnen am 26. Feb 2003 · letzter Beitrag vom 27. Feb 2003
Antwort Antwort
Daniel B
(Gast)

n/a Beiträge
 
#1

SpinEdit; Wie Komma-Zahlen beibringen?

  Alt 26. Feb 2003, 21:00
Hallöchen,

wie kann ich dem SE beibringen, das er auch z.B. 0.05, oder 0.1 oder 0.15 usw. akzeptiert?
Geht das überhaupt?

Grüsse, Daniel
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#2
  Alt 26. Feb 2003, 23:00
So, wie es ist gar nicht. Also neu schreiben, oder den Wert einfach immer hinterher durch 100, 1000... teilen, und in das Edit den 100-fachen Wert schreiben.
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#3
  Alt 26. Feb 2003, 23:09
Hmm, das ist nicht so einfach.
Das ding müsste Strings können.
Ich muss 0.05 bis 2.00 einstellen können. Das sind 40 Erhöhungsschritte. Jeder Schritt ist also 0.05.
Immer wenn man auf den Pfeil nach oben oder unten klickt, dann soll eben 0.05 addiert, oder 0.05 subtrahiert werden. Das ist alles.

Grüsse, Daniel
  Mit Zitat antworten Zitat
Benutzerbild von nailor
nailor

Registriert seit: 12. Dez 2002
Ort: Karlsruhe
1.989 Beiträge
 
#4
  Alt 26. Feb 2003, 23:17
Entweder machst du es so, wie gesagt mit nachträglicher Umrechnung. Oder du verwendest den Sourcecode, der sogar bei der Personal mitgeliefert wird, um ein paar kleine Änderungen vorzunehmen...
Michael N.
http://nailor.devzero.de/code/sharpmath/testing/ --- Tests, Feedback, Anregungen, ... aller Art sehr willkommen!
::: don't try so hard - it'll happen for a reason :::
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#5
  Alt 26. Feb 2003, 23:29
Zitat von Nailor:
Oder du verwendest den Sourcecode, der sogar bei der Personal mitgeliefert wird, um ein paar kleine Änderungen vorzunehmen...
Das hab ich mir auch schon überlegt. Aber, ich habe mir mal den Source angeschaut. Ich könnte es zwar so umbauen das es aus Strings nimmt, aber was dann?
Das ding wird nicht von alleine Strings zusammen zählen können.
Im mom. macht es:
Value := Value + FIncrement;
Einfache Strings würde noch gehen, man könnte auch noch bei IsValidChar den . aufnehmen, aber wie dann weiter machen?

Grüsse, Daniel
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#6
  Alt 27. Feb 2003, 08:57
Hallo,

Warum änderst du die Propertys für Value, FIncrement inclusive der zugehörigen Methoden nicht auf den Wert Extended in einem vererbten Object von TSpinEdit? Das macht zwar etwas Arbeit, müßte dann aber problemlos gehen. Über die neuen Eigenschaft Increment vom Typ Extended kannst du dann auch problemlos Deine Schrittweite im Kommabereich einstellen.

Gruß oki
  Mit Zitat antworten Zitat
Benutzerbild von eddy
eddy

Registriert seit: 4. Jan 2003
Ort: Sachsen
573 Beiträge
 
Delphi 5 Professional
 
#7
  Alt 27. Feb 2003, 13:35
Hallo DanielB,

der kleinste Aufwand wäre dann wohl ein Edit und ein SpinnButton.

Code:
const
  eedmax = 2;
  eedmin = 0;
  inkr = 0.05;
var
  wert : real;
procedure TFBrowser.SpinButton1UpClick(Sender: TObject);
begin
  eed.Value := eed.Value + inkr;
  if eed.Value > eedmax then eed.Value := eedmax;

  wert := StrToFloat(Edit1.Text) + inkr;
  if wert > eedmax then wert := eedmax;
  Edit1.Text := FloatToStr(wert);
end;

procedure TFBrowser.SpinButton1DownClick(Sender: TObject);
begin
  eed.Value := eed.Value - inkr;
  if eed.Value < eedmin then eed.Value := eedmin;

  wert := StrToFloat(Edit1.Text) - inkr;
  if wert < eedmin then wert := eedmin;
  Edit1.Text := FloatToStr(wert);
end;
eed ist vom Typ TEnhEdit, geht aber auch mit einem Edit.
Evtl. muß noch Edit ausgewertet werden, wenn man es auch durch Eingeben eines Wertes ändern darf.

mfg
eddy
  Mit Zitat antworten Zitat
Daniel B
(Gast)

n/a Beiträge
 
#8
  Alt 27. Feb 2003, 18:18
Hallo,
Zitat von oki:
Über die neuen Eigenschaft Increment vom Typ Extended kannst du dann auch problemlos Deine Schrittweite im Kommabereich einstellen.
Theoretisch würde dies gehen. Ich möchte aber reine Strings, damit ich es in Form von 0.05 anzeigen lassen kann. Bei Integern werden die 0en gestrichen.
Mir geht es rein ums Optische, rechnen tue ich im Hintergrund eh was ganz anderes damit.

Grüsse, Daniel
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:49 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