Autor Beitrag
DiamondDog
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 460



BeitragVerfasst: Mo 09.06.08 13:40 
Hallo Leute,
ich hab da ein kleines Problem und zwar will ich meine Trackbar Position in einem Label anzeigen, was auch super funktioniert. Nur die Zahl im Label soll noch mal durch 2,5 gerechnet werden und irgend wie bekomme ich das nicht hin wäre super wenn mir jemand zeigen könnte wie das geht.

So sieht das biß jetzt aus
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TfmBeeperOptions.TrackBar1Change(Sender: TObject);
var a: integer;
begin
  a:=Trackbar1.Position;
  Label31.Caption:='(' + inttostr(a) + '%)'
end;
Miri
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 657


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: Mo 09.06.08 13:55 
1. du teilst da doch nirgends.
2. Integer sind ganzzahlige Werte. Um Kommazahlen zu verarbeiten müsstest du schon double o.ä. verwenden und für die Umwandlung in String dann floattostr statt inttostr!

_________________
Anonymes Eckenkind
DiamondDog Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 460



BeitragVerfasst: Mo 09.06.08 15:01 
Ok habs jetzt so gemacht:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TfmBeeperOptions.TrackBar1Change(Sender: TObject);
var a: double;
begin
  a:=Trackbar1.Position;
  Label31.Caption:='(' + floattostr(a/2.5) + '%)'
end;
jetzt hab ich das Problem das die Zahl mit Komma ausgegeben wird zB. 96,8 %
Hätte es aber gerne das er nur in 1% Schritten anzeigt.
Trackbar Min ist 0
Trackbar Max ist 255
Möcht es halt so haben das ich den Regler von linsk nach rechts bewege und dann die ProzentZahl dazu angezeigt wird aber ohne Komma und die Sprünge sollen in 1% Schritten erfolgen.
Sorry ist einwenig schwer zu erklären hoffe das das verständlich genug ist.
Gausi
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 8548
Erhaltene Danke: 477

Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
BeitragVerfasst: Mo 09.06.08 15:10 
IntToStr(Round(a/2.5)) ;-)

_________________
We are, we were and will not be.
passiv
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 270

WIN XP Professional
Delphi 7 Enterprise, Java (Eclipse), Python 2.5, Django 1.1
BeitragVerfasst: Mo 09.06.08 15:16 
dann machs in die andere richtung: die trackbar von 0-100 und im trackbar.change sagst du dann wert:=round(trackbar1.position * 2.55);

ungetestet ...

_________________
Die Probleme, die es in der Welt gibt, sind nicht mit der gleichen Denkweise zu lösen, die sie erzeugt hat.
Albert Einstein
DiamondDog Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 460



BeitragVerfasst: Mo 09.06.08 15:27 
Ok so ist es super besten Dank.
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
procedure TfmBeeperOptions.TrackBar1Change(Sender: TObject);
var a: double;
begin
  a:=Trackbar1.Position;
  Label31.Caption:='(' + IntToStr(Round(a/2.5)) + '%)'
end;
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Mo 09.06.08 16:10 
... oder so:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
procedure TfmBeeperOptions.TrackBar1Change(Sender: TObject);
begin
  Label31.Caption := Format('(%.0f%%)', [TrackBar1.Position / 2.5]);
end;

Aber vielleicht solltest du besser aussagekräftigere Komponentennamen als "Label31" wählen. ;)

user profile iconpassiv hat folgendes geschrieben:
dann machs in die andere richtung: die trackbar von 0-100 und im trackbar.change sagst du dann wert:=round(trackbar1.position * 2.55);

TrackBar von 0-100? Und wie soll dann die Hochzähl-Methode aussehen? TrackBar1.Position ist ein Integer - es würde immer nur die Gerundete Version von 2.55 dazugezählt werden - 3. Und dann wäre die Leiste sehr schnell voll.

Grüße,
Yogu
passiv
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 270

WIN XP Professional
Delphi 7 Enterprise, Java (Eclipse), Python 2.5, Django 1.1
BeitragVerfasst: Do 12.06.08 10:11 
@Yogu: "wert" soll dann auch irgendwie (ich schätze mal) der RGB- oder AlphaBlend-Wert sein. im label zeigt man ganz einfach den echten wert, den die Trackbar liefert an ...

aber stimmt schon, erst jetzt beim genaueren durchlesen ergibt das erst mal keinen sinn (ich hab zu weit vorausgedacht :P :roll: )

_________________
Die Probleme, die es in der Welt gibt, sind nicht mit der gleichen Denkweise zu lösen, die sie erzeugt hat.
Albert Einstein