Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Прокрутка текста 
:(
    Опции темы
taxir
Дата 10.5.2007, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 10.5.2007

Репутация: нет
Всего: нет



Добрый вечер Ребята! Нужна ваша помощь в написании проги. Я тока начинаю на С++ нужна квалифицированая помощь, кто чем может плиз.Суть проги в том что она должна висеть постоянно в инете и скачивать через определенное время скажем каждые 5 минут контент с одной и тойже вебстраницы и перелопатив ее превратить в нужный текст. А этот текст нужно какимто образом вывести на экран крупным шрифтом и прокручивать пока не истечет 5 минут и потом опять по новой уже новый текст итд постоянно. Направление, Размер шрифта и скорость прокрутки чтобы можно было менять.Вот привожу код первой части, которая получает контент с вебстраницы в текстовое поле. 

void CHTTPDlg::OnButton1() 
{
    // TODO: Add your control notification handler code here
    CInternetSession *pInternetSession;
    pInternetSession=new CInternetSession();
    if (!pInternetSession)
    {
        AfxMessageBox("Internet none",MB_OK);
        return;
    }
    CStdioFile *pFile = NULL;
    char *buffer;
    buffer=new char[100000];
    pFile=pInternetSession->OpenURL(CString("http://www.livescore.com"));
    pFile->Read(buffer,100000);
    m_text=CString(buffer,100000);
    UpdateData(false);
    pFile->Close();
    pInternetSession->Close();    
}

Пожалуста помогите продолджить написание проги. Эсть вопросы!
1) как мне сделать чтобы этот код получал контент с вебстраницы скажем постоянно автоматически через определенное время?
2) как прокручивать этот текст на весь экран?

Заранее благодарен всем кто поможет ответить на эти вопросы....плиз с примерами пожалуста!
PM MAIL   Вверх
Earnest
Дата 11.5.2007, 07:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Цитата(taxir @  11.5.2007,  00:35 Найти цитируемый пост)
1) как мне сделать чтобы этот код получал контент с вебстраницы скажем постоянно автоматически через определенное время?

Поставь таймер и запускай этот код при получении сообщения от таймера

Цитата(taxir @  11.5.2007,  00:35 Найти цитируемый пост)
2) как прокручивать этот текст на весь экран?

Хоть убейте, не пойму, что значит "прокручивать текст на весь экран"
Какой экран? Ты же вроде не в консоли. А если выведешь техт в обычный EDIT, то он сам тебе все покажет и прокрутит, только поставь нужные флаги.



--------------------
...
PM   Вверх
taxir
Дата 11.5.2007, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 10.5.2007

Репутация: нет
Всего: нет



Earnest спасибо за ответ!
Цитата

Поставь таймер и запускай этот код при получении сообщения от таймера

А можно примером показать как это сделать.....пожалуста!
Цитата

Хоть убейте, не пойму, что значит "прокручивать текст на весь экран"
Какой экран? Ты же вроде не в консоли. А если выведешь техт в обычный EDIT, то он сам тебе все покажет и прокрутит, только поставь нужные флаги.

Щас попробую объяснить,что имел ввиду под "прокручивать текст на весь экран"....
значит после того как получим контент и возьмем нужную инфу из него нада этот текст как бы построчно прокручивать сверху вниз или наоборот и это должно быть автоматом....это примерно как "бегущая строка" тока сверху вниз или снизу вверх....поэтому нужно сделать регулятор скорости прокрутки и размер шрифта....
PM MAIL   Вверх
taxir
Дата 11.5.2007, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 10.5.2007

Репутация: нет
Всего: нет



Немогу найти на панели "Controls" таймера smile 
PM MAIL   Вверх
ama_kid
Дата 11.5.2007, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


АСУТП-кодер
***


Профиль
Группа: Комодератор
Сообщений: 1460
Регистрация: 5.3.2007
Где: Москва

Репутация: нет
Всего: 95



Цитата(taxir @  11.5.2007,  08:57 Найти цитируемый пост)
Немогу найти на панели "Controls" таймера

Using Timers
SetTimer


--------------------
самурай без меча подобен самураю с мечом, но только без меча 
PM MAIL   Вверх
taxir
Дата 11.5.2007, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 10.5.2007

Репутация: нет
Всего: нет



Цитата

Using Timers
SetTimer 

Спасибо конечно.......но не все пока понятно......прошу вас как этот таймер с моим кодом связать на примере плииииииз....вот допустим этот код.....
Цитата

CInternetSession *pInternetSession;
    pInternetSession=new CInternetSession();
    if (!pInternetSession)
    {
        AfxMessageBox("Internet none",MB_OK);
        return;
    }
    CStdioFile *pFile = NULL;
    char *buffer;
    buffer=new char[100000];
    pFile=pInternetSession->OpenURL(CString("http://www.livescore.com"));
    pFile->Read(buffer,100000);
    m_text=CString(buffer,100000);
    UpdateData(false);
    pFile->Close();
    pInternetSession->Close(); 

PM MAIL   Вверх
zkv
Дата 11.5.2007, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 16
Всего: 92



taxir, ты в МСДН этот пример видел:
Цитата

This example uses CWnd::SetTimer, CWnd::OnTimer, and CWnd::KillTimer to handle WM_TIMER messages. A timer is set up to send a WM_TIMER message to the main frame window every 2 seconds in OnStartTimer. OnStopTimer will stop the timer by calling CWnd::KillTimer. OnTimer was set up to handle WM_TIMER messages for the main frame window. In this example, the PC speaker will beep every 2 seconds.

Код

void CMainFrame::OnStartTimer() 
{
   m_nTimer = SetTimer(1, 2000, 0);
}

void CMainFrame::OnStopTimer() 
{
   KillTimer(m_nTimer);   
}

void CMainFrame::OnTimer(UINT nIDEvent) 
{
   MessageBeep(0xFFFFFFFF);   // Beep

   // Call base class handler.
   CMDIFrameWnd::OnTimer(nIDEvent);
}

 тебе надо лишь MessageBeep(0xFFFFFFFF);  на нужные действия заменить, и интервал другой поставить. 
Удачи!
PM MAIL   Вверх
taxir
Дата 11.5.2007, 12:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 10.5.2007

Репутация: нет
Всего: нет



zkv, спасибо за объяснение и код.....щас попробую!!!!!Ребята всем спасибооооо!!!практически можно сказать с таймером все ясно!!!!А как быть со второй частью моей программы?Нужно чтобы полученный текст выводился на весь экран построчно (я имею ввиду у меня разрешение экрана 800*600) и автоматом крутился до следующего обращения к вебстраничке итд до бесконечности......буду благодарен за любые сообщения относительно этого!!!
PM MAIL   Вверх
zkv
Дата 11.5.2007, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 16
Всего: 92



Цитата(taxir @  11.5.2007,  12:14 Найти цитируемый пост)
Нужно чтобы полученный текст выводился на весь экран построчно (я имею ввиду у меня разрешение экрана 800*600)

те типа полноэкранного режима надо что то организовать? Никаких фреймов, элементов управления и прочего не будет, а будет только текст?

Это сообщение отредактировал(а) zkv - 11.5.2007, 12:37
PM MAIL   Вверх
taxir
Дата 11.5.2007, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 10.5.2007

Репутация: нет
Всего: нет



ДА ИМЕННО ТОЛЬКО ТЕКСТ!
PM MAIL   Вверх
zkv
Дата 11.5.2007, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 16
Всего: 92



taxir, посмотри в эту  сторону
PM MAIL   Вверх
taxir
Дата 11.5.2007, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 10.5.2007

Репутация: нет
Всего: нет



zkv, спасибо за интересную ссылку!Скачал и протестил код!Супер именно так как надо полноэкранный режим!Остается всего 1 вопрос.....как мне прокрутить таки этот текст, который будет помещен в это окно?????это должно быть автоматом, с определенным размером шрифта, скоростью и направлением прокрутки (снизу вверх или наоборот по желанию) и прокрутка должна быть как в ТЕЛЕТЕКСТЕ...то есть она должна идти постоянно....текст какбы должен бесконечно двигатся снизу вверх или наоборот и когда будет конец текста он должен повторится опять образуя бесконечный цикл пока таймер не примет новый контент с вебстранички....хотелось бы узнать как мона это сделать на примере!
PM MAIL   Вверх
SenkraD
Дата 11.5.2007, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 933
Регистрация: 3.2.2006
Где: Украина::Киев

Репутация: 4
Всего: 23



Ну посылай сообщений скрол бару и обрабатывай его и если уже конец документа и нету новых данных то переходи на начало документа и повторяй процедуру


--------------------
 Имеющий язык - да не убоится спросить! 
user posted image
PM MAIL ICQ   Вверх
zkv
Дата 11.5.2007, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата



****


Профиль
Группа: Участник Клуба
Сообщений: 2133
Регистрация: 23.7.2006
Где: Санкт-Петербург

Репутация: 16
Всего: 92



Цитата(taxir @  11.5.2007,  14:09 Найти цитируемый пост)
это должно быть автоматом,

автопрокрутку вешаем на таймер
Цитата(taxir @  11.5.2007,  14:09 Найти цитируемый пост)
он должен повторится опять образуя бесконечный цикл

ну тут надо применить фантазию ;-) 
Цитата(taxir @  11.5.2007,  14:09 Найти цитируемый пост)
цикл пока таймер не примет новый контент с вебстранички....

а куда вставлять принятый текст? В текущую позицию прокрутки?
PM MAIL   Вверх
taxir
Дата 11.5.2007, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 10.5.2007

Репутация: нет
Всего: нет



SenkraD-у 
Цитата

Ну посылай сообщений скрол бару и обрабатывай его и если уже конец документа и нету новых данных то переходи на начало документа и повторяй процедуру 
 можешь набрасать примерный код или ссылку дать как это организовать....плиз

zkv, 
Цитата

а куда вставлять принятый текст? В текущую позицию прокрутки? 

нет....нужно предыдущий текст полностью удалить и вместо него новый принятый....
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0921 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.