Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.27;
Скачать: 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 вся ветка

Текущий архив: 2006.08.27;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
15-1153994677
NeyroSpace
2006-07-27 14:04
2006.08.27
Можно ли вести автоматический подсчет количесва компиляций?


15-1154323092
Ega23
2006-07-31 09:18
2006.08.27
С Днём рождения! 31 июля


1-1153124134
wezzz
2006-07-17 12:15
2006.08.27
Как в excel записать данные в столбец Х (по порядковому номеру!)


15-1154339947
Gydvin
2006-07-31 13:59
2006.08.27
Ищу компонент


3-1150725870
Olegas
2006-06-19 18:04
2006.08.27
Плагины в bpl и заморочки с TTable