Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

Ответ
 
Опции темы
Старый 29.05.2012, 19:37   #1
Andrey_RTF
Пользователь
 
Регистрация: 26.05.2012
Сообщений: 22
Репутация: 10
По умолчанию Синхронизация появления элементов на форме (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,234
Репутация: 563
По умолчанию

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

Код:

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
Репутация: 10
По умолчанию

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

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


06:50.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru