Нужно занести данные на web страницу через TWebBrowser выдает ошибку: Подскажите что не так. И поделитесь ссылкой на подробную статью о работе 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;
работа тут идет в асинхронном режиме и по этому WebBrowser1.Navigate('http://id.rambler.ru/sсriрt/newuser.cgi'); - заставляет грузить страницу for f:=0 to WebBrowser1.OleObject.Document.forms.Length-1 do begin - пытается обратиться к еще незагруженным данным, так что ожидай события OnDocumentComplete
Кстати не обязательно использовать отдельный класс Clipboard Т.е.у некоторых компонентов есть свои методы. Например: Code: Edit1.CopyToClipboard //копировать в буфер Edit1.CutToClipboard //вырезать
зафикач код 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'; в обработчик события. (события - там где свойства компонента, тока на другйо вкладке)
Вообщем надо мне просто один пакет послать... (который в мемо)(пакет/пакеты могут быть к разным хостам) Как это сделать? Там же надо с типом "sockaddr_in" что-то мудрить! Но я знаю как с ним мудрить если к одному хосту все это идет, а если к нескольким?(как в моем случае)
Я и память под PChar выделял и все делал как мне сказали, но не получается! Ну в чем тут трабла? вот string в PChar перевел AboutPC:=Pchar('Любая String строка'); а делфи ругает ftpfilename:='/test/Info_'+AboutPC+'.txt'; "Incompatible types: 'string' and 'PAnsiChar' "
Помогите ieframe.dll Хотел сделать фейк , Захожу в компонеты - Microsoft internet controls . Выдоёт ошибку файл не найден 'C:\windows\system23\ieframe.dll\1' Что делать?
Куда заходишь? Где хотел сделать фейк? что, как и при каких обстоятельствах не находит... В этой теме задаются вопросы по синтаксису яп. И вообще если задаем вопросы, старайтесь более развернуто спрашивать.
Вообще не советую ставить такую обработку(DeleteSelected) на такое событие, при случайном нажатии, удалится то, чего удалять и не нужно, по идее как и принято, будет удобней ставить на событие двойного клика мышью... Code: procedure TForm1.list1DblClick(Sender: TObject); var list:TListBox; begin list:=TListBox.CreateParented(Form1.Handle); list.DeleteSelected; IMHO вот так.
ну например делаешь обработчик события кликания на лист бокс вот таким Code: edit1.text:=ListBox1.Items.Strings[ListBox1.itemindex] А вобще достаточно прочитать даже самый примитивный ман по ListBox =)
полагаю, что с помощью компонента mysqlclient например http://svdpro.info/page.php?id=18 - в общем об этом а здесь интересный примерчик как раз для дампа http://forum.vingrad.ru/forum/act-ST/f-88/t-260175.html
Добрового времени суток всем. По роду деятельности приходится сталкиваться с компанентом 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="пароль"> Заранее спасибо!