Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Одолевают сомнения, Периодический опрос буфера 
:(
    Опции темы
Сергей
Дата 23.4.2002, 15:12 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Привет всем!
Может кто-то поможет мне преодолеть сомнения :-)
Итак .

Написал  прогу,  которая принимает сообщения по сети. Говоря короче
в программе используются Новелловские функции, одна из них
создаёт буфер[200] куда заносятся приходящие сообщения.

Естественно было нужно как -то сделать , чтобы этот буфер постоянно опрашивался , и когда сообщение приходило, извлек. из буфера - и в окно...

Я сделал так , чтобы примерно каждые 5 секунд этот буфер проверялся на
!='\0' ...      Необходимо чтобы прога постоянно была загружена...

Будет ли такой опрос тормозить работу WIN-98 ? Есть ли другие решения
этого циклич. опроса ?  

Да, очень интрересно, по какому принципу построены  стандартные POPUP -
программы приёма сообщений...

Буду очень благодарен ответившим.
  Вверх
PILOT
Дата 24.4.2002, 00:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


производство
****


Профиль
Группа: Модератор
Сообщений: 2724
Регистрация: 4.4.2002
Где: москва

Репутация: нет
Всего: 54



Сделал циклический буфер. И просто пишешь туда, с "хвоста" читаешь. Всегда знаешь что пришло и где лежит.
Код

class FIFO {
 int buf[200];
 int pbeg,pend;  //начало и конец
public:
 void init(void);
 void fifoput(init);
 int fifoget(void);
};
void FIFO::init(void) {pbeg=pend=0}; //описаловка

int FIFO::fifoget(void)
{
 if(pend==pbeg) {
  // код: если очередь пуста
 return 0;
 };
return buf[pend++]
}
void FIFO::fifoput(int i)
{
 if(pend==200){
 // код: если очередь переполнена
 return;
 }
buf[pbeg++]=i;
}


А если делать не так, и, чтобы машину не загружать, используй потоки.

СУВ.


--------------------
тут могла быть Ваша реклама...
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1429 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.