Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
rocketsolid
8 / 8 / 1
Регистрация: 31.10.2008
Сообщений: 41
#1

Как задать время выполнения цикла в секундах? - C++

12.04.2011, 19:25. Просмотров 1177. Ответов 4
Метки нет (Все метки)

Здравствуйте. кусок кода для вывода строки текста на экран
C++
1
2
3
4
const char string1[] = "sample of text";
HDC dc = CreateDC(TEXT("DISPLAY"), NULL, NULL, NULL);
TextOut(dc,35,60,string1,strlen(string1));
DeleteDC(dc);
проблема в том что при обновлении экрана все естественно исчезает. если всё поместить в while(1) то проблема решается. Но как например сделать чтобы эта надпись выводилась на экран допустим 5 секунд ? то есть чтобы цикл while проработал именно этот промежуток времени.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2011, 19:25     Как задать время выполнения цикла в секундах?
Посмотрите здесь:

C++ Как жестко задать частоту работы цикла
Как зафиксировать время начала выполнения программы C++
C++ Как узнать время выполнения алгоритма
Окно программы во время выполнения цикла C++
Какая функция читает внутреннее время компьютера в секундах? C++
Как вы тестируете время выполнения программы? C++
Текущее время в секундах. Очень нужно C++
Как правильно задать параметр "время выполнения алгоритма"? C++
C++ Как задать два условия для цикла
Как задать условие выхода из цикла, проверку на использование каждого элемента в массиве? C++
C++ Как уменьшить время выполнения программы?
C++ Как вывести корректное время выполнения программы в секундах?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
12.04.2011, 19:46     Как задать время выполнения цикла в секундах? #2
Цитата Сообщение от rocketsolid Посмотреть сообщение
проблема в том что при обновлении экрана все естественно исчезает. если всё поместить в while(1) то проблема решается.
Подобные проблемы решаются другими методами
vaselo
19 / 19 / 1
Регистрация: 17.10.2010
Сообщений: 247
12.04.2011, 19:53     Как задать время выполнения цикла в секундах? #3
ты наверное не правильно сформулировал запрос, тебе нужно продержать надпись на экране, а потом очистить его.
C++
1
2
3
4
5
6
7
8
9
10
11
#include "Windows.h"
{int i=0;
while(1)
{cout<<"Input 1: ";
cin>>i;
Sleep(100);
if(i==1) cout<<"\nSucces";Sleep(500);
cout<<"121213123123";Sleep(300);
system("CLS");
}
}
rocketsolid
8 / 8 / 1
Регистрация: 31.10.2008
Сообщений: 41
12.04.2011, 20:21  [ТС]     Как задать время выполнения цикла в секундах? #4
Приведенный код выводит строку текста прямо в область рабочего стола поверх всех окон. и после обновления все исчезает . чтобы продержать этот текст на экране как раз таки и приходится выполнять его вывод циклично (например если он выводится в область где в данный момент воспроизводится видео). возможно это не уместно, но больше ничего на ум не приходит.
talis
791 / 543 / 37
Регистрация: 11.05.2010
Сообщений: 1,298
Записей в блоге: 1
12.04.2011, 23:06     Как задать время выполнения цикла в секундах? #5
А если не делать DeleteDC до тех пор, пока не нужно будет скрыть текст? Вроде

C++
1
2
3
4
5
const char string1[] = "sample of text";
HDC dc = CreateDC(TEXT("DISPLAY"), NULL, NULL, NULL);
TextOut(dc,35,60,string1,strlen(string1));
Sleep(5000);
DeleteDC(dc);
Или уже по-человечески создать окно поверх всех, на него вывести и через 5 секунд после показа (например, через WM_TIMER) его закрыть?
Yandex
Объявления
12.04.2011, 23:06     Как задать время выполнения цикла в секундах?
Ответ Создать тему
Опции темы

Текущее время: 23:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru