В icq mag есть возможность сохранить базу номеров в таком виде: Code: <ICQMagBase version="0.1b"> <number> <uin>***</uin> <pass>***</pass> <pm/> <pmpass/> <qa/> <kind>2</kind> <len>9</len> <numcount>*</numcount> <numlist>***</numlist> <i>no</i> <price>0</price> <adddate>***</adddate> <chdate>***</chdate> <state>0</state> </number> <number> <uin>***</uin> <pass>***</pass> <pm/> <pmpass/> <qa/> <kind>2</kind> <len>9</len> <numcount>*</numcount> <numlist>***</numlist> <i>no</i> <price>0</price> <adddate>***</adddate> <chdate>***</chdate> <state>0</state> </number> </ICQMagBase> Как называется такая база? Как ее использовать в делфи? и можно ли ее зашифровать?(например использовать ключ)
точно. спс Неужели кроме InDy нет лучше? Всегда найдется unit который будет работать качественнее чем indy 5 минут гугла показали что JAN XML лучше. клац
результат fWsRecv любого потока спихивается в одну глобальную переменную FData...попробуй массив создать. и ещё, Callback функция должна быть такой: Code: DWORD WINAPI ThreadProc( __in LPVOID lpParameter );
Не стал создавать отдельную тему, может кто знает как на WINSOCK получить страницу в стринг лист. Я в сокетах вообще нуб.. Заранее спасибо. И ещё может кто знает хорошую литературу, статьи по работе с сетью в делфи.
Code: const mstimeout = 15000; buffsize = 1024; crlf = #13#10; var StrLst: tstringlist; function fWSRecv(wHost, wRequest: string; wPort: word = 80):string; var hSocket: TSocket; wsData: TWSAData; hHost: PHostEnt; hAddr: TSockAddrIn; hTimeout: TTimeVal; iRead: integer; hData: string; hBuffer: array[0..buffsize] of char; begin WSAStartup($202, wsData); hSocket := socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); hHost := gethostbyname(PChar(wHost)); hAddr.sin_family := AF_INET; hAddr.sin_port := htons(wPort); hAddr.sin_addr := pinaddr(hHost^.h_addr^)^; hTimeout.tv_usec := 0; hTimeout.tv_sec := mstimeout; setsockopt(hSocket, SOL_SOCKET, SO_RCVTIMEO, @hTimeout, sizeof(ttimeval)); connect(hSocket, hAddr, SizeOf(hAddr)); hData := ''; Send(hSocket, wRequest[1], length(wRequest), 0); while (TRUE) do begin FillChar(hBuffer, SizeOf(hBuffer), 0); iRead := Recv(hSocket, hBuffer, length(hBuffer), 0); hData := hData + copy(hBuffer, 0, iRead); if (iRead <= 0) then break; end; CloseSocket(hSocket); WSACleanup; result := hData; end; begin StrLst := TStringList.Create(); StrLst.Add(fWSRecv('ya.ru', 'GET /index.php HTTP/1.1' + CRLF + 'Host: ya.ru' + CRLF + 'Connection: close' + CRLF + CRLF)); end.
Снова я, уже спрашивал, никто не ответил, но опять надо tcpclnt1 = TTCpClient Я делаю tcpclnt1.Receiveln но если нечего читать, прога зависает, как узнать есть чо читать или нет типа как feof в пыхе
не не, я так ничё непонял, покажи пример =\ Вот в пыхе на пример PHP: while(!feof($socket)) читать ответ А вот в дельфи как ========= Всё, забейте, переписал прогу на пых, работает в мильён раз быстрее
Вопрос не совсем по Delphi, но.. У меня возникла сложность, запускаю службу Telnet, Запускаю cmd коннекчусь, но какие стандартные логин и пароль? Вводил имя учётки но на ней нет пароля.. В общем если кто знает, подскажите. Заранее спасибо! P.S А то я уже себе всю голову сломал...
Хочу записать в файл N кол-во символов. Вот код: Code: {....................} const Text = 'Это я хочу записать в файл!'; // Отсюда буду писать var FileHandel:Integer; DS:integer; begin DS:=50; // Кол-во символов FileHandel := FileCreate(Pchar('samplefile.samp'),0); FileOpen('samplefile.samp',fmOpenReadWrite); FileWrite(FileHandel,Text,DS); FileClose(FileHandel); end. Так вот вопрос, как программно посчитать сколько символов записали и сколько осталось? Чтобы не указывать переменную DS (Сколько мне надо записать) Заранее спасибо!
PHP: procedure TForm1.Button8Click(Sender: TObject); var StrPage, ssylka:string; Data:TstringList; begin idhttp1.HandleRedirects:=true; StrPage:=idhttp1.Get('http://***.jino.ru/panel/rcon.php/'); Data:=TstringList.Create; Data.Add('ip=**.**.**.**'); Data.Add('port=7777'); Data.Add('pass=*****'); Data.Add('cmd=chat'); Data.Add('submit=Отправить запрос'); StrPage:=idhttp1.Post(ssylka, Data); Data.Free; end; После этого всего нужно получить в memo1, ответ от страницы Заранее спасибо.
Это ж моя функция)) По теме: если возвращаемые значения не важны, то попробуй убрать код: Code: while (TRUE) do begin FillChar(hBuffer, SizeOf(hBuffer), 0); iRead := Recv(hSocket, hBuffer, length(hBuffer), 0); // hData := hData + copy(hBuffer, 0, iRead); if (iRead <= 0) then break; end;