Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2012, 19:37   #1
Andrey_RTF
Пользователь
 
Регистрация: 26.05.2012
Сообщений: 22
По умолчанию Синхронизация появления элементов на форме (Dephi)

Имеем следующий код:

Код:
 if M[9]='1' then
  begin
    if z1=0 then
    begin
      Panel11.Visible:=True;
      sleep(550);
      z1:=1;
    end
    else
    begin
      Panel11.Visible:=False;
      sleep(550);
      z1:=0;
    end;
  end
  else
  begin
    Panel11.Visible:=False;
    z1:=0;
  end;

    if M[10]='1' then
  begin
    if z2=0 then
    begin
      Panel12.Visible:=True;
      sleep(550);
      z2:=1;
    end
    else
    begin
      Panel12.Visible:=False;
      sleep(550);
      z2:=0;
    end;
  end
  else
  begin
    Panel12.Visible:=False;
    z2:=0;
  end;

    if M[11]='1' then
  begin
    if z3=0 then
    begin
      Panel13.Visible:=True;
      sleep(550);
      z3:=1;
    end
    else
    begin
      Panel13.Visible:=False;
      sleep(550);
      z3:=0;
    end;
  end
  else
  begin
    Panel13.Visible:=False;
    z3:=0;
  end;

    if M[12]='1' then
  begin
    if z4=0 then
    begin
      Panel14.Visible:=True;
      sleep(550);
      z4:=1;
    end
    else
    begin
      Panel14.Visible:=False;
      sleep(550);
      z4:=0;
    end;
  end
  else
  begin
    Panel14.Visible:=False;
    z4:=0;
  end;
M[i] - массив поступающий из сети. Разряды массива (0-1) могут именяться в произвольное время. Соответственно, как вы видите, если разряд равен 1 то начинает мигать панель, а так как разряды могут изменяться в разное время, то моргают эпанели беспорядочно.

Вопрос - как синхронизировать моргание панелей (чтобы происходило синхронное моргание произвольных панелей.)

Последний раз редактировалось Andrey_RTF; 29.05.2012 в 20:05.
Andrey_RTF вне форума Ответить с цитированием
Старый 29.05.2012, 20:25   #2
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

1. Убрать из программы все sleep кроме одного.
2. Сделать один общий цикл (в нем и будет sleep).
3. При изменениях (приход пакетов или еще что) - устанавливать флажки.
3. В цикле проверять состояние всех флажков и "мигать" в нужном темпе всеми индикаторами одновременно.
s-andriano вне форума Ответить с цитированием
Старый 29.05.2012, 20:35   #3
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

Код:
if z1=0 then
    begin
      Panel11.Visible:=True;
      sleep(550);
      z1:=1;
    end
    else
    begin
      Panel11.Visible:=False;
      sleep(550);
      z1:=0;
    end;
слипам отказать, стиль поменять на вменяемый:

Код:
  Panel11.Visible := (0 = z1);
  z1 := 1 - z1;
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 29.05.2012, 20:38   #4
Andrey_RTF
Пользователь
 
Регистрация: 26.05.2012
Сообщений: 22
По умолчанию

Спасибо за подсказку)))
Andrey_RTF вне форума Ответить с цитированием
Старый 29.05.2012, 20:39   #5
Andrey_RTF
Пользователь
 
Регистрация: 26.05.2012
Сообщений: 22
По умолчанию

А тут свои темы можно как то удалять, чтобы не засорять форум?
Andrey_RTF вне форума Ответить с цитированием
Старый 29.05.2012, 21:32   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Нет. Они ничего не засоряют. Ну по крайней мере твоя темя мусором не является и удалению не подлежит.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги по программированию на Dephi D@rkArt Общие вопросы Delphi 2 15.02.2012 21:59
Проблема с кодом (Dephi) patrol Помощь студентам 2 15.12.2010 19:06
Задача в Dephi Ainur Помощь студентам 4 29.05.2009 10:25
com порт и Dephi kwn Общие вопросы Delphi 0 22.04.2008 22:33