Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];

Вниз

Twebbrowser ?   Найти похожие ветки 

 
Sego   (2002-10-15 14:46) [0]

Уважаемые мастера!
Есть простенькая процедурка.
procedure TForm1.Button1Click(Sender: TObject);
begin
webbrowser1.Navigate("\\192.168.0.1\c1\koг\log021015.txt");
end;

Интересует следующие вопросы...
1)Как сделать, чтоб после загрузки файла, курсор становился в конце документа и после вторичной загрузки или Refresh тоже.?
2) Cut и Copy работали в Twebbrowser ?
В интернете нашел простую рекомендацию по 2-му вопросу :
"нужно добавить следующие строки в начало unit:
initialization
OleInitialize(nil);
finalization
OleUninitialize;", но к сожаленью это не дало результатов, может я не правильно применял, куда эти строки писать и почему ругается на OleInitialize и OleUninitialize, что я неправильно делаю?


 
gek   (2002-10-15 14:51) [1]

> 1)Как сделать, чтоб после загрузки файла, курсор становился в конце документа и после вторичной загрузки или Refresh тоже.?

Я что-то не видел курсоров, кроме как в полях ввода данных
Может скроллинг страницы?


 
Sego   (2002-10-15 14:53) [2]

2 gek
Да скролинг, думал о двойном выводе в мемо или webbrowser, вот и ошибся.
Конечно скролинг.


 
smok_er   (2002-10-15 14:59) [3]

2) эти строки нужно добавить в конец юнита


 
gek   (2002-10-15 14:59) [4]

можно на jscript - window.scroll


 
smok_er   (2002-10-15 15:01) [5]

В тему спрошу заодно и я - как сделать так, чтобы работали Tab и Enter?


 
Sego   (2002-10-15 15:02) [6]

2 smok_er
не знаю ругается по-прежнему, кинь сюда плз. кусок кода, как у тебя и не ругается?


 
Sego   (2002-10-15 15:04) [7]

2 gek © (15.10.02 14:59)
и куда этот jscript пихать?


 
gek   (2002-10-15 15:09) [8]

uses
ActiveX

........................
initialization
OleInitialize(nil);

finalization
OleUninitialize;

end.


> и куда этот jscript пихать?
на окончание загрузки страницы

и enter и tab работают нормально


 
Sego   (2002-10-15 23:03) [9]

2 gek © (15.10.02 15:09)
Спасибо !
uses
ActiveX... протормозил, впрочем это как обычно(на меня похоже).
А по поводу скриптов можно попонятней, а то я совсем ничего об этом не знаю.
Заранее благодарен.



 
int64   (2002-10-16 00:47) [10]

Правильно, документ можно позиционировать window.scroll. Только совсем необязательно оформлять это в скрипт и пихать в текст документа. Можно то же вызвать и из программы. Например:

procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
WebBrowser1.OleObject.Document.parentWindow.scroll(0,10000);
end;


 
smok_er   (2002-10-16 01:43) [11]

2gek
>>и enter и tab работают нормально
Sorry. Tab вроде как работает, а вот Enter - не хочет. Вернее он работает не совсем так, как надо.
Пример:
Страница авторизации. Воодим логин и пароль, и находясь в поле ввода пароля нажимаем Enter. Происходит автоматическое нажатие кнопки, на которую нужно нажать для авторизации.
А у меня она почему-то не нажимается. Пользуюсь EmbeddedWB. В нем есть процедура EnableMessageHandler. Но не работает, потому что все вызовы заключены в блоки проверки версии компилятора. Т.е. работает только под D4. :(


 
int64   (2002-10-16 02:35) [12]


> не работает, потому что все вызовы заключены в блоки проверки
> версии компилятора

Ну, так убери ограничения - посмотри, что будет. Должно работать.


 
smok_er   (2002-10-16 02:54) [13]

Неа, не работает. Во-превых начал ругаться, во-вторых, после небольшой правки кода - не работает


 
int64   (2002-10-16 03:37) [14]

В IEMessageHandler не предусмотрен случай для <Enter> - сам вставь.

И почему б тебе не использовать анологичный код из факов с IOleInPlaceActiveObject? Разницы с EmbeddedWB почти никакой, но никто не жаловался.


 
smok_er   (2002-10-16 03:44) [15]

Весь интернет перерыл - не смог ничего найти. Кстати, этих факов тоже нет. Можете дать ссылку?


 
int64   (2002-10-16 04:08) [16]

http://members.shaw.ca/iedelphi/webbrowser.htm

Хотя встречал тоже-самое и на русском.
В примере, кстати, тоже нет для Enter.


 
sego   (2002-10-17 00:01) [17]

2 int64 © (16.10.02 00:47)
спасибо!
я только попробывал
WebBrowser1.OleObject.Document.parentWindow.scrollby(0,10000);
а не просто scroll, не знаю играет ли это роль...
Вопрос в догонку, а можно определить количество загруженых строк или хотя бы позицию, последней?
Заранее благодарен.


 
smok_er   (2002-10-17 01:54) [18]

>>В примере, кстати, тоже нет для Enter.

Я пользуюсь EmbeddedWB ( http://www.euromind.com/iedelphi)
В нем есть функция EnableMessageHandler. Именно про нее я и говорил.
В общем, спасибо за ответ, но вопрос все таки остается открытым.
Кстати, вопрос на засыпку... Есть ли способ перехватить диалог сохранения файла на диск? Т.е. замысел следующий - узнать урл, не дать появиться окошку, подставить собственный (или другой, установленный на компьютере) download manager.
Вот кусок кода:


function TfrMain.OnQueryService(const rsid, iid: TGUID; out Obj: IUnknown): HRESULT;
var
iedlMain: IDownloadManager;
begin
if IsEqualGuid(rsid, IID_IDownloadManager) then
begin
obj:= iedlMain as IDownloadManager;
Result:= S_OK;
end
else
begin
Result := E_NOINTERFACE;
end;
end;


Как можно сюда подставить свой download manager?

Заранее огромнейшее спасибо за ответ!


 
int64   (2002-10-17 09:04) [19]

smok_er (17.10.02 01:54)

> вопрос все таки остается открытым

У меня работает нормально. Может быть потому, что IE6. Поэтому сравнить не счем. А может весь трабл в том, что у тебя поля документа не в одной форме лежат?

По поводу download manager. Что эти ссылки не помогают?
http://www.euromind.com/iedelphi/iedownload.htm
http://www.euromind.com/iedelphi/downloadmanager.htm


sego (17.10.02 00:01)
Если строка - шаг скроллбара, то не знаю. А на счёт пикселов:

WB.OleObject.Document.Body.scrollHeight - высота (всегда намного больше, чем нижняя позиция документа)

WB.OleObject.Document.Body.scrollTop - текущая позиция.


 
smok_er   (2002-10-17 19:54) [20]

>>У меня работает нормально. Может быть потому, что IE6. Поэтому сравнить не счем.
У меня тоже. На 5-ом тоже не работает.
>>А может весь трабл в том, что у тебя поля документа не в одной форме лежат?
Я же не ламер какой-то. Enter 100% не работает.



 
sego   (2002-10-17 21:50) [21]

2 int64 ©


 
sego   (2002-10-17 21:53) [22]

2 int64 © (17.10.02 09:04)
ну , а определить последнее значение в документе можно, есть какой то признак "конца", ведь пикселы, как я понимаю относятся
к видимому в окне, ведь нельзя определить по количеству пикселов, место документа, или можно? Подскажи плз.


 
smok_er   (2002-10-18 02:04) [23]

>>По поводу download manager. Что эти ссылки не помогают?
>> http://www.euromind.com/iedelphi/iedownload.htm
>> http://www.euromind.com/iedelphi/downloadmanager.htm

Совсем забыл ответить. Дело в том, что там IE 5.5 и выше, а мне нужно для 5-го...



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.10.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.62 MB
Время: 0.051 c
1-92562
zam2000
2002-10-15 14:32
2002.10.28
как отлавливать сообщения менеджера печати?


1-92500
brestmarket
2002-10-18 14:27
2002.10.28
Как получить путь к приложению по его расширению?


14-92702
Wonder
2002-10-08 12:33
2002.10.28
Нервным, с больным сердцем и детям не смотреть!!!


7-92759
ZiX
2002-08-22 16:57
2002.10.28
Как узнать серийный номер СД диска?


3-92387
Эрик
2002-10-08 12:31
2002.10.28
IBDataSet





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский