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

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

    Joined:
    15 Feb 2008
    Messages:
    137
    Likes Received:
    24
    Reputations:
    0
    и ещё =)

    Code:
    var   
      c: PChar;   
    begin   
      new(c);
     
  2. Nizhegorodets

    Nizhegorodets Member

    Joined:
    21 Mar 2009
    Messages:
    80
    Likes Received:
    66
    Reputations:
    9
    Нужно скопировать текст из edit в буфер обмена.Как это можно осуществить?
     
  3. Lazar88

    Lazar88 New Member

    Joined:
    3 Jun 2009
    Messages:
    1
    Likes Received:
    1
    Reputations:
    0
    Clipboard.AsText := edit1.text;

    в разделе Uses должен быть прописан модуль ClipBrd
     
  4. Lazar88

    Lazar88 New Member

    Joined:
    3 Jun 2009
    Messages:
    1
    Likes Received:
    1
    Reputations:
    0
    Нужно занести данные на web страницу через TWebBrowser
    выдает ошибку:
    [​IMG]

    Подскажите что не так.
    И поделитесь ссылкой на подробную статью о работе c TWebBrowser если есть у кого

    Code:
    uses
     Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
     Dialogs, StdCtrls, ComCtrls, OleCtrls, SHDocVw, MSHTML_TLB;
    
    procedure TForm1.Button1Click(Sender: TObject);
    var
    v: Variant;
     form : variant;
     f,i:Integer;
     begin
    WebBrowser1.Navigate('http://id.rambler.ru/sсriрt/newuser.cgi');
    
    for f:=0 to WebBrowser1.OleObject.Document.forms.Length-1 do begin
    form:=WebBrowser1.OleObject.Document.forms.Item(f) .elements;
    for i:=0 to form.Length-1 do
    if form.item(i).name='login' then 
    form.item(i).value:='test1'
    else
    if form.item(i).name='firstname' then 
    form.item(i).value:='test2';
    
    end;  end;
    
    

    вылетает здесь:
    for f:=0 to WebBrowser1.OleObject.Document.forms.Length-1 do begin

    а если заменить WebBrowser1.OleObject.Document.forms.Length-1 просто на цифру то здесь:
    form:=WebBrowser1.OleObject.Document.forms.Item(f) .elements;
     
    1 person likes this.
  5. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    работа тут идет в асинхронном режиме и по этому
    WebBrowser1.Navigate('http://id.rambler.ru/sсriрt/newuser.cgi'); - заставляет грузить страницу
    for f:=0 to WebBrowser1.OleObject.Document.forms.Length-1 do begin - пытается обратиться к еще незагруженным данным, так что ожидай события OnDocumentComplete
     
  6. Nizhegorodets

    Nizhegorodets Member

    Joined:
    21 Mar 2009
    Messages:
    80
    Likes Received:
    66
    Reputations:
    9
    +1
     
  7. --StraNger--

    --StraNger-- Member

    Joined:
    4 Jan 2009
    Messages:
    63
    Likes Received:
    57
    Reputations:
    5
    Кстати не обязательно использовать отдельный класс Clipboard
    Т.е.у некоторых компонентов есть свои методы.
    Например:
    Code:
    Edit1.CopyToClipboard //копировать в буфер
    Edit1.CutToClipboard //вырезать
    
     
  8. Lazar88

    Lazar88 New Member

    Joined:
    3 Jun 2009
    Messages:
    1
    Likes Received:
    1
    Reputations:
    0
    можно по подробнее об использовании события? желательно на примере.
     
  9. slesh

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

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    зафикач код
    Code:
    for f:=0 to WebBrowser1.OleObject.Document.forms.Length-1 do begin
    form:=WebBrowser1.OleObject.Document.forms.Item(f)   .elements;
    for i:=0 to form.Length-1 do
    if form.item(i).name='login' then 
    form.item(i).value:='test1'
    else
    if form.item(i).name='firstname' then 
    form.item(i).value:='test2';
    
    в обработчик события. (события - там где свойства компонента, тока на другйо вкладке)
     
  10. wolmer

    wolmer Member

    Joined:
    12 May 2009
    Messages:
    438
    Likes Received:
    97
    Reputations:
    9
    Вообщем надо мне просто один пакет послать... (который в мемо)(пакет/пакеты могут быть к разным хостам)
    Как это сделать?

    Там же надо с типом "sockaddr_in" что-то мудрить! Но я знаю как с ним мудрить если к одному хосту все это идет, а если к нескольким?(как в моем случае)
     
  11. scroollocker

    scroollocker New Member

    Joined:
    14 Jun 2009
    Messages:
    13
    Likes Received:
    1
    Reputations:
    0
    Я и память под PChar выделял и все делал как мне сказали, но не получается! Ну в чем тут трабла?
    вот string в PChar перевел
    AboutPC:=Pchar('Любая String строка');
    а делфи ругает
    ftpfilename:='/test/Info_'+AboutPC+'.txt';

    "Incompatible types: 'string' and 'PAnsiChar' "
     
  12. [n]-c0der

    [n]-c0der Member

    Joined:
    3 Feb 2009
    Messages:
    83
    Likes Received:
    24
    Reputations:
    -1
    strcat() - использовать стремно?
     
  13. tracy

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

    Joined:
    24 Mar 2009
    Messages:
    244
    Likes Received:
    119
    Reputations:
    40
    Помогите ieframe.dll

    Хотел сделать фейк ,
    Захожу в компонеты - Microsoft internet controls .
    Выдоёт ошибку файл не найден 'C:\windows\system23\ieframe.dll\1' Что делать?
     
  14. [n]-c0der

    [n]-c0der Member

    Joined:
    3 Feb 2009
    Messages:
    83
    Likes Received:
    24
    Reputations:
    -1
    Куда заходишь?
    Где хотел сделать фейк?
    что, как и при каких обстоятельствах не находит...

    В этой теме задаются вопросы по синтаксису яп.
    И вообще если задаем вопросы, старайтесь более развернуто спрашивать.
     
    1 person likes this.
  15. ChuKeY

    ChuKeY New Member

    Joined:
    21 Jun 2009
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    можно просто по событию ListBox1 onMouseDown вписать процедуру listbox1.DeleteSelected;
     
  16. [n]-c0der

    [n]-c0der Member

    Joined:
    3 Feb 2009
    Messages:
    83
    Likes Received:
    24
    Reputations:
    -1
    Вообще не советую ставить такую обработку(DeleteSelected) на такое событие, при случайном нажатии, удалится то, чего удалять и не нужно, по идее как и принято, будет удобней ставить на событие двойного клика мышью...

    Code:
    procedure TForm1.list1DblClick(Sender: TObject);
    var
      list:TListBox;
    begin
      list:=TListBox.CreateParented(Form1.Handle);
      list.DeleteSelected;
    IMHO вот так.
     
    2 people like this.
  17. --StraNger--

    --StraNger-- Member

    Joined:
    4 Jan 2009
    Messages:
    63
    Likes Received:
    57
    Reputations:
    5
    ну например делаешь обработчик события кликания на лист бокс вот таким
    Code:
    edit1.text:=ListBox1.Items.Strings[ListBox1.itemindex]
    
    А вобще достаточно прочитать даже самый примитивный ман по ListBox =)
     
  18. warning_512

    warning_512 New Member

    Joined:
    24 Jun 2009
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Ну я пожалуй начну .. :)
    Как сделать MYSQL DUMPER in Delphi|?
     
  19. --StraNger--

    --StraNger-- Member

    Joined:
    4 Jan 2009
    Messages:
    63
    Likes Received:
    57
    Reputations:
    5
    полагаю, что с помощью компонента mysqlclient например
    http://svdpro.info/page.php?id=18 - в общем об этом
    а здесь интересный примерчик как раз для дампа
    http://forum.vingrad.ru/forum/act-ST/f-88/t-260175.html
     
  20. Areeeees

    Areeeees New Member

    Joined:
    23 Jun 2009
    Messages:
    9
    Likes Received:
    0
    Reputations:
    0
    Добрового времени суток всем.
    По роду деятельности приходится сталкиваться с компанентом TWebBrowser. А информации в рунете по нему не так уж и много... Вот хотелось бы узнать у более опытных товарищей, мб кто сталкивался с подобным...
    А интересно вот что: допустим у нас есть программа в которой странички открываются в TWebBrowser'e.
    Допустим открывается страница и там несколько фреймов и 2 строки под логин и пасс, в одном из них, ну и соответственно кнопка войти... Нужно, чтобы в своей программе ты вводил логин и пасс в TEdit1 u TEdit2 u нажимал TButton1 и эти данные передавались на станицу... Что то типа автологина...
    Интересен вариант когда кнопка на странице выполнена кнопкой непосредственно(Button) и случай когда она реализована через картинку(типа того:
    Code:
    <input type="image" class="button_login"name="submit"src="http://"width="96"height="17"/>
    Метод передачи данных пост:
    Code:
    <form method="POST"action="/login/"name="login">
    А это непосредственно поля логин и пасс:
    Code:
    <input name="login" type="text" id="login"class="edit_box" value="">
    <input name="pass"id="pass" type="password" class="edit_box"value="пароль">
    Заранее спасибо!
     
Thread Status:
Not open for further replies.