Вниз
Скачать: CL | DM;

TrackBar и время   Найти похожие ветки 

← →
MSVN   (2006-08-04 08:22) [0]

Добрый день!
  Есть TrackBar у которого макс. значениее постоянное. Так же есть таймер который отсчитывает время указанное пользователем. Требуется что бы у TrackBar ползунок постепенно снижал свою позициию (относительно времени).
  Например, ползунок стоит на макс. значении, пользователь указал 21 мин. 55 сек. и начался отчет времени. Как сделать что б за это время ползунок приблизился к минимальной точке?
Всем спасибО!


← →
Elen ©   (2006-08-04 08:29) [1]

Пробуй так
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ComCtrls, ExtCtrls;

type
 TForm1 = class(TForm)
   Timer1: TTimer;
   TrackBar1: TTrackBar;
   procedure FormCreate(Sender: TObject);
   procedure Timer1Timer(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
TrackBar1.Max:=21*60+55;
TrackBar1.Position :=TrackBar1.Max;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
TrackBar1.Position:=TrackBar1.Position-1;
end;

end.



← →
MSVN   (2006-08-04 08:45) [2]

а если TrackBar.max = 65000 ?? и менять его нельзя? объясните плиз.


← →
07BB   (2006-08-04 08:51) [3]

MSVN   (04.08.06 08:45) [2]

Тогда двигай в зависимости от времяни, скажем не каждую секунду а раз в три секунды


← →
Elen ©   (2006-08-04 08:52) [4]


> а если TrackBar.max = 65000 ?? и менять его нельзя?

Уточни почему? Что это за цифра преткновения? Поподробнее обьясни задачу.


← →
07BB   (2006-08-04 08:54) [5]

Elen ©   (04.08.06 08:52) [4]
максимальное значение int16 скорее всего..


← →
MSVN   (2006-08-04 08:59) [6]

нет, просто изначально задана цифра от которой надо отталкиваться.


← →
MSVN   (2006-08-04 09:02) [7]

to Elen
> максимальное значение int16 скорее всего..

а почему?


← →
Elen ©   (2006-08-04 09:16) [8]

Тогда тебе надо вычислить шаг изменения типа
st:=65000/(21*60+55)
TrackBar1.Max:=65000
а в процедуре прописать
TrackBar1.Position:=TrackBar1.Position-st
unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, ComCtrls, ExtCtrls;

type
 TForm1 = class(TForm)
   Timer1: TTimer;
   TrackBar1: TTrackBar;
   procedure FormCreate(Sender: TObject);
   procedure Timer1Timer(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var         st:integer;
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
TrackBar1.Max:=65000;
st:=round(65000/(21*60+55))
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
TrackBar1.Position:=TrackBar1.Position-st;
end;

end.


> максимальное значение int16 скорее всего..

Это не  я говорю



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.033 c
1-1152285976
yura32
2006-07-07 19:26
2006.08.27
WebBrowser


15-1154532828
MultiCreator
2006-08-02 19:33
2006.08.27
Спасение Delphi7


2-1154938598
Yeg
2006-08-07 12:16
2006.08.27
Drag&Drop файлов из программы


2-1154976016
Nosferattu
2006-08-07 22:40
2006.08.27
Вставка текста в TMemo из файла


2-1154944809
UMU
2006-08-07 14:00
2006.08.27
DBGrid и DBCheckBox




   Наверх