AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Frage zu UpDown

Ein Thema von Thomas F · begonnen am 14. Sep 2008 · letzter Beitrag vom 14. Sep 2008
Antwort Antwort
Thomas F

Registriert seit: 3. Sep 2008
Ort: Nürnberg
281 Beiträge
 
Delphi 2005 Architect
 
#1

Frage zu UpDown

  Alt 14. Sep 2008, 22:02
Wie kann ich mit dem Updown auf einen bereits existierenden Wert hochzählen ?
In Edit3.text steht meinetwegen der Wert '1000'
Beim klick auf Updown soll dann in 1-er oder 10-er Schritten hochgezählt werden,
je nachdem ob man kurz oder lange darauf drückt.

Delphi-Quellcode:
procedure TForm7.UpDown2Click(Sender: TObject; Button: TUDBtnType);
begin
Edit3.Text := Format( '%.d',[UpDown2.Position]);
end;
Wenn ichs so eingeb , funktioniert es zwar aber es fängt bei 0 an und nicht bei 1000
  Mit Zitat antworten Zitat
Thomas F

Registriert seit: 3. Sep 2008
Ort: Nürnberg
281 Beiträge
 
Delphi 2005 Architect
 
#2

Re: Frage zu UpDown

  Alt 14. Sep 2008, 22:43
Ich habs selber rausgefunden

Delphi-Quellcode:
procedure TForm7.UpDown2Click(Sender: TObject; Button: TUDBtnType);
begin
Edit3.Text := Format('%d', [1000+UpDown2.Position]);
end;
So muß es heißen
  Mit Zitat antworten Zitat
Roachford
(Gast)

n/a Beiträge
 
#3

Re: Frage zu UpDown

  Alt 14. Sep 2008, 22:50
Und nun noch eine spannende Frage: Warum weist du den neuen Wert nicht der Position Eigenschaft des TUpDown zu?

Jetzt wandelst du (recht aufwändig mit Format() anstatt IntToStr()) den neuen Wert in einen String um und weist es dem Edit zu, welches vom TUpDown überwacht wird und dadurch wieder den neuen Edit Inhalt überprüft und zurück umwandelt um dann das Ergebnis wieder in seiner Position Eigenschaft anzubieten.

Wenn du ein TUpDown an einem Edit verwendest, dann nutze programmiertechnisch nur noch das TUpDown für den Inhalt und nicht mehr das Edit Feld.
  Mit Zitat antworten Zitat
Thomas F

Registriert seit: 3. Sep 2008
Ort: Nürnberg
281 Beiträge
 
Delphi 2005 Architect
 
#4

Re: Frage zu UpDown

  Alt 14. Sep 2008, 22:57
Zitat von Roachford:
Und nun noch eine spannende Frage: Warum weist du den neuen Wert nicht der Position Eigenschaft des TUpDown zu?

Jetzt wandelst du (recht aufwändig mit Format() anstatt IntToStr()) den neuen Wert in einen String um und weist es dem Edit zu, welches vom TUpDown überwacht wird und dadurch wieder den neuen Edit Inhalt überprüft und zurück umwandelt um dann das Ergebnis wieder in seiner Position Eigenschaft anzubieten.

Wenn du ein TUpDown an einem Edit verwendest, dann nutze programmiertechnisch nur noch das TUpDown für den Inhalt und nicht mehr das Edit Feld.
Wie, das hab ich nicht ganz verstanden

Ich brauch doch ein TEdit um den Wert anzuzeigen
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#5

Re: Frage zu UpDown

  Alt 14. Sep 2008, 23:04
Wie wäre es mit einenm SpinEdit ?
  Mit Zitat antworten Zitat
Roachford
(Gast)

n/a Beiträge
 
#6

Re: Frage zu UpDown

  Alt 14. Sep 2008, 23:05
Zitat von Thomas F:
Ich brauch doch ein TEdit um den Wert anzuzeigen
Richtig, anzeigen, aber nicht bearbeiten. Dazu wende dich bitte an das TUpDown Control.

Hier dein Code wie er besser wäre:

UpDown2.Position := 1000 + UpDown2.Position; Und benenne deine Komponenten aussagekräftig, so kann es sonst keiner mehr nachvollziehen, dass der UpDown2 zu dem Edit3 gehört. Wenn du es dann eher dem Wert zuordnest, wird es verständlicher. Angenommen das Edit mit dem UpDown zeigen einen Bestand an, dann würde ich das TUpDown udBestand nennen und das Edit edBestand. Dann sieht man doch eher was angezeigt wird und das beide den gleichen Wert dem Nutzer offerieren.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#7

Re: Frage zu UpDown

  Alt 14. Sep 2008, 23:07
Warum nicht gleich ein TSpinEdit verwenden?
Thomas
  Mit Zitat antworten Zitat
Thomas F

Registriert seit: 3. Sep 2008
Ort: Nürnberg
281 Beiträge
 
Delphi 2005 Architect
 
#8

Re: Frage zu UpDown

  Alt 14. Sep 2008, 23:10
Zitat von Roachford:
Zitat von Thomas F:
Ich brauch doch ein TEdit um den Wert anzuzeigen
Richtig, anzeigen, aber nicht bearbeiten. Dazu wende dich bitte an das TUpDown Control.

Hier dein Code wie er besser wäre:

UpDown2.Position := 1000 + UpDown2.Position; Und benenne deine Komponenten aussagekräftig, so kann es sonst keiner mehr nachvollziehen, dass der UpDown2 zu dem Edit3 gehört. Wenn du es dann eher dem Wert zuordnest, wird es verständlicher. Angenommen das Edit mit dem UpDown zeigen einen Bestand an, dann würde ich das TUpDown udBestand nennen und das Edit edBestand. Dann sieht man doch eher was angezeigt wird und das beide den gleichen Wert dem Nutzer offerieren.
Ja , haste Recht.

Ich hab doch den Updown nur hier so genannt, damit jeder sofort weiß ,welche Komponente gemeint ist.
  Mit Zitat antworten Zitat
Thomas F

Registriert seit: 3. Sep 2008
Ort: Nürnberg
281 Beiträge
 
Delphi 2005 Architect
 
#9

Re: Frage zu UpDown

  Alt 14. Sep 2008, 23:15
Zitat von toms:
Warum nicht gleich ein TSpinEdit verwenden?
Weil das bei TDE gar nicht dabei ist.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 23:51 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