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

Вниз

Трабла с TrackBar.   Найти похожие ветки 

 
ЕщеОдинКакжеНадоели   (2012-11-22 22:06) [0]

Делаю небольшую демку для работы со звуком - проигрыватель.

Есть  TrackBar, который меняет позицию воспроизведения.


procedure TForm1.TrackBar1Change(Sender: TObject);
begin
 Track_SetPos(TrackBar1.Position);
end;

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


По таймеру обновляется положение бегунка.

Но при вызове TrackBar1.Position:= Х, вызывается и TrackBar1Change,
как убрать такую зависимость?


 
kilkennycat ©   (2012-11-22 22:44) [1]

есть такая вещь, как флаги.
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
flag := false;
Track_SetPos(TrackBar1.Position);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if flag then TrackBar1.Position:= Track_GetPos;
flag := true;
end;

ну а ваще я б событийность медиплеера собственно посмотрел бы внимательно.


 
kilkennycat ©   (2012-11-22 22:46) [2]

а блин, не там условие разместил. пьяный я чуть. но смысел ясен.


 
ЕщеОдинКакжеНадоели   (2012-11-22 23:36) [3]

Чета я не понял. Я немного под стрессом.


 
TrackBarChange   (2012-11-22 23:44) [4]


> ЕщеОдинКакжеНадоели   (22.11.12 23:36) [3]
> Чета я не понял

Бросай это дело. Не твое это.


 
kilkennycat ©   (2012-11-23 00:10) [5]

че тут не понять? если нужно не выполнять действия в обработчике события, вызванного действием другого события, нужно определить, что первое событие вызвано вторым событием, для чего использовать флаг. после проверки флаг необходимо сбросить, дабы первое событие, вызванное не вторым событием, обработалось нормальным образом.

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
 if TrackBar1.Tag = 0 then Track_SetPos(TrackBar1.Position);
 TrackBar1.Tag = 0;
end;

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

однако, у меня возникает вопрос: че ты будешь делать, если я перемещу ползунок, а кнопку мыши не отпущу пару секунд, и снова дерну мышь?


 
ЕщеОдинКакжеНадоели   (2012-11-23 01:56) [6]


> kilkennycat ©   (23.11.12 00:10) [5]


Дай я тебя расцелую!


 
ЕщеОдинКакжеНадоели   (2012-11-23 01:57) [7]


> TrackBarChange   (22.11.12 23:44) [4]
>
>
> > ЕщеОдинКакжеНадоели   (22.11.12 23:36) [3]
> > Чета я не понял
>
> Бросай это дело. Не твое это.


Не могу, меня заставляют.
Злобные и агрессивные мужички.



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

Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.717 c
2-1329084870
upc
2012-02-13 02:14
2013.03.22
MessageDlg, названия кнопок, заголовок и русский язык


2-1330577950
теркин
2012-03-01 08:59
2013.03.22
Фильтрация дочернего набора данных


15-1338831950
ProgRAMmer Dimonych
2012-06-04 21:45
2013.03.22
Кто-нибудь знает, что стало с flatassembler.net?


15-1351869908
Dennis I. Komarov
2012-11-02 19:25
2013.03.22
ОКУД: xml + xsl


1-1295810591
Nikfel
2011-01-23 22:23
2013.03.22
Как узнать параметры запуска процесса?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский