[ Delphi / Pascal ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by banned, 6 May 2007.

Thread Status:
Not open for further replies.
  1. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    можно. Есть функции str и val
     
  2. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    В 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>
    
    Как называется такая база? Как ее использовать в делфи? и можно ли ее зашифровать?(например использовать ключ)
     
  3. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Ну вообще это на xml всё написано. Так что юзай любой парсер xml
     
  4. ][yZ

    ][yZ Member

    Joined:
    3 Mar 2009
    Messages:
    66
    Likes Received:
    46
    Reputations:
    10
    в делфе в Indy вроде есть парсер xml
     
  5. НTL

    НTL Elder - Старейшина

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    точно. спс

    Неужели кроме InDy нет лучше?
    Всегда найдется unit который будет работать качественнее чем indy

    5 минут гугла показали что JAN XML лучше. клац
     
    #5225 НTL, 29 Jan 2010
    Last edited: 29 Jan 2010
  6. Tribal_0_o

    Tribal_0_o New Member

    Joined:
    7 Nov 2009
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Подскажите как внедрить свою dll в чужой процесс?
     
  7. _nic

    _nic Elder - Старейшина

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Можно в VCL сделать такой трюк что бы контролы ненаследовали прозрачность от родительской формы?
     
    #5227 _nic, 30 Jan 2010
    Last edited: 30 Jan 2010
  8. TrueBit

    TrueBit Member

    Joined:
    21 Nov 2009
    Messages:
    71
    Likes Received:
    19
    Reputations:
    4
    http://www.xakep.ru/post/26796/default.asp
     
  9. RDL_Rider

    RDL_Rider New Member

    Joined:
    21 Jun 2009
    Messages:
    100
    Likes Received:
    3
    Reputations:
    0
    результат fWsRecv любого потока спихивается в одну глобальную переменную FData...попробуй массив создать. и ещё, Callback функция должна быть такой:
    Code:
    DWORD WINAPI ThreadProc(   
     __in  LPVOID lpParameter  );
     
    1 person likes this.
  10. iGlass

    iGlass New Member

    Joined:
    14 May 2009
    Messages:
    86
    Likes Received:
    1
    Reputations:
    0
    Не стал создавать отдельную тему, может кто знает как на WINSOCK получить страницу в стринг лист. Я в сокетах вообще нуб..

    Заранее спасибо.

    И ещё может кто знает хорошую литературу, статьи по работе с сетью в делфи.
     
  11. GlooK

    GlooK Elder - Старейшина

    Joined:
    20 Apr 2007
    Messages:
    172
    Likes Received:
    53
    Reputations:
    10
    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.
    
     
    #5231 GlooK, 31 Jan 2010
    Last edited: 31 Jan 2010
    1 person likes this.
  12. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    Снова я, уже спрашивал, никто не ответил, но опять надо
    tcpclnt1 = TTCpClient
    Я делаю tcpclnt1.Receiveln но если нечего читать, прога зависает, как узнать есть чо читать или нет
    типа как feof в пыхе
     
  13. n1ghtstalker

    n1ghtstalker Elder - Старейшина

    Joined:
    28 Sep 2008
    Messages:
    59
    Likes Received:
    3
    Reputations:
    0
    хз , как то в delphях ещё 0. но если нет предопр. оператора,просто open и ищешь элементы.
     
  14. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    не не, я так ничё непонял, покажи пример =\
    Вот в пыхе на пример
    PHP:
    while(!feof($socket)) читать ответ
    А вот в дельфи как :eek:
    =========
    Всё, забейте, переписал прогу на пых, работает в мильён раз быстрее :D
     
    #5234 Ponchik, 31 Jan 2010
    Last edited: 1 Feb 2010
  15. iGlass

    iGlass New Member

    Joined:
    14 May 2009
    Messages:
    86
    Likes Received:
    1
    Reputations:
    0
    Вопрос не совсем по Delphi, но..

    У меня возникла сложность, запускаю службу Telnet, Запускаю cmd коннекчусь, но какие стандартные логин и пароль? Вводил имя учётки но на ней нет пароля.. В общем если кто знает, подскажите.

    Заранее спасибо!

    P.S А то я уже себе всю голову сломал...
     
    #5235 iGlass, 2 Feb 2010
    Last edited: 2 Feb 2010
  16. iGlass

    iGlass New Member

    Joined:
    14 May 2009
    Messages:
    86
    Likes Received:
    1
    Reputations:
    0
    Хочу записать в файл 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 (Сколько мне надо записать)

    Заранее спасибо!
     
  17. iGlass

    iGlass New Member

    Joined:
    14 May 2009
    Messages:
    86
    Likes Received:
    1
    Reputations:
    0
    Уже разобрался в чём причина.. ) Если кому интересно то вот решение:

     
  18. 090808

    090808 Member

    Joined:
    15 Mar 2009
    Messages:
    171
    Likes Received:
    46
    Reputations:
    10
    PHP:
    procedure TForm1.Button8Click(SenderTObject); 
    var 
    StrPagessylka: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(ssylkaData); 
     
    Data.Free
    end

    После этого всего нужно получить в memo1, ответ от страницы


    Заранее спасибо.
     
    #5238 090808, 4 Feb 2010
    Last edited: 4 Feb 2010
  19. GlooK

    GlooK Elder - Старейшина

    Joined:
    20 Apr 2007
    Messages:
    172
    Likes Received:
    53
    Reputations:
    10
    Это ж моя функция))

    По теме: если возвращаемые значения не важны, то попробуй убрать код:
    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;
    
     
    1 person likes this.
  20. GlooK

    GlooK Elder - Старейшина

    Joined:
    20 Apr 2007
    Messages:
    172
    Likes Received:
    53
    Reputations:
    10
    Добавь в конец строку
    PHP:
    Memo1.Lines.Add(StrPage);
     
Thread Status:
Not open for further replies.