kirya: Все сообщения за 26 Августа 2011 года

 
ПнВтСрЧтПтСбВс
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

kirya

втянувшийся

В итоге объявляю глобальную переменную, в которой будет содержаться кол-во байт для передачи. Правильно ли я делаю с точки зрения высокоуровнего программирования? Просто читал где-то что гобаль.переменные не есть гуд и нужно обходится без них. Как правильней с делать в моей конкретной ситуации?
www.kirov-rockets.ru  

kirya

втянувшийся

Поздравляю!
Еще бы посмотреть фото самой ракеты, так чтобы можно было разглядеть ее узлы. Очень интересные у вас конструкции.
www.kirov-rockets.ru  

kirya

втянувшийся

Посоветуйте как сделать. Мне нужно принять определенное число байтов допустим 1000Б. Они принимаются в течении 30сек ±. Как определить что все байты пришли? Пока в голове только одно, кинуть на форму таймер и каждую секунду опрашивать изменение счетчика байт (counter). Но мне кажется это не правильно и нужно искать какой-то другой способ.
www.kirov-rockets.ru  

kirya

втянувшийся

kirya> Посоветуйте как сделать.

Разобрался. Есть функция которая может приостановить поток на определенной мной время WaitForSingleObject(overlapped.hEvent, 1000);
Эта функция как раз используется в потоке. Поэтому как только в течении 1000 мсек я байтов не получаю и счетчик counter>0 значит я все байты уже принял и можно вызывать функцию сохроанения в файл и постройки графика.
Такой подход наверно более правильный.
www.kirov-rockets.ru  

kirya

втянувшийся

Mishka> Я бы сделал классв.

Спасибо. Я попробую хотя бы ради интереса и чтобы отложилось у меня. Пока что не создавал своих классов. Теперь уже немного доходит о чем речь идет. Действительно кажется что применение классов менее запутано- вот тебе класс, а в нем буфер и его длиной...
www.kirov-rockets.ru  

kirya

втянувшийся

Mishka> WaitForSingleObject(overlappedwr.hEvent, INFINITE) — поставь не бесконечное ожидание, а 30 секунд.

Я так и сделал, только не 30 сек нужно ставить, а то получится что после приема последнего байта нужно ждать 30сек чтобы проверить... Я поставил 1000мсек.
www.kirov-rockets.ru  

kirya

втянувшийся

TEvg> ЗЫ А чем рисуете графики?

:-) Да, вопрос не для меня. Я все делаю в лоб. Рисую например так:

Image->Canvas->Pen->Width = 1;
Image->Canvas->MoveTo(os4-h_shtrih/2,os2-step_y*i);
Image->Canvas->LineTo(os4+h_shtrih/2,os2-step_y*i);

Искал как лучше рисовать, в итоге только так научился. Тоже нужно будет как-то систематизировать кучу переменных которую я использую для построения графика.
В итоге у меня получились функции которые везде можно использовать, они сами определяют размер холста и рисуют графики. Хочется отображать сразу больше одного графика, но пока над этим не думал.
www.kirov-rockets.ru  

kirya

втянувшийся

slavich77> Нехорошо ты, Брат-2, поступил. Ради развлечения тварь невинную загубил...

А мне показалось это шутка :-(
www.kirov-rockets.ru  

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru