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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2010, 00:08   #1
cyberandom
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 35
Восклицание Задержка в С++

Привет всем. У меня такая проблема - мне надо в C++ Builder сделать задержку между событиями. Я использую
Код:
#include <dos.h>
...
Sleep(1000)
но при запуске функции программа виснет намертво. Подскажите пожалуйста где ошибка или возможные решения этой проблемы.
cyberandom вне форума Ответить с цитированием
Старый 13.12.2010, 00:33   #2
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от cyberandom Посмотреть сообщение
Привет всем. У меня такая проблема - мне надо в C++ Builder сделать задержку между событиями. Я использую
Код:
#include <dos.h>
...
Sleep(1000)
но при запуске функции программа виснет намертво. Подскажите пожалуйста где ошибка или возможные решения этой проблемы.
Попробуй :

Код:
#include <windows.h>

Sleep( 1000 ); // sleep for 1 second
или

Код:
delay();
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 13.12.2010, 00:40   #3
cyberandom
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 35
По умолчанию

При использовании
Код:
#include <windows.h>
Sleep( 1000 );
та же проблема - зависает, а при использовании
Код:
delay();
выдаёт
[BCC32 Error] Unit1.cpp(73): E2268 Call to undefined function 'delay'
Full parser context
Unit1.cpp(58): parsing: void _fastcall TForm1::N2Click(TObject *)
cyberandom вне форума Ответить с цитированием
Старый 13.12.2010, 00:52   #4
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

А ты задал время в
Код:
delay(1000);
, я просто забыл про него .

Если не поможет , то даже не знаю .
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 13.12.2010, 00:57   #5
cyberandom
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 35
По умолчанию

Конечно задал. Видимо проблема в другом. А есть ещё какой-нибудь способ сделать задержку на определённое время?
cyberandom вне форума Ответить с цитированием
Старый 13.12.2010, 01:04   #6
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от cyberandom Посмотреть сообщение
Конечно задал. Видимо проблема в другом. А есть ещё какой-нибудь способ сделать задержку на определённое время?
Есть , но она будет загружать тебе процессор .

Код:
#include <time.h>
 
void sleep(unsigned int mseconds)
{
    clock_t goal = mseconds + clock();
    while (goal > clock());
}
А ты пробовал убирать эту методу , может он зацикливается не на sleep() ...
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Старый 13.12.2010, 01:10   #7
cyberandom
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 35
По умолчанию

Да, без sleep всё шикарно, а с ним начинает виснуть.
И почему-то ещё если сделать через
Код:
#include <time.h>
 
void sleep(unsigned int mseconds)
{
    clock_t goal = mseconds + clock();
    while (goal > clock());
}
тот же эффект - зависает намертво.
cyberandom вне форума Ответить с цитированием
Старый 13.12.2010, 01:11   #8
cyberandom
Пользователь
 
Регистрация: 21.01.2010
Сообщений: 35
По умолчанию

О, нет, прошу прощения, отвисла, работает но долго.
Большое спасибо.
cyberandom вне форума Ответить с цитированием
Старый 13.12.2010, 01:15   #9
andrewpalkin
Форумчанин
 
Аватар для andrewpalkin
 
Регистрация: 23.11.2010
Сообщений: 458
По умолчанию

Цитата:
Сообщение от cyberandom Посмотреть сообщение
О, нет, прошу прощения, отвисла, работает но долго.
Большое спасибо.
Ну тогда совет , уменьшить время до 100 или даже 50 миллисекунд
--- Если я вам помог , то помогите и вы мне . Не просто просите решить задачу , а пробуйте ее сами решить ! Я не пишу программы с нуля , я помогаю поправить код ! ---
andrewpalkin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задержка beygul Помощь студентам 10 16.05.2010 14:22
Задержка на экране Torlad Паскаль, Turbo Pascal, PascalABC.NET 10 07.04.2010 22:44
Задержка JRcoker Общие вопросы Delphi 11 08.08.2008 00:38
Задержка Syred Общие вопросы Delphi 2 07.06.2008 08:16
Задержка MaTBeu Общие вопросы C/C++ 3 24.12.2007 10:29