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

    by_nikita Member

    Joined:
    1 Dec 2010
    Messages:
    46
    Likes Received:
    11
    Reputations:
    5
    Подскажите, как сделать в delphi чтоб он тыкал на ссылку , но проблема в том то что ссылка меняется , не меняется только название к примеру вот ссылка qwert.ru/qwertvd
    перехожу туда а там еще одна ссылка , и мне нужно нажать на нее qwery.ru/qwertyu
    не меняется только qwert то есть изначально qwert.ru/qwert а там уже идет подставка . как сделать чтоб он нажимал
     
  2. Rastamanka

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    Использовать модуль Regex для выпаршивания значения ссылки и полученное значение подставлять.
     
  3. Rastamanka

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    Подскажите использую модуль Synapse для отправки данных.
    Все хорошо но проблема вот в чем. Если ответ идет слишком долго то программа на это время подвисает. Есть ли возможно убрать это? Ну то есть чтобы не было подвешивания программы во время получения ответа от сервера? Ответ придет 100%
     
  4. Metal-Core

    Metal-Core Member

    Joined:
    20 Sep 2011
    Messages:
    222
    Likes Received:
    21
    Reputations:
    0
    Получает файл? или запрос,можно в дополнительный поток сделать.
     
  5. Rastamanka

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    Можно поподробнее??
    У меня есть функция отправляющая данные
    Code:
    function send_post(login,pass,request,url_send,who:string):string;
      begin
          HTTP := THTTPSend.Create;
    
            try
              HTTP.Document.Clear;
              HTTP.UserName:=login;
              HTTP.Password:=pass;
              HTTP.UserAgent := 'Reflector';
              HTTP.MimeType := 'application/x-www-form-urlencoded';
              HTTP.Headers.Add( 'Accept: text/html' );
    
              stream:=TStringStream.Create('');
              stream.WriteString(request);
    
              HTTP.Document.LoadFromStream(stream);
    
              if (who='serv') then
              HTTP.HTTPMethod('post',url+url_send);
    
              if (who='other') then
              HTTP.HTTPMethod('get',url_send);
    
              BodyS := TStringList.Create;
              BodyS.LoadFromStream(HTTP.Document);
    
              d:=BodyS.Text;
    
              Result:=d;
    
          finally
            HTTP.Free;
    
            end;
      end;
    
    Как ее вынести в отдельный поток?
     
  6. alexey-m

    alexey-m Elder - Старейшина

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    все зависит где эта ссылка находится, конкретику давай, если это Rich какой-нибудь, то одно, если лэйбл, то другое...
     
  7. vernite akk=

    vernite akk= New Member

    Joined:
    18 May 2011
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    Rastamanka, великолепный цикл статей от стелса, http://grabberz.com/showthread.php?t=24619
    Тут часть про потоки.
    Если в кратце то.


    procedure send;
    begin
    Отсюда вызываеш функц для отправки.

    ExitThread(0); //Выходим
    end;

    var
    id : LongWorld;
    begin
    CloseHandle(BeginThread(nil, 0, @send, nil, 0, id)); //Запускаем паток
    end;
    Параметры функц BeginThread легко гугляться, и выше приведенной статье описаны.
     
  8. AtomoS

    AtomoS New Member

    Joined:
    17 Feb 2010
    Messages:
    88
    Likes Received:
    1
    Reputations:
    0
    решил написать собственный биндер клавиатуры.

    суть проста подменить клавиши QWER на свои собственные (следуя выбранной схеме).

    с данной задачей справился быстро, но на деле произошла некоторая несостыковочка (двойной ребинд).

    -- подробнее --

    выбираю к примеру схему custom (подмена на ZXCV)
    работает всё берупречно.

    выбираем схему ZXCQ, то на выводе получаю ZXCZ
    как видно при нажатии R должно показать Q, но показывает Z
    потому что при обработке оно замечает хук на кнопке Q и обрабатывает его, подменяя на Z.

    --

    вопрос: как эту дрянь исправить чтобы не было зависимости от Хука ?!

    -> исходники
     
  9. sharic

    sharic New Member

    Joined:
    20 Jan 2012
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Подскажите метод для такой проблемы. Пользую новые аудиокомпоненты. Там есть событие, когда с микрофона закончена запись в файл. Мне сразу после этого события нужно делать конвертинг файла. Я вставляю код конвертинга в это событие - окончание записи и использую этот же файл, который записали. Проблема в том, что предыдущий процес не успевает еще закончить работу с этим файлом, который мне нужно конвертировать и в результате конвертинг не работает. Какую вставить команду чтобы завершить полностью работу c файлом предыдущего процесса записи? Спасибо
     
  10. InfectedM

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

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    в DateTimePicker1
    поставил формат: d.MM.yyyy HH:mm:ss

    могу выбирать дату, но время менять - нельзя, в чем пробелмма?
    какой еще можно использовать компанент что бы в нем одновременно можно было выбирать дату и время.
    подскажите плиз
     
  11. Киев

    Киев Banned

    Joined:
    9 Aug 2011
    Messages:
    19
    Likes Received:
    8
    Reputations:
    4
    есть TServerSocket и TClientSocket, как передать файл от сервера к клиенту или наоборот.

    Можно и через другие компоненты, но желательно через сокеты.
     
  12. Юго

    Юго Member

    Joined:
    2 Feb 2011
    Messages:
    0
    Likes Received:
    77
    Reputations:
    17
    код:

    unit Unit1;

    interface

    uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, ScktComp, StdCtrls;

    type
    TForm1 = class(TForm)
    ClientSocket1: TClientSocket;
    ServerSocket1: TServerSocket;
    btnTestSockets: TButton;
    procedure ClientSocket1Read(Sender: TObject; Socket: TCustomWinSocket);
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure ClientSocket1Disconnect(Sender: TObject;
    Socket: TCustomWinSocket);
    procedure ClientSocket1Connect(Sender: TObject;
    Socket: TCustomWinSocket);
    procedure ServerSocket1ClientConnect(Sender: TObject;
    Socket: TCustomWinSocket);
    procedure btnTestSocketsClick(Sender: TObject);
    private
    FStream: TFileStream;
    { Private Declatrations }
    public
    { Public Declarations }
    end;

    var
    Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.ClientSocket1Read(Sender: TObject;
    Socket: TCustomWinSocket);
    var
    iLen: Integer;
    Bfr: Pointer;
    begin
    iLen := Socket.ReceiveLength;
    GetMem(Bfr, iLen);
    try
    Socket.ReceiveBuf(Bfr^, iLen);
    FStream.Write(Bfr^, iLen);
    finally
    FreeMem(Bfr);
    end;
    end;

    procedure TForm1.FormCreate(Sender: TObject);
    begin
    FStream := nil;
    end;

    procedure TForm1.FormDestroy(Sender: TObject);
    begin
    if Assigned(FStream) then
    begin
    FStream.Free;
    FStream := nil;
    end;
    end;

    procedure TForm1.ClientSocket1Disconnect(Sender: TObject;
    Socket: TCustomWinSocket);
    begin
    if Assigned(FStream) then
    begin
    FStream.Free;
    FStream := nil;
    end;
    end;

    procedure TForm1.ClientSocket1Connect(Sender: TObject;
    Socket: TCustomWinSocket);
    begin
    FStream := TFileStream.Create('c:\temp\test.stream.html', fmCreate or fmShareDenyWrite);
    end;

    procedure TForm1.ServerSocket1ClientConnect(Sender: TObject;
    Socket: TCustomWinSocket);
    begin
    Socket.SendStream(TFileStream.Create('c:\temp\test .html', fmOpenRead or fmShareDenyWrite));
    end;

    procedure TForm1.btnTestSocketsClick(Sender: TObject);
    begin
    ServerSocket1.Active := True;
    ClientSocket1.Active := True;
    end;

    end.
     
  13. Rastamanka

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

    Joined:
    26 Nov 2008
    Messages:
    429
    Likes Received:
    11
    Reputations:
    7
    Добрый день. Использую IndyHttpProxyServer. Необходимо получить ответ от сервера(код страниц которые он подгружает) в онлайн режиме. Как сделать? Вроде в OnHTTPDocument но не могу там найти этого параметра.
     
  14. Mr.Wekly

    Mr.Wekly New Member

    Joined:
    15 Sep 2011
    Messages:
    60
    Likes Received:
    3
    Reputations:
    5
    Нужен наставник по дельфям, начальные знания есть. Писать 122222981, kasdert1
     
  15. meugr

    meugr New Member

    Joined:
    6 May 2011
    Messages:
    8
    Likes Received:
    0
    Reputations:
    0
    какие учебнички по дельфи посоветуете. я какбэ начальных знаний даже не имею. вот. школота вобщем.
     
  16. ShyRka_coder

    ShyRka_coder Member

    Joined:
    27 Jul 2010
    Messages:
    127
    Likes Received:
    7
    Reputations:
    5
    Библия Delphi - Фленов М.Е
     
  17. BigBear

    BigBear Escrow Service
    Staff Member Гарант - Escrow Service

    Joined:
    4 Dec 2008
    Messages:
    1,801
    Likes Received:
    920
    Reputations:
    862
    Забудьте эту книжку. И не общайтесь с людьми, которые её советуют. Никогда.
     
    _________________________
  18. Cherep

    Cherep New Member

    Joined:
    30 May 2010
    Messages:
    158
    Likes Received:
    1
    Reputations:
    -10
    как добавить в значение параметра POST запроса пустую строчку?
     
  19. shadowrun

    shadowrun Banned

    Joined:
    29 Aug 2010
    Messages:
    842
    Likes Received:
    170
    Reputations:
    84
    PData.Add('Parametr=');
     
  20. InfectedM

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

    Joined:
    4 Nov 2007
    Messages:
    155
    Likes Received:
    12
    Reputations:
    0
    Нужно сделать невозможным передачу фокуса на form1 , но что бы работали все кнопачки на ней.
    такое возможно?)
    либо как-то снимать его принудительно в никуда.
     
Thread Status:
Not open for further replies.