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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как заполнить поле file в WebBrowser 
:(
    Опции темы
COOLHack
Дата 22.5.2009, 23:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Загружаю сайт в ВебБраузер, потом нужно заполнить поле, вот его хтмл код

Код

 <input type="file" size="100" id="ddd" name="sss"  />


Как это сделать? 
PM MAIL   Вверх
COOLHack
Дата 23.5.2009, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



нашол такой код

Код


 function FillForm(WebBrowser: TWebBrowser; FieldName: string; Value: string): Boolean;
  var
    i, j: Integer;
    FormItem: Variant;
  begin
    Result := False;
    //no form on document  
  if WebBrowser.OleObject.Document.all.tags('FORM').Length = 0 then
    begin
      Exit;
    end;
    //count forms on document  
  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
          //when the fieldname is found, try to fill out  
        if FormItem.Item(j).Name = FieldName then
          begin
            FormItem.Item(j).Value := Value;
            Result := True;
          end;
        except
          Exit;
        end;
      end;
    end;
  end;


  //When the document is complete try to fill out the field homepage with the url  
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
    const pDisp: IDispatch; var URL: OleVariant);
  begin
    if FillForm(WebBrowser1, 'homepage', 'http://www.swissdelphicenter.ch') = False then
      ShowMessage('Error. Field not available or no Form found.');
 end;


  //For example you can load the page /en/addtip.php to the TWebBrowser  
//When the document is Complete the form where you can put your homepage  
//address is filled out  
procedure TForm1.Button1Click(Sender: TObject);
  begin
    Webbrowser1.Navigate('http://www.swissdelphicenter.ch/en/addtip.php');
    // Show the Titel of the currently active Webpage in the titlebar  
  // Den Titel der aktuellen Webseite in der Titeleiste anzeigen  
  Caption := Webbrowser1.OleObject.Document.Title;
  end;



Он хорошо работает на полях типа text , а вот на file не работает.
Как в поля типа file текст вписать? (в WebBrowser)
PM MAIL   Вверх
Keeper89
Дата 23.5.2009, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

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



Вот то что нужно: http://www.delphipages.com/tips/thread.cfm?ID=407
Но боюсь разочаровать - начиная с IE8, в целях безопасности поле загрузки файла доступно только для чтения (у меня, например, этот код не работает).


--------------------
PM MAIL WWW   Вверх
COOLHack
Дата 23.5.2009, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



А возможно отключить это ограничение? Может ключ в реестре поменять, или ещё както?

Это сообщение отредактировал(а) COOLHack - 23.5.2009, 15:19
PM MAIL   Вверх
COOLHack
Дата 24.5.2009, 01:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Делаю так:


Загружаю сайт
Смотрю его хтмл код
Меняю тип file на text 
Загружаю отредактированный хтмл код в браузер
и потом уже кодом который я скопировал выше вписываю в поле что нужно. для моей цели подошло.

По другому решить проблему не смогу
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

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

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

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

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

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


 




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


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

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