Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Trackbar Problem (https://www.delphipraxis.net/18543-trackbar-problem.html)

DRPEnc 20. Mär 2004 14:57


Trackbar Problem
 
Ich hab eine Trackbar und eine Edit.
In der Edit soll die Positon der Trackbar angezeigt werden.
Folgendes hab ich probiert:

Delphi-Quellcode:
procedure TForm1.TrackBar6Change(Sender: TObject);
var
Pos : double;
const
_minQ : array [1..31] of double = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31);

begin
Pos := _minQ[TrackBar1.Position];
Edit81.Text :=Pos;
end;
Nur die letzte Zeile for end; passt nicht.

Kommt die Fehlermeldung: Incompatibe Types: Double and String

Klingt logisch. Wie fixe ich das, dass es funzt?

Falls ich ein Array von [80..200] muss ich dann hinter double = alle Zahlen hinschreiben, oder kann man das vereinfachen?

NicoDE 20. Mär 2004 15:07

Re: Trackbar Problem
 
FloatToStr(Pos)

Luckie 20. Mär 2004 15:12

Re: Trackbar Problem
 
Ich habe keinen Plan, was du da vor hast, aber man könnte das Array in einer Schleife füllen.

Christian Seehase 20. Mär 2004 15:19

Re: Trackbar Problem
 
Moin DRPEnc,

oder aber, wenn die Werte nicht so unmittelbar aufeinander folgen, könntest Du eventuell mit einem Algorithmus die Werte der einzelnen Positionen berrechnen.

himitsu 20. Mär 2004 16:10

Re: Trackbar Problem
 
Wie Luckie schon sagte:
Delphi-Quellcode:
procedure TForm1.TrackBar6Change(Sender: TObject);
const _minQ : array [1..31] of double = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31);

begin
Edit81.Text := FloatToStr(_minQ[TrackBar1.Position]);
end;
Wenn das immer ganze Zahlen sind, dann auch so:
(Wenn's die Werte zulassen, dann könntest du auch Byte, Word ... verwenden)
Delphi-Quellcode:
procedure TForm1.TrackBar6Change(Sender: TObject);
const _minQ: array [1..31] of Integer = (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31);

begin
Edit81.Text := IntToStr(_minQ[TrackBar1.Position]);
end;
Und dein Beispiel könnte man auch so kürzen, da die Werte ja mit ihrer Position übereinstimmen:
(Wenn's die Werte zulassen, dann könntest du auch Byte, Word ... verwenden)
Delphi-Quellcode:
procedure TForm1.TrackBar6Change(Sender: TObject);
begin
Edit81.Text := IntToStr(TrackBar1.Position);
end;

DRPEnc 20. Mär 2004 17:04

Re: Trackbar Problem
 
Die einfache Methode hat gereicht. Danke an Alle.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:00 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