Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/74: Рейтинг темы: голосов - 74, средняя оценка - 4.66
 Аватар для Silver684
0 / 0 / 0
Регистрация: 04.04.2009
Сообщений: 18

Задержка в программе

18.04.2009, 11:01. Показов 14652. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребят, вот еще такой вопрос возник: я переделываю задачку из С++ в С++ builder. Так вот там была функция задержки delay. Как я понял, ее в билдере заменили на Sleep. Когда ее я использую окошко, в которое выводятся данные (например, информация о количестве сделанного в процессе от 1% до 100%), начинает "зависать". Таким образом когда окошко перестает глючить, я получаю лишь последние данные - то бишь 100%. Как это исправить?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.04.2009, 11:01
Ответы с готовыми решениями:

Задержка в программе
как заставить прогу ждать допустим 30 сек(т.е. не идти дальше по кодув течении определённого времени) (не спать, а ждать, поэтому...

задержка в программе
как сделать задержку в 10секунд???

Задержка в программе (не API)
Как сделать задержку в программе на VC++ 6.0. Не API функцией.

7
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
18.04.2009, 12:36
C++
1
2
3
4
5
int time=GetTickCount();
while((GetTickCount()-time)<1000)//Или меняй задержку на свою
          {
          Application->ProcessMessage(); 
          }
Вот тебе задержка без "зависания" формы
2
 Аватар для Silver684
0 / 0 / 0
Регистрация: 04.04.2009
Сообщений: 18
18.04.2009, 13:35  [ТС]
Спасибо!
0
 Аватар для Silver684
0 / 0 / 0
Регистрация: 04.04.2009
Сообщений: 18
20.04.2009, 11:39  [ТС]
Ребят, все равно не помогло... Прога упорно изображает глюк. посмотрите, что можно сделать?
C++
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
32
33
34
35
36
37
38
39
while (st < tt)
       {
        _asm
    {
        mov dx, 378h
        mov al, 0
        out dx, al
    }
        Sleep(lp);
        lpc ++;
        _asm
    {
        mov dx, 378h
        mov al, 1
        out dx, al
    }
        Sleep(rt);
       _asm
    {
        mov dx, 378h
        mov al, 0
        out dx, al
    }
        Sleep(sp);
        spc ++;
        _asm
    {
        mov dx, 378h
        mov al, 1
        out dx, al
    }
        Sleep(rt);
        st = st + lp + sp;
        twt = st + 2*rt*lpc;
        pd = 100*(st/tt);
        Form3->Label5->Caption = pd;
        Form3->Label6->Caption = st/1000;
        Form3->Label7->Caption = twt/1000;
    }
_asm - это асемблеровский код. Лучше его скрыть, т.к. он работает с LPT портом, а XP этого не позволяет.
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
20.04.2009, 11:48
А поточнее. Какой именно глюк? И вообще, что надо получить, и зачем задержки?
0
 Аватар для Silver684
0 / 0 / 0
Регистрация: 04.04.2009
Сообщений: 18
20.04.2009, 11:55  [ТС]
Задержки нужны, для того, что бы эту самую 1, которая задается ассемблеровским кодом, на выходе LPT порта удерживать определенное время.
Глюк выглядит в виде зависшей формы, т.е. программа идет, а на форме ничего не отображется - она какбы зависла. В конце выполнения цикла, на форме выдаются окончательные данные, а мне хотелось бы, что бы данные выдавались в режиме реального времени.
0
 Аватар для QenT
40 / 40 / 8
Регистрация: 29.01.2009
Сообщений: 244
20.04.2009, 23:26
а Отаку плохо объяснил?
вставь Application->ProcessMessages(); в любую часть своего цикла(в начало, в конец, не играет роли, лишь бы не в ассемблеровскую вставку)
0
 Аватар для radiohobbyt
192 / 190 / 15
Регистрация: 27.01.2009
Сообщений: 548
21.04.2009, 10:02
так...для работы с железом лучше запускать дополнительный поток. смотри TThread. не забудь про Sinhronize(вроде так пишется=)) метод. а там Sleep(сколько хочешь) без всякого подвисания формы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.04.2009, 10:02
Помогаю со студенческими работами здесь

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

Задержка (Остановка) только одной функции в программе
В общем, осваиваю я с++, для чего делаю разнообразные элементарные программы. Создавая очередную консольную программу, мне понадобилось...

Выбрать файл с БД в программе и совершать с этой БД действия в программе
вообщем проект реализует Тест знаний, работает на БД (xml - ну его), все получилось кроме одного, как сделать, чтобы по нажатию...

написать коментарии к программе и исправить ошибку в одной программе
и впрграмме mass нужно найти ошибку

Задержка
Здравствуйте. Хочу поиграться с ШИМ, что б на COM порте светодиод плавно изменял интенсивность. Но вот не знаю как реализовать задержку в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru