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

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

    Joined:
    2 Jul 2008
    Messages:
    147
    Likes Received:
    25
    Reputations:
    2
    2slesh как я уже говорил что BlockInput работает до первого нажатия на Cntrl+Alt+Del к тому же он не блокирует функциональные клавиши типа яркость громкость вперед назад и.т.д
     
  2. _nic

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

    Joined:
    5 May 2006
    Messages:
    651
    Likes Received:
    54
    Reputations:
    3
    Как организовать drag n drop файлов из єксплорера в ListBox ?
     
  3. Logan22

    Logan22 Member

    Joined:
    11 Sep 2009
    Messages:
    119
    Likes Received:
    17
    Reputations:
    0
    Помогите пожалуйста правельно вставить Edit

    Я тут допустил ошибку!
    При компиляции такая ошибка!

     
  4. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    ты сам хоть понял что ты написал в коде? Сначало учи основы синтаксиса а потом начинай кодить.

    SetCursorPos(strtoint(edit1.text), strtoint(edit2.text));
     
  5. Nullsleep

    Nullsleep Member

    Joined:
    2 Jun 2009
    Messages:
    67
    Likes Received:
    26
    Reputations:
    0
    _nic
    Code:
    uses ShellAPI;
    ...
    
      public
        procedure DropFiles(var msg: TWMDropFiles); message WM_DROPFILES;
    ...
    
    procedure TForm1.DropFiles(var msg: TWMDropFiles);
    var
      drop, count: THandle;
      i: Integer;
      buf: array[0..MAX_PATH-1] of Char;
    begin
      drop := msg.Drop;
      //[I]получаем количество перетаскиваемых объектов[/I]
      count := DragQueryFile(drop, $ffffffff, nil, 0);
      for i := 0 to count-1 do
      begin
        //[I]получаем имя i-того файла[/I]
        DragQueryFile(drop, i, buf, MAX_PATH);
        //[I]добавляем в листбокс только файлы (отсееваем папки)[/I]
        if FileExists(buf) then ListBox1.Items.Add(buf);
      end;
      DragFinish(drop);
    end;
    
    procedure TForm1.FormCreate(Sender: TObject);
    begin
      DragAcceptFiles(Handle, True);
    end;
    
     
    #4185 Nullsleep, 18 Sep 2009
    Last edited: 18 Sep 2009
    1 person likes this.
  6. Mykola-bas

    Mykola-bas New Member

    Joined:
    24 Apr 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    снова я)
    Вопросик:
    Вообшем у меня програма отправляет запрос на авторизацию на сервер... вопрос в том как обработать ответ? тоесть как узнать что авторизацыя удалась или нет? думал проанализировать хтлм код на присутствие ссылки типа /profile.php=id и т.д. но может есть попроще способ? если да по пожалуйста напишыте код

    (реч идет о вк)
     
    #4186 Mykola-bas, 19 Sep 2009
    Last edited: 19 Sep 2009
  7. gisTy

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

    Joined:
    24 May 2008
    Messages:
    432
    Likes Received:
    160
    Reputations:
    27
    ты бы язык русский выучил сначала.
     
  8. Seregakz

    Seregakz New Member

    Joined:
    13 Jun 2009
    Messages:
    31
    Likes Received:
    1
    Reputations:
    0
    подскажите как исправить пример чтобы можно было при закачке отправлять куки на серв!

    Code:
    function DownloadFile(const Url: string): string; 
    var 
      NetHandle: HINTERNET; 
      UrlHandle: HINTERNET; 
      Buffer: array[0..1024] of char; 
      BytesRead: cardinal; 
    begin 
      Result := ''; 
      NetHandle := InternetOpen('Delphi 5.x', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0); 
    
      if Assigned(NetHandle) then 
        begin 
    
        UrlHandle := InternetOpenUrl(NetHandle, PChar(Url), nil, 0, INTERNET_FLAG_RELOAD, 0); 
    
        if Assigned(UrlHandle) then 
          { UrlHandle правильный? Начинаем загрузку } 
          begin 
          FillChar(Buffer, SizeOf(Buffer), 0); 
          repeat 
            Result := Result + Buffer; 
            FillChar(Buffer, SizeOf(Buffer), 0); 
            InternetReadFile(UrlHandle, @Buffer, SizeOf(Buffer), BytesRead); 
          until BytesRead = 0; 
          InternetCloseHandle(UrlHandle); 
          end 
        else 
          begin 
          { UrlHandle неправильный. Генерируем исключительную ситуацию. } 
          raise Exception.CreateFmt('Cannot open URL %s', [Url]); 
          end; 
    
        InternetCloseHandle(NetHandle); 
        end 
      else 
        { NetHandle недопустимый. Генерируем исключительную ситуацию } 
        raise Exception.Create('Unable to initialize Wininet'); 
    end;
    
     
    #4188 Seregakz, 19 Sep 2009
    Last edited: 19 Sep 2009
  9. ange007

    ange007 Member

    Joined:
    26 Aug 2009
    Messages:
    28
    Likes Received:
    21
    Reputations:
    0
    1) Учи язык
    2)Пользуй Post запросы при авторизации, в ответах от них есть информация,-авторизировался или нет.
     
  10. Mykola-bas

    Mykola-bas New Member

    Joined:
    24 Apr 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Можна пример кода?
     
  11. herfleisch

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

    Joined:
    7 Jan 2009
    Messages:
    579
    Likes Received:
    203
    Reputations:
    13
    Люди, которые пишут на Delphi, а где вы берёте среду разработки? Существуют вообще бесплатные IDE ???
     
  12. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Вопрос по компоненту TreeView... Как при нажатии на кнопку сделать так чтобы выводились в memo элементы (каталоги) определенного дерева

    Такой вариант не идет:

    Code:
    var
      i : Integer;
    begin
      for i:=1 to TreeView1.Items[0].Count do
        Memo1.Lines.Add(TreeView1.Items[i].Text);
    Такой вариант кода (как выше) мне не подходит, так как выводится и элементы дерев (именно содержание дерев) указанного дерева из которого извлекаем
     
  13. Nullsleep

    Nullsleep Member

    Joined:
    2 Jun 2009
    Messages:
    67
    Likes Received:
    26
    Reputations:
    0
    Code:
    const
      level = 0;
    var
      i : Integer;
    begin
      for i := 0 to TreeView1.Items.Count-1 do
        if TreeView1.Items[i].Level = level then
          Memo1.Lines.Add(TreeView1.Items[i].Text);
    end;
    
    Константа level - это уровень вложенности деревьев.
     
  14. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Не то, выводятся элементы определенного уровня деревьев а не определенного дерева
     
    #4194 wolmer, 20 Sep 2009
    Last edited: 20 Sep 2009
  15. Nullsleep

    Nullsleep Member

    Joined:
    2 Jun 2009
    Messages:
    67
    Likes Received:
    26
    Reputations:
    0
    Code:
    const
      n = 1;
    var
      i : Integer;
    begin
      for i := 0 to  TreeView1.Items[n].Count-1 do
        Memo1.Lines.Add(TreeView1.Items[n].Item[i].Text);
    end;
    
    n - номер дерева
     
    1 person likes this.
  16. Sin3v

    Sin3v Banned

    Joined:
    16 Jul 2008
    Messages:
    11
    Likes Received:
    95
    Reputations:
    9
    Delphi
    Как строку в hex перевести ?
     
  17. ex3me

    ex3me Member

    Joined:
    7 Jan 2009
    Messages:
    0
    Likes Received:
    63
    Reputations:
    0
    Sin3v, так?

    Code:
      function   StrToHex(AStr:   string):   string;   
      var   
      I:   Integer;   
      Tmp:   string;   
      begin   
          Result   :=   '';   
          For   I   :=   1   to   Length(AStr)   do   
          begin   
              Result   :=   Result   +   Format('%2x',   [Byte(AStr[I])]);   
          end;   
          I   :=   Pos('   ',   Result);   
          While   I   <>   0   do   
          begin   
              Result[I]   :=   '0';   
              I   :=   Pos('   ',   Result);   
          end;   
      end;   
        
      function   TransChar(AChar:   Char):   Integer;   
      begin   
      if   AChar   in   ['0'..'9']   then   
      Result   :=   Ord(AChar)   -   Ord('0')   
      else   
      Result   :=   10   +   Ord(AChar)   -   Ord('A');   
      end;   
        
        
      function   HexToStr(AStr:   string):   string;   
      var   
          I:   Integer;   
          CharValue:   Word;   
      begin   
          Result   :=   '';   
          For   I   :=   1   to   Trunc(Length(Astr)/2)   do   
          begin   
              Result   :=   Result   +   '   ';   
              CharValue   :=   TransChar(AStr[2*I-1])*16   +   TransChar(AStr[2*I]);   
              Result[I]   :=   Char(CharValue);   
          end;   
      end;
    
     
    2 people like this.
  18. #berkut#

    #berkut# Member

    Joined:
    12 Sep 2009
    Messages:
    5
    Likes Received:
    9
    Reputations:
    0
    Code:
    function StringtoHex(Data: string): string;
    var
      i, i2: Integer;
      s: string;
    begin
      i2 := 1;
      for i := 1 to Length(Data) do
      begin
        Inc(i2);
        if i2 = 2 then
        begin
          s  := s + ' ';
          i2 := 1;
        end;
        s := s + IntToHex(Ord(Data[i]), 2);
      end;
      Result := s;
    end;
     
  19. Kuzya

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

    Joined:
    27 Apr 2008
    Messages:
    166
    Likes Received:
    106
    Reputations:
    30
    Здравствуйте. Нужно узнать количество вхождений подстроки в строку. Есть ли для этого в Delphi специальная отдельная функция?
    И ещё. Есть ли в Delphi встроеная функция на подобие explode() или split()?

    UPDATE: Функция типа split найдена - ExtractStrings
     
    #4199 Kuzya, 20 Sep 2009
    Last edited: 20 Sep 2009
  20. alexey-m

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

    Joined:
    15 Jul 2009
    Messages:
    518
    Likes Received:
    100
    Reputations:
    37
    Подскажите, пожалуйса, как можно прочитать или скопировать файл открытый монопольно другим приложениям?
    OpenReadOnly или fmSharedDenyNone не предлагать =)
     
Thread Status:
Not open for further replies.