Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Функция которая читает весь файл в массив. Какая?
 
 автор: GS-Stas   (31.07.2006 в 17:22)   письмо автору
 
 

Если кто знает, на PHP есть такая функция file:

array file (string filename [, int use_include_path])

которая читает весь файл в массив. Если string filename будет URL-адрес, она вовзращает массив с HTML-кодом этой страницы.

Есть ли анолагичная функция в C++ Builder, или как мне это осуществить?

Спасибо

   
 
 автор: cheops   (31.07.2006 в 17:31)   письмо автору
 
   для: GS-Stas   (31.07.2006 в 17:22)
 

Нет, в С++ файл читается построчно при помощи функции fgets() или аналогов... А лучше использовать API-функции - не переносимо, зато очень шустро
    DWORD bytes_read, bytes_debug;
    String strBegin;
    // Read exec.ini
    HANDLE hSrc = CreateFile("exec.ini", GENERIC_READ, 0, NULL, OPEN_EXISTING    , FILE_FLAG_SEQUENTIAL_SCAN, NULL);
    if(hSrc == INVALID_HANDLE_VALUE)
    {
        MessageBox(NULL, "Error in opening exec.ini file", "Autorun",  MB_OK|MB_ICONSTOP);
        return -1;
    }
    DWORD bytes_number = GetFileSize(hSrc, &bytes_debug);
    char *buffer = new char[bytes_number];
    if(!ReadFile(hSrc, buffer, bytes_number, &bytes_read, NULL))
    {
        CloseHandle(hSrc);
        delete [] buffer;
        MessageBox(NULL, "Error in reading exec.ini file", "Autorun",  MB_OK|MB_ICONSTOP);
        return -1;
    }
    CloseHandle(hSrc);
    String buff(buffer);
    delete [] buffer;

Содержимое файла в переменной String buff - остаётся только разбить содержимое на части

   
 
 автор: GS-Stas   (04.08.2006 в 20:41)   письмо автору
 
   для: cheops   (31.07.2006 в 17:31)
 

А нельзя ли точнее объяснить, как это осуществить.

Пусть это будет строка, например объекту Label1 присвоить HTML-код страницы, пожалуйста, очень сложно, я никогда не писал на С, но мне нужна только это функция.

т.е. при нажатии на кнопку Button1, Label1 принимала текст HTML-кода страницы http://chat.beltsy.md

Спасибо

   
 
 автор: cheops   (04.08.2006 в 22:06)   письмо автору
 
   для: GS-Stas   (04.08.2006 в 20:41)
 

С++ не обладает встроенными сетевыми возможностями, как PHP, тут придётся помимо этого либо обращаться к библиотеке сокетов, либо к другой библиотеки, позволяющей работать по протоколу HTTP.

   
 
 автор: GS-Stas   (06.08.2006 в 16:27)   письмо автору
 
   для: cheops   (04.08.2006 в 22:06)
 

Последовал вашему совету, и нарыл такую информацию на форуме по адресу http://progz.ru/forum/index.php?showtopic=1031


Не подскажет кто, как определить закачена ли страница целиком или нет, я делал так:

HTTP запрос типа такого:

"GET http://www.codenet.ru/ HTTP/1.0rn
Connection: Closern
Host: www.codenet.rurn
rn"


Код//------
while(pSocket && pSocket->Active){
if(!pStream->WaitForData(FTimeOut)){
if(pStream->Read(Buf,FBufLen))!=0){
FBody+=AnsiString(Buf);
FRecvdBytes+=strlen(Buf);
ZeroMemory(Buf,FBufLen);
}else pSocket->Close();
Application->ProcessMessages();
Sleep(10);
}else pSocket->Close();
}
//------



По моему, это как раз то, что мне нужно, ведь он получает в результате запроса, целую страницу (подробности, прошу прочитать на форуме http://progz.ru/forum/index.php?showtopic=1031). Хочу попросить вас подсказать, это именно то, что мне требуется, и если так оно и есть, то как осуществить, повторюсь, присвоение объекту Label1->Caption, при нажатии на Button1 HTML-кода запрашиваемой страницы.

Спасибо..

   
 
 автор: GS-Stas   (08.08.2006 в 09:14)   письмо автору
 
   для: GS-Stas   (31.07.2006 в 17:22)
 

А может кто подскажет, как хотя бы сделать, чтоб при нажатии Button1 HTML-код страницы http://softtime.ru присваивался Memo1->Line

ПОЖАЛУЙСТА,.. и Спасибо

   
 
 автор: GS-Stas   (16.08.2006 в 10:01)   письмо автору
 
   для: GS-Stas   (08.08.2006 в 09:14)
 

Спасибо за бесполезность

   
 
 автор: Loki   (16.08.2006 в 10:46)   письмо автору
 
   для: GS-Stas   (16.08.2006 в 10:01)
 

Всегда рады!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования