HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Парсинг *.html на C++ Builder
  #1  
Старый 06.03.2010, 04:55
miniden
Участник форума
Регистрация: 20.10.2006
Сообщений: 211
С нами: 10293035

Репутация: 36
По умолчанию Парсинг *.html на C++ Builder

Нужно чтобы программа лезла на сайт, и брала сохраняла в переменную определенный участок сайта. Я так понимаю его надо пропарсить и по маске сохранить нужный фрагмент. Пытался вот это _https://forum.antichat.ru/showpost.php?p=373579&postcount=6 но не знаю как установить библиотеку wsock32.lib , а компилятор на нее ругается. Может метод и не правильный, роскажыте пожалуйста. скачал и установил это http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en от туда скопировал папку lib в папку lib борланда, но наверно так не делаеться...
Пример:
Я отправляю по адресу http://www.google.com/search?q=antichat&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:rufficial&client=firefo x

в параметре q слово antichat, а программа должна вывести заданый текст, допустим дескрипшн первый This is a discussion forum by Antichat.ru. Официальный форум АНТИЧАТ.РУ.
 
Ответить с цитированием

  #2  
Старый 06.03.2010, 05:19
Kaimi
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
С нами: 9851426

Репутация: 1676


По умолчанию

Вместо
Код:
#pragma comment( lib, "wsock32.lib" )
попробуй напиши
Код:
#pragma comment(lib,"ws2_32.lib")
 
Ответить с цитированием

  #3  
Старый 06.03.2010, 05:26
miniden
Участник форума
Регистрация: 20.10.2006
Сообщений: 211
С нами: 10293035

Репутация: 36
По умолчанию

Код:
[Linker Error] Unresolved external '__InitVCL' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\CP32MTI.LIB|crtlvcl
[Linker Error] Unresolved external '__ExitVCL' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\CP32MTI.LIB|crtlvcl
[Linker Error] Unresolved external 'WinMain' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\C0W32.OBJ
 
Ответить с цитированием

  #4  
Старый 06.03.2010, 05:28
Kaimi
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
С нами: 9851426

Репутация: 1676


По умолчанию

http://www.codepedia.com/wiki/printer.aspx?WikiID=1&p=CppBuilderLinkingErrors
 
Ответить с цитированием

  #5  
Старый 06.03.2010, 05:34
miniden
Участник форума
Регистрация: 20.10.2006
Сообщений: 211
С нами: 10293035

Репутация: 36
По умолчанию

Я так понял говорит мне что я пытаюсь работать в консольном приложении, но мне то надо не консольное. Может эту задачу по другому лучше решить?
 
Ответить с цитированием

  #6  
Старый 06.03.2010, 10:38
M_script_
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
С нами: 9227388

Репутация: 180
По умолчанию

Цитата:
Сообщение от miniden  
Я так понял говорит мне что я пытаюсь работать в консольном приложении, но мне то надо не консольное.
File->New->VCL Forms Application - C++ Builder
 
Ответить с цитированием

  #7  
Старый 06.03.2010, 15:23
miniden
Участник форума
Регистрация: 20.10.2006
Сообщений: 211
С нами: 10293035

Репутация: 36
По умолчанию



не вижу такого(
 
Ответить с цитированием

  #8  
Старый 06.03.2010, 15:35
Kaimi
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
С нами: 9851426

Репутация: 1676


По умолчанию

По-идее надо Application выбрать
 
Ответить с цитированием

  #9  
Старый 09.03.2010, 02:01
miniden
Участник форума
Регистрация: 20.10.2006
Сообщений: 211
С нами: 10293035

Репутация: 36
По умолчанию

такой вот код заработал, но ничего не происходит форма остается пустой. Я не сильно понял саму программу, только разбираюсь, немогу понять куда оно выведет ответ респонсе, и оно же никак не связано с формой...
Код:
#include <vcl.h>
#pragma hdrstop
USEFORM("Unit2.cpp", Form1);
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
        try
        {
                 Application->Initialize();
                 Application->CreateForm(__classid(TForm1), &Form1);
                 Application->Run();
        }
        catch (Exception &exception)
        {
                 Application->ShowException(&exception);
        }
        catch (...)
        {
                 try
                 {
                         throw Exception("");
                 }
                 catch (Exception &exception)
                 {
                         Application->ShowException(&exception);
                 }
        }
        return 0;
}
#include <stdio.h>
#include <winsock2.h> // õåäåð ñ îïèñàíèåì wsa ô-èé

// äëÿ ms vc++6.0 è äð - ïîäêëþ÷àåì lib'ó ñ èìïîðòàìè wsa ô-èé
#pragma comment(lib,"ws2_32.lib")

int main(int argc, char* argv[])
{
char request[1024*5]; // áóôôåð ïîä çàïðîñ
char response[1024]; // áóôôåð ïîä îòâåò
sockaddr_in s_a;
WSADATA wd; // ñòðóêòóðà WSADATA

WSAStartup( MAKEWORD( 2, 2 ), &wd ); // èíèöèàëèçèðóåì wsa

SOCKET s = socket( AF_INET, SOCK_STREAM, 0 ); // ñîçäàåì ñîêåò
if (s == INVALID_SOCKET) return 255; // åñëè îøèáêà - âûõîä

s_a.sin_addr.s_addr = inet_addr( "188.40.76.205" ); // àéïè ñåðâåðà, â äàííîì ñëó÷àå - àíòè÷àò.ðó
s_a.sin_port = htons( 80 ); // ïîðò ñåðâåðà
s_a.sin_family = AF_INET;

if (connect( s, (struct sockaddr*)&s_a, sizeof( s_a ) ) == SOCKET_ERROR) return 255; // SOCKET_ERROR - íåâîçìîæíî ïîäêëþ÷èòñÿ ê ñåðåâåðó

char url[] = "/"; // ñòðàíèöà
char host[] = "antichat.ru"; // õîñò
// ôîðìèðóåì çàïðîñ
sprintf( request, "GET %s HTTP/1.1\r\nHost: %s\r\nConnection: Close\r\n\r\n", url, host );

send( s, request, strlen( request ), 0 ); // ïîñëàòü çàïðîñ
recv( s, response, 1023, 0 ); // ìàêñèìóì ïîëó÷èòü 1023 áàéòà

printf( "%s\r\n", response ); // âûâåñòè îòâåò íà ýêðàí

closesocket( s ); // çàêðûâàåì ñîêåò
WSACleanup(); // äåèíèöèàëèçèðóåì wsa

return 0;
}
 
Ответить с цитированием

  #10  
Старый 09.03.2010, 14:12
M_script_
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
С нами: 9227388

Репутация: 180
По умолчанию

Цитата:
Сообщение от miniden  
Я не сильно понял саму программу, только разбираюсь, немогу понять куда оно выведет ответ респонсе, и оно же никак не связано с формой...
Никуда эта программа ничего не выведет =)
Судя по этому коду, тебе стоит сначала попробовать написать прогу "Hello world".
Создай консольное приложение без VCL и вставь этот код в Unit1.cpp
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нужен hosts builder с поддержкой и последующей чисткой Mysterious Разное - Покупка, продажа, обмен 1 25.11.2009 23:03
Embarcadero: C++ Builder 2009 Kollinz С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 1 11.08.2009 11:27
[Статья] Создание расширения для Windows Explorer при помощи C++ Builder Dobby007 С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 2 29.03.2009 08:58



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...