Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.08.27;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.046 c
3-1150725870
Olegas
2006-06-19 18:04
2006.08.27
Плагины в bpl и заморочки с TTable


2-1154729045
Петюха
2006-08-05 02:04
2006.08.27
Отправка писем


11-1131652752
Flea
2005-11-10 22:59
2006.08.27
MHFindReplaceDialog


4-1146823363
misyachniy
2006-05-05 14:02
2006.08.27
Нужно организовать кольцевой буфер из байт.


15-1154501290
vidiv
2006-08-02 10:48
2006.08.27
Русская ISA Server 2004





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский