Code: function TForm1.ByName(FieldName: string; Value: string): Boolean; var i, j: Integer; FormItem: Variant; begin Result := False; if WebBrowser.OleObject.Document.all.tags('FORM').Length = 0 then begin Exit; end; for I := 0 to WebBrowser.OleObject.Document.forms.Length - 1 do begin FormItem := WebBrowser.OleObject.Document.forms.Item(I); for j := 0 to FormItem.Length - 1 do begin try if FormItem.Item(j).Name = FieldName then begin if Value = 'Click' then FormItem.Item(j).Click else FormItem.Item(j).Value := Value; Result := True; end; except Exit; end; end; end; end; аналогично можеш сделать TForm1.ByValue и TForm1.ByScr Вызов ByName('login', 'Товой логин'); ByName('pass', 'Твой пароль'); ByName('submit', 'Click'); //Клик по кнопке { реализуй ByScr и вызывай ByScr('http://', 'Click') } ЗЫ. Юзайте поиск, я уже как минимум уже 2 раза отвечал на такие вопросы.
dos999, спасибо! Ну как начал ковыряться возникли вопросы... Когда действие происходит в мэим фрейме все прекрасно работает, но если поля находятся не в мэин фрейме то почему-то то, что нужно туда не втыкается... Этот случай сканирует всю страницу, или только мэин фрейм? Или мб я чего туплю... Вот из кода фрейма: Code: <input onkeyup=\"_feProc(0)\" size=2 name=\"gte\" type=\"text\" value=\"0\" class=\"field\"> Или мб тут что нить особенное.... Предыдущий код выполняется внутри джава скрипта: Code: <script language="JavaScript"> тут задаются поля ввода и кнопки </script> Вот что тут не так?....
В IE или Opera при нажатии клавиши Tab выделяется следующий элемент странички типа нажал выделилось поле ввода , еще раз, выделилась кнопка и т.д. Как реализовать тоже самое в компоненте WebBrowser, а то делаю браузер и хочу внести в него такую фуннкцию... ------------------------------------------------------------ все разобрался нужно просто щелкнуть на WebBrowser1 и Tab начинает работать,но тут же появился новый вопрос можно ли как нибудь активировать WebBrowser не нажимая на него ЛевКнопкуМыши??? пробовал вот так WebBrowser1.setfocus; но ничего не получилось ,Tab все равно не работает...
как сэмулировать нажатие на клавишу Enter? вот например нажимаем на Tab keybd_event(VK_TAB, 0, 0, 0); а какой код для enter?
Code: procedure TForm1.Button2Click(Sender: TObject); begin Timer1.Enabled:=true; Timer1.Interval :=60; end; procedure TForm1.Timer1Timer(Sender: TObject); begin ProgressBar1.Position := ProgressBar1.Position + 1; end; 1)подскажите как сделать, чтобы по оканчанию загрузки TProgressBar выполнялась команда MessageBox ? 2)Есть Label, Button. Как сделать, чтобы при нажатии на батон, происходила проверка текста в лейбле? ну если в лейбле например введен определённый текст, который я ввёл в коде проги, то при нажатии на батон, вылетит сообщение "Верно", а если текст иной, то вылетит "Не верно" ?
VK_RETURN >>1)подскажите как сделать, чтобы по оканчанию загрузки TProgressBar выполнялась команда MessageBox ? это не команда вот код в таймере: PHP: ProgressBar1.StepIt; if (ProgressBar1.Position = ProgressBar1.Max) then ShowMessage('a'); >>2)Есть Label, Button. Как сделать, чтобы при нажатии на батон, происходила проверка текста в лейбле? ну если в лейбле например введен определённый текст, который я ввёл в коде проги, то при нажатии на батон, вылетит сообщение "Верно", а если текст иной, то вылетит "Не верно" ? PHP: if (Label1.Caption = 'abc') then ShowMessage('true') else ShowMessage('false');
PHP: ProgressBar1.StepIt; if (ProgressBar1.Position = ProgressBar1.Max) then ShowMessage('a'); если добавляю такой код в таймер, то ProgressBar начинает бегать с другой скоростью + доходит до конца и начинается всё с начала + сообщение 'a' вылетает постояно, не возможно закрыть =** как это исправить? нужно чтобы просто ProgressBar дошёл до конца и вылетело сообщение и всё
Почему не работает код из этой статьи: http://www.xakep.ru/magazine/xA/050/052/2.asp У меня не работает вот эта строка Code: lbAddConnect.Items.Add(AThread.Connection.Binding.PeerIP); // определение IP подсоединившегося
всем привет! есть парочка вопросов! 1. возможно ли в программе сделать горячии клавиши типа cntrl+a+s+e или cntrl+win+f+i 2. если создавать форму на winapi то как или чем создать ресурс с формой и компонентами на ней? 3. есть ли api для работы с процессами(чтоб узнать инфу о процессе)? 4. вопрос неоднакратно поднимался но ответов ненаходил, как безепасно отключить НУЖНОЕ USB устройство в частности флешку! желательно без использования реестра! всем ответившим заранее спасибо!
1) Насчёт горячих клавиш. У пунктов меню MainMenu есть такое свойство: ShortCut. Вот там и выбираешь горячие клавиши. Можно ещё в св-ве Caption перед нужной буквой поставить знак &. Тогда при нажатии Alt+той буквы(которая идёт после &) будет вызываться эта команда. Вот сделал исходник: http://webfile.ru/3739845
Тихий спасибо за пример но не много не то =) а если программа свернута и ее окно не активно то такие клавиши не сработают! поэтому и нужно использовать глобальные клавиши вот к примеру клавиши Code: const //---------------------------------------------------------------------------------------- MOD_ALT = 1; MOD_CONTROL = 2; MOD_SHIFT = 4; MOD_WIN = 8; //---------------------------------------------------------------------------------------- регистрируем так Code: id:=GlobalAddAtom('HotKey'); RegisterHotKey(hWnd, id, MOD_ALT+MOD_CONTROL,VK_A); мы зарегистрировали глобальную CNTRL+ALT+A а если написать так Code: id:=GlobalAddAtom('HotKey'); RegisterHotKey(hWnd, id, MOD_ALT+MOD_CONTROL,VK_A+VK_B); VK_A=65; VK_B=66; VK_A+VK_B=131 код 131 соответствует клавише VK_F20 = 131 (ток на клаве что то нет ее =) ) тем самым получается что просто так не получится зарегистрирова горячуюю клавишу вида CNTRL+ALT+A+R+(еще n'е количество букв), вопрос в том реально ли это сделать без "изврата"
Доброго времени суток всем. Помогите разобраться, люди добрые=) Вобщем есть форма, на ней кнопка одна и лейбл один. Мне нужно, чтоб при нажатии на кнопку выводилось в лейбл первое значение массива, при повторном нажатии второе значение и так далее. Массив заранее уже заполнен. У меня постоянно выводится только последнее значение, при этом использую for. Заранее благодарю за помощь.
in button click: ..... i:=i+1; lblLabel.caption:=IntToStr(mas); ..... where i:integer; and mas your array =)