Нужно чтобы программа лезла на сайт, и брала сохраняла в переменную определенный участок сайта. Я так понимаю его надо пропарсить и по маске сохранить нужный фрагмент. Пытался вот это _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=firefox в параметре q слово antichat, а программа должна вывести заданый текст, допустим дескрипшн первый This is a discussion forum by Antichat.ru. Официальный форум АНТИЧАТ.РУ.
Вместо Code: #pragma comment( lib, "wsock32.lib" ) попробуй напиши Code: #pragma comment(lib,"ws2_32.lib")
Code: [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
Я так понял говорит мне что я пытаюсь работать в консольном приложении, но мне то надо не консольное. Может эту задачу по другому лучше решить?
такой вот код заработал, но ничего не происходит форма остается пустой. Я не сильно понял саму программу, только разбираюсь, немогу понять куда оно выведет ответ респонсе, и оно же никак не связано с формой... Code: #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; }
Никуда эта программа ничего не выведет =) Судя по этому коду, тебе стоит сначала попробовать написать прогу "Hello world". Создай консольное приложение без VCL и вставь этот код в Unit1.cpp
Да, запустил, прислал хеадер. )))) Спасибо большое, только я же хочу билдер приложение... роскажите плиз как сделать в билдере а не в консоле
просто программа для себя, хочу чтоб быстро выполнять определенную работу, и вот эта прога помогла бы, а разве можно ее выполнить в консоли? трей хот кей и все такое...
Создаешь проект (VCL Forms), кидаешь на форму TEdit, TMemo, TButton жмешь на Button1 2 раза, в обработчик клика пишешь: TIdHTTP *http = new TIdHTTP(0); Memo1->Lines->Add(http->Get(Edit1->Text)); delete http; как-то так.
блин почти аналогичная трабла только еще смешней за всю ночь сидения в гугле и яше не смог обработать строку и выдрать то что нужно. на консольные функции компилятор ругается суко. нашел топик через гугл кстате ) эх нелегкое это дело самообучаться... ТС вот нашел пару ссылочек, может помогет чуток: Ссыль№1 Ссыль№2 номер два это по моей теме. мне помогло мож тебе тоже пригодится
недавно нашел на ccoder.pastebin.com http://ccoder.pastebin.com/1Z4UQhDu протестировал программа ищет, теги вынимает текст между началом и концом выводит в файл но у нее есть недочеты если не находит в одной строке совпадения начала и конца, то это не выводится, не находит и в нижнем регистре-строгая формализация