[ 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. НTL

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

    Joined:
    26 Jan 2008
    Messages:
    715
    Likes Received:
    205
    Reputations:
    -26
    Как скачать файл (картинку) с помощью сокетов?

    Делаю так:
    Code:
    se:=
    'GET /antichat/pic/logo.gif HTTP/1.1'+#13#10+
    'Host: forum.antichat.ru'+#13#10+
    'User-Agent: Mozilla'+#13#10+
    'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'+#13#10+
    'Accept-Language: ru'+#13#10+
    'Accept-Charset: utf-8;q=0.7,*;q=0.7'+#13#10+
    'Connection: Close'+#13#10#13#10;
    
    send_packs('forum.antichat.ru',80,se,ret);
    
    В итоге в переменой находится ответ сервера с HTTP заголовками и телом картинки, и как ее сохранить?
     
  2. waik

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

    Joined:
    2 Nov 2008
    Messages:
    405
    Likes Received:
    163
    Reputations:
    12
    HTL достаешь картинку-сохроняешь и загружаешь в image/
    Какой формат картинки?
    http://forum.antichat.ru/showpost.php?p=2503425&postcount=7838
     
  3. X-rus

    X-rus Member

    Joined:
    22 Dec 2010
    Messages:
    88
    Likes Received:
    22
    Reputations:
    4
    Ищешь в ответе строку "\r\n\r\n". К найденной позиции прибавляешь 4-ре. В результате, выделяешь контент с указанной позиции, без заголовка. Сохраняешь контент в файл и задаёшь ему нужное расширение. Картинка готова.
     
  4. Isaev

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

    Joined:
    25 Jul 2007
    Messages:
    120
    Likes Received:
    19
    Reputations:
    6
    Изврат... Человек и так её получил в нормальном ыиде, зачем же изобратать велосипед! =)
    Я вот так делал:
    Code:
    Procedure GetImage(S1:String);
    Var
      Err1:String;
      MStr:TMemoryStream;
      Bmp:TBitmap;
      Jpg:TJPEGImage;
    Begin
      Jpg:=TJPEGImage.Create;
      Bmp:=TBitmap.Create;
      Err1:='';
      IdHTTP:=TIdHTTP.Create(Nil);
      IdHTTP.Request.Host:='vkontakte.ru';
      IdHTTP.Request.Referer:='http://vkontakte.ru/index.php';
      MStr:=TMemoryStream.Create;     // MemoryStream erzeugen
      Try
        S1:='http://vkontakte.ru/captcha.php?s=1&sid='+S1;
        IdHTTP.Get(S1,MStr);          // Bild in MemoryStream laden
        MStr.Seek(0,soFromBeginning); // MemoryStream zeiger auf 0
        Jpg.LoadFromStream(MStr);     // Daten in JPEG einlesen
        Bmp.Assign(Jpg);
      Except
        On EIdHTTPProtocolException Do
          Err1:='Error [Jpeg] :'+IdHTTP.ResponseText;
      End;
    
      MStr.Free;                    // Resourcen freigeben
      IdHTTP.Free;
        Form1.Image1.Canvas.Draw(0,0,Bmp);
      Bmp.Free;
      Jpg.Free;
      Beep;
    End;
     
  5. vans007

    vans007 New Member

    Joined:
    11 Jan 2011
    Messages:
    4
    Likes Received:
    0
    Reputations:
    0
    как в delphi 7 сделать так чтобы при нажатии на кнопку тебя перекидывало на сайт который ты ввёл в поле для ввода?
     
  6. Isaev

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

    Joined:
    25 Jul 2007
    Messages:
    120
    Likes Received:
    19
    Reputations:
    6
    ShellExecute(Form1.Handle,PAnsiChar('open'),PAnsiChar('www....'),Nil,Nil,SW_SHOW);
     
  7. CheatXX

    CheatXX New Member

    Joined:
    8 Jun 2009
    Messages:
    154
    Likes Received:
    2
    Reputations:
    0
    все верно? ето под dll
     
    #7567 CheatXX, 13 Jan 2011
    Last edited: 13 Jan 2011
  8. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    936
    Likes Received:
    162
    Reputations:
    27
    С помощью Инди - да, все так просто. Но все таки в Инди поиск тела документа (картинки) происходит подобно тому, как подсказали делать выше.
     
  9. Isaev

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

    Joined:
    25 Jul 2007
    Messages:
    120
    Likes Received:
    19
    Reputations:
    6
    Ну как бы тема о Delphi, значит автор на Delphi и получил, а не на асме например, т.ч. зачем спускаться до более низкого уровня и разбирать структуры... ;)
    Если я напишу через synapse или что-то ещё, смысл не изменится.
     
  10. _asp1k

    _asp1k New Member

    Joined:
    8 Jan 2011
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Проблема со сменой ID в TIcqClient[Delphi]
    Следующим сообщением пишут
    Пишу по коду выше...
    объявляю процедуру
    procedure ICQClient1.MaskIntoQIP(BuildNum : LongWord);
    нажимаю Shift Ctrl C чтоб шаблончик сгенерировал и тут вылезает ошибка
    [​IMG]
    Что я не так делаю?
     
    #7570 _asp1k, 14 Jan 2011
    Last edited: 14 Jan 2011
  11. _asp1k

    _asp1k New Member

    Joined:
    8 Jan 2011
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    С ошибкой вроде разобрался...
    вписываю код
    и в проекте значение кнопки:
    Но меняет только версию квипа(
    и ещё не распознает
     
  12. H1N1

    H1N1 New Member

    Joined:
    30 Nov 2009
    Messages:
    7
    Likes Received:
    0
    Reputations:
    0
    Помогите связать массив с фалом на паскале. Написал двумерный масси и не могу связать его с файлом. Задача заключается в том что бы создать матрицу чисел где каждая строка матрицы записана в отдельной строке и всё это записать в другой текстовой файл где номера строк, элементы в каждом из которых одинаковы.

    Code:
    Program massfail;
    uses crt;
    const m=10;
    type mas=array[1..m, 1..m] of integer;
    var massiv: mas;
    procedure InsertMas(var mass: mas; n:integer);
    var i,j:integer;
    begin
     randomize;
     for i:=1 to n do
       for j:=1 to n do
         mass[i,j]:=random(10);
    end;
    procedure PrintMas(mass:mas; n:integer);
    var i,j:integer;
    
    begin
      for i:=1 to n do
        for j:=1 to n do
           begin
            gotoxy(j*3,i);
            write(mass[i,j]:2);
           end;
    end;
    Begin
      clrscr;
      InsertMas(massiv,m);
      PrintMas(massiv,m);
    readln;
    end.
    
    Подскажите как дальше сделать, пожалуйста.
     
  13. Dimys1237

    Dimys1237 New Member

    Joined:
    29 Oct 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    помогите плиз, смотрите есть пару editov , если один не заполняю как сделать что бы програмама не завершалась там вроде не большой код 1 сторочка подскажите плиз
     
  14. Isaev

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

    Joined:
    25 Jul 2007
    Messages:
    120
    Likes Received:
    19
    Reputations:
    6
    Выражайте свой вопрос яснее... если эдит не заполнить программа и так не завершается
     
  15. Dimys1237

    Dimys1237 New Member

    Joined:
    29 Oct 2009
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    вот:
    надо 5 едитов туда нужно вписать цифры и потом найти их сред.арф , но иногда 1 или 2 числел может не быть тоесь буде 3 едита например заполнено, и тоесть нужно уже делить не на 5 а на 3 , и вот надо что нехнаю как это реализовать
     
  16. Voland-791

    Voland-791 Member

    Joined:
    1 May 2009
    Messages:
    163
    Likes Received:
    13
    Reputations:
    5
    Подкиньте код процедуры на паскале, для получения системной директории %windir% ?
     
  17. Isaev

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

    Joined:
    25 Jul 2007
    Messages:
    120
    Likes Received:
    19
    Reputations:
    6
    Code:
    Count:=5;
    X1:=StrToIntDef(Edit1.Text,-1);
    If X=-1 Then Dec(Count);
    А лучше сделай UpDown и создавай/убивай нужное кол-во Edit при изменении показателей
     
    #7577 Isaev, 14 Jan 2011
    Last edited: 14 Jan 2011
  18. CheatXX

    CheatXX New Member

    Joined:
    8 Jun 2009
    Messages:
    154
    Likes Received:
    2
    Reputations:
    0
    как обрабатывать dllentrypoint ?
     
  19. AlexTheC0d3r

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

    Joined:
    25 Jul 2008
    Messages:
    388
    Likes Received:
    179
    Reputations:
    18
    гуглом
    http://www.google.ru/search?q=dllentrypoint&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ru:eek:fficial&client=firefox
     
  20. .Light.

    .Light. Member

    Joined:
    12 Jul 2010
    Messages:
    195
    Likes Received:
    5
    Reputations:
    0
    Как сделать чтоб 1 столбец с БД отоброжался в первом мемо.2 столбец во втором мемо?
     
    #7580 .Light., 15 Jan 2011
    Last edited: 15 Jan 2011
Thread Status:
Not open for further replies.