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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
rocketsolid
 Аватар для rocketsolid
8 / 8 / 1
Регистрация: 31.10.2008
Сообщений: 41
12.04.2011, 19:25     Как задать время выполнения цикла в секундах? #1
Здравствуйте. кусок кода для вывода строки текста на экран
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 проработал именно этот промежуток времени.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
fasked
Эксперт C++
 Аватар для fasked
4924 / 2504 / 180
Регистрация: 07.10.2009
Сообщений: 4,306
Записей в блоге: 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
 Аватар для rocketsolid
8 / 8 / 1
Регистрация: 31.10.2008
Сообщений: 41
12.04.2011, 20:21  [ТС]     Как задать время выполнения цикла в секундах? #4
Приведенный код выводит строку текста прямо в область рабочего стола поверх всех окон. и после обновления все исчезает . чтобы продержать этот текст на экране как раз таки и приходится выполнять его вывод циклично (например если он выводится в область где в данный момент воспроизводится видео). возможно это не уместно, но больше ничего на ум не приходит.
talis
 Аватар для talis
789 / 541 / 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     Как задать время выполнения цикла в секундах?
Ответ Создать тему
Опции темы

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