[ 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. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Имеешь свое мнение а не следуешь слепо советам - это хорошо.
    Если хочешь понять как работает инди то читай книгу Глубины Indy,
    но конкретных примеров там почти нету, и больше книг именно по инди нет.
    Я узнавал все таким образом: допустим хочу программно залогиниться на сайте вбиваю в гугл авторизация IdHttp - читал статьи, выполнял все также, потом подставлял свои ссылки и т.д. Тут как бы с практикой знания приходят, а не чтением.
    И обязательно почитай хотя бы про основы протокола с которым хочешь работать.

    http://parsing-and-i.blogspot.com/search/label/IdHTTP
     
    #5981 GhostOnline, 25 Apr 2010
    Last edited: 25 Apr 2010
    2 people like this.
  2. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    Вопрос:
    Браузер на сайт отправляет запрос
    ajax_new.php?to=1319609&m=0&type=0&url=&title=&rand=0.7700298510159739
    Все параметры, кроме rand=0.7700298510159739 мне известны. Я так понял что этот параметр генерируется ява скриптом на сайте, а потом передается в запросе.
    Так вот как мне сгенерировать этот параметр? Или как узнать где на сайте находится этот скрипт который генерирует параметр?
     
  3. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Проверь влияет ли значение этого параметра на ответ сервера. Если нет то можно тупо генерить случайные числа и конвертировать их в строку.
    А если влияет - попробуй в исходном коде найти упоминание этого параметра, тогда возможно найдешь функцию, и тогда уже станет ясно.
     
  4. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    stepashka_, пробуй методом тыка, смотри чужие сорцы как там все работает, и конечно же Google.

    GhostOnline, сейчас попробую.
     
    1 person likes this.
  5. winlogon.exe

    winlogon.exe Active Member

    Joined:
    5 Jun 2009
    Messages:
    31
    Likes Received:
    129
    Reputations:
    13
    напишите плиз пример программы которая работает с потоками. С исходником плиз(создающая например в мемо цифры от 1 до 10000 в несколько потоков чтобы софт не зависал). Не могу разобраться с потоками.(
     
  6. [stranger]

    [stranger] Member

    Joined:
    2 Feb 2010
    Messages:
    167
    Likes Received:
    29
    Reputations:
    4
    поток создаешь через TThread? или апишными функциями?
     
  7. winlogon.exe

    winlogon.exe Active Member

    Joined:
    5 Jun 2009
    Messages:
    31
    Likes Received:
    129
    Reputations:
    13
  8. [stranger]

    [stranger] Member

    Joined:
    2 Feb 2010
    Messages:
    167
    Likes Received:
    29
    Reputations:
    4
    что да? да - TThread или да - апи? о_О

    если через TThread то пишешь в созданном потоке процедурку такого вида
    Code:
    procedure MyThread.updmemo(str: string);
    begin
      memo1.lines.add(str);
    end;
    
    и в execute пишешь
    Code:
    var i: integer;
    begin
      for i := 0 to 1024 do
        Synchronize(updmemo(inttostr(i)));
    end;
    
    для того чтобы не вешать форму надо все вычисления выполнять до синхронизации!
    например код что выше не будет вешать форму, а этот будет
    Code:
    procedure MyThread.updmemo();
     var i: integer;
    begin
      for i := 0 to 1024 do
        memo1.lines.add(inttostr(i));
    end;
    
    в execute
    Code:
    begin
      Synchronize(updmemo);
    end;
    
     
    #5988 [stranger], 25 Apr 2010
    Last edited: 25 Apr 2010
  9. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    как сделать так чтобы можно было перемещать, перетаскивать форму за объект Image расположенном на этой форме?
     
  10. Qb1024

    Qb1024 New Member

    Joined:
    15 Jul 2009
    Messages:
    323
    Likes Received:
    4
    Reputations:
    0
    Сделай обработку на нажатии мышкой по объекту и меняй координаты формы вслед за движениями мышью.
     
  11. heretic1990

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

    Joined:
    2 Jul 2008
    Messages:
    487
    Likes Received:
    182
    Reputations:
    5
    думал уже об этом, а по другому никак?

    вот что у меня получилось:
    Code:
    procedure TForm1.Image4MouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
    var
    kod:tpoint ;
    begin
      getcursorpos(kod);
    form1.left:=(kod.X);
    form1.Top:=(kod.Y);
    end;
    форма просто перепрыгивает, а как сделать так чтобы она перетаскивалась?

    Ответ найден. выход из положения:
    ReleaseCapture;
    Perform(WM_SYSCOMMAND, $F012, 0);
     
    #5991 heretic1990, 25 Apr 2010
    Last edited: 25 Apr 2010
  12. 090808

    090808 Member

    Joined:
    15 Mar 2009
    Messages:
    171
    Likes Received:
    46
    Reputations:
    10
    OnMouseMove


    Code:
       ReleaseCapture;
        SendMessage(Form1.Handle,WM_NCLBUTTONDOWN,HTCAPTION,0);
     
  13. 090808

    090808 Member

    Joined:
    15 Mar 2009
    Messages:
    171
    Likes Received:
    46
    Reputations:
    10

    Code:
    unit Unit1;
    
    interface
    
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs,StdCtrls, ExtCtrls;
    
    
    type
      TForm1 = class(TForm)
        Button1: TButton;
        Memo1: TMemo;
        Timer1: TTimer;
        procedure Button1Click(Sender: TObject);
        procedure Timer1Timer(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
      TNewThread = class(TThread)
      private
      protected
        procedure Execute; override;
      public
        constructor Create(CreateSuspended: Boolean);
      end;
    
    var
      Form1: TForm1;
    
    implementation
    
    {$R *.dfm}
    
    constructor TNewThread.Create(CreateSuspended: Boolean);
    begin
      inherited Create(CreateSuspended);
    end;
    
    procedure TNewThread.Execute;
    var StrPage:string;
    begin
    Form1.Memo1.Tag :=  Form1.Memo1.Tag+1;
    Form1.Memo1.Lines.Add(Inttostr(Form1.Memo1.tag));
    end;
    
    
    procedure TForm1.Timer1Timer(Sender: TObject);
    begin
    TNewThread.Create(false); //создаём поток
    TNewThread.Create(false);
    TNewThread.Create(false);
    TNewThread.Create(false);
    end;
    
    

    Тупенький,но за то рабочий пример многопоточности :)
     
    #5993 090808, 26 Apr 2010
    Last edited: 26 Apr 2010
  14. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    Короче на сайте отправка мессаг через ajax.
    Я с помощью xmlhttp отправляю запрос, все вроде бы нормально, но мои куки в запросе не передаются(вообще любой мой хидер непередается). Вот функция отправки:
    Уже хз что делать...вчера вроде ещё все норм было :(
     
    #5994 HakaR, 26 Apr 2010
    Last edited: 26 Apr 2010
  15. denjf

    denjf Member

    Joined:
    12 Nov 2008
    Messages:
    88
    Likes Received:
    12
    Reputations:
    -1
    Как решить такую траблу:

    Delphi 2007
    Indy 10.?? самая последняя

    s.text:=http.get('http://odnoclassniki.ru');
    Все русские символы приходят вот так

    N?DoD?D>D?, N?N?D,D>D,N?D?, N?D?N?D?D,DoN?D?, DoD?D>D>D?D?D?, D?N?N?, D,D?N?N?D,N?N?N?, N?D?D,D2D?N?N?D,N?D?N?, D2N?D., D?D?D?D?DoD>D?N?N?D?D,Do, D?D?D?D?DoD>D?N?N?D?

    На сайте кодировка Utf-8
     
  16. HakaR

    HakaR Active Member

    Joined:
    23 Jul 2009
    Messages:
    301
    Likes Received:
    200
    Reputations:
    3
    Utf8ToAnsi, не?
     
    #5996 HakaR, 26 Apr 2010
    Last edited: 26 Apr 2010
  17. denjf

    denjf Member

    Joined:
    12 Nov 2008
    Messages:
    88
    Likes Received:
    12
    Reputations:
    -1
    Не срабатало.
     
  18. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    723
    Likes Received:
    110
    Reputations:
    22
    Установить себе наконец дельфи 2009
    Интересно, зачем тебе http://odnoСlassniki.ru
     
    #5998 GhostOnline, 26 Apr 2010
    Last edited: 26 Apr 2010
  19. InfectedM

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

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    попробуй в стрим принимать
     
  20. 090808

    090808 Member

    Joined:
    15 Mar 2009
    Messages:
    171
    Likes Received:
    46
    Reputations:
    10
    Решается очень просто.
    Проверил,работает.
    Code:
    idhttp1.get(UTF8Decode('http://odnoclassniki.ru'));
    
     
    1 person likes this.
Thread Status:
Not open for further replies.