Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запись в поля WebBrowser при помоши DOM 
:(
    Опции темы
max-@
Дата 6.11.2007, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 131
Регистрация: 8.12.2004
Где: Тольятти

Репутация: нет
Всего: нет



Суть такова

Код

type
  TForm1 = class(TForm)

.....

  public
    item_value:Variant;

.....

if (wParam=WM_LBUTTONDOWN) then
       begin
           if Boolean(GetCursorPos(p)) then
           begin
             p.X := p.X-4;
             p.Y := p.Y-67;
             if TWebBrowser(Form1.PageControl1.ActivePage.Controls[0]).LocationURL<>'' then
             begin
               item := TWebBrowser(Form1.PageControl1.ActivePage.Controls[0]).oleobject.document.elementfrompoint(p.X, p.Y);
               if (LowerCase(item.tagname)='input')
                  and(LowerCase(item.type)<>'radio')
                  and(LowerCase(item.type)<>'button')
                  and(LowerCase(item.type)<>'submit')
                  and(LowerCase(item.type)<>'checkbox')
                  and(LowerCase(item.type)<>'file')
                  and(LowerCase(item.type)<>'hidden')
                  and(LowerCase(item.type)<>'image')
                  and(LowerCase(item.type)<>'reset')
                  and(LowerCase(item.type)<>'button')
                  or(LowerCase(item.tagname)='textarea')
               then
               begin
                 Form1.item_value:=item;
                 //Form1.item_value:='123'; // Писать в выбранное поле '123', здесь это работает
               end;
             end;
           end;
          Result := CallNextHookEx(hookid, nCode, wParam, lParam);
       end;

....


procedure TForm1.Edit2KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if item_value<>0 then
    item_value.value := chr(key); // Запись в выбранное ранее поле значения из эдита, здесь это не работает
end;


Вопрос в следующем почему во втором случае не получается записывать данные в поле WebBrowser?

Добавлено через 6 минут и 55 секунд
Ошибка:

Invalid variant operation.
PM MAIL WWW   Вверх
max-@
Дата 7.11.2007, 02:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 131
Регистрация: 8.12.2004
Где: Тольятти

Репутация: нет
Всего: нет



прикольно)

нашел решение

Код

procedure TForm1.Edit2KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  Form1.item_value.innerText := Form1.item_value.value+chr(Key);
end;


но теперь вопрос в другом как удалить символ если нажато backspace или delete?

конешно удалить не проблема скажете вы (можно в делфе обрудать строку)...но как удалить в том месте где стоит каретка?)
PM MAIL WWW   Вверх
max-@
Дата 7.11.2007, 03:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 131
Регистрация: 8.12.2004
Где: Тольятти

Репутация: нет
Всего: нет



вопрос решен smile 

решил через промежуточный edit или textarea
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0446 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.