IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> торможение Ttimer - ?
1147
сообщение 9.04.2010 15:06
Сообщение #1


Бывалый
***

Группа: Пользователи
Сообщений: 205
Пол: Мужской
Реальное имя: Евгений

Репутация: -  0  +


Такая ситуация: 6 таймеров работают одновременно, у трех из них интервал 50 у остальных 70. При этом переходы между изображениями, которые меняют таймеры, сильно тормозят. Стоит включить 7й таймер, одновременно работающий с остальными с интервалом 70, торможение исчезает, хотя по логике, торможение должно возрасти... В чем тут может быть причина? Можно ли избежать торможение изображений?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 10.04.2010 0:14
Сообщение #2


Гость






Цитата
вот я и не понял с этим шаблоном... У меня 6 таймеров, для каждого есть свои изображения. Timer1 содержит изображения 112, 245..264, Timer2 содержит 111, 225..244. И так для каждого таймера. Как шаблон найдет нужные для каждого таймера?
Элементарно (для каждого таймера - свой массив изображений, с которыми именно этот таймер работает) :

const
Timer1_Count = 21;
Timer1_IDs: array[1 .. Timer1_Count] of Integer = (
112,
245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264
);
var
T1_ImageArray: array[1 .. Timer1_Count] of TImage;

// Заполнять массив Image-й для этого таймера - вот так:
for i := 1 to Timer1_Count do begin
T1_ImageArray[i] := FindComponent(Format('Image%d', [ Timer1_IDs[i] ])) as TImage;
end;

Что, это нереально сложно? Мне не кажется...

Цитата
Если не подходит сделать так, то замени условные на case и все
Опять будет "раздувание" программы. Этого в данном случае лучше избегать... При работе вот с такими массивами, как показано выше - достаточно будет всего лишь поменять размер массива и его содержимое, больше ничего меняться не будет. Если сделать Case - то будешь ползать по всей программе и искать где еще что поменять...
 К началу страницы 
+ Ответить 

Сообщений в этой теме
1147   торможение Ttimer - ?   9.04.2010 15:06
Unconnected   Как-то всё туманно... Как сделан "переход меж...   9.04.2010 15:36
1147   procedure TForm1.Timer1Timer(Sender: TObject); beg...   9.04.2010 15:53
volvo   Ну, и что ты хочешь, чтоб не тормозило? У тебя лиш...   9.04.2010 16:19
1147   volvo, если не трудно, покажи пожалуйста на пример...   9.04.2010 16:52
volvo   Вот так, например:procedure TForm1.Timer1Timer(Sen...   9.04.2010 16:56
1147   можно сделать так чтобы за 1 шаг появлялось изобра...   9.04.2010 19:04
volvo   1: begin image42.Visible:=false; image43.Visible...   9.04.2010 21:05
1147   как правильно описать массив? ImageArray: array[1....   9.04.2010 21:43
volvo   type TForm1 = class(TForm) // ... Image1...   9.04.2010 22:23
Client   a:array [1..10] of TImage; ... procedure TForm3.Bu...   9.04.2010 22:28
1147   Насколько я понимаю, эта строка выбирает нужные из...   9.04.2010 23:39
Client   ищет среди компонентов те, которые подходят по ...   9.04.2010 23:45
1147   вот я и не понял с этим шаблоном... У меня 6 тайме...   9.04.2010 23:49
Client   не в ту сторону пошел :) это все делается для того...   9.04.2010 23:56
1147   То есть сначала создается общий массив со всеми из...   10.04.2010 0:10
volvo   Элементарно (для каждого таймера - свой массив изо...   10.04.2010 0:14
Client   заменится на if ind<35 then Inc(ind) else ind:...   10.04.2010 0:16
TarasBer   Я бы сделал один TImage и массив из TBitmap. pro...   12.04.2010 10:20


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 28.07.2025 3:47
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"