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

Вниз

Как вывести информацию (HTML) в WebBrowser из БД Access   Найти похожие ветки 

 
dmitriyk   (2002-01-04 04:20) [0]

Подскажите пожалуйста !
Как из БД Access, вынять информацию в виде HTML, и запихнуть ее
в WebBrowser для просмотра, не создавая при этом файл на диске.


 
Cobalt_   (2002-01-04 12:23) [1]

Поконкретнее вопрос:
1) доступ к БД Access (форум БД)
2) работа с WebBrowser и CGI-BIN скриптами(ИМХО) - если не хочешь создавать файл (форум СЕТИ)


 
kig   (2002-01-04 14:06) [2]

Посмотрите методы интерфейса WebBrowser.Document
Например - writeln


 
dmitriyk   (2002-01-05 02:23) [3]

Для Cobalt_.
У меня в БД, есть поле, типа OleObject. В это поле, я впихнул файл (*.mht), как BLOB. Затем этот файл, с диска я удалил, специально, в целях эксперимента. Теперь, мне надо, прочитать из БД, из этого поля, эту информацию обратно. Но не создавая файл на диске, (это я могу сделать), мне надо впихнуть ее в WebBrouser, который в моей проге, для отображения в нем этой, прочитанной из БД, информации.
Смысл в том, чтобы НЕ СОЗДАВАТЬ файл на винте, для его отображения через WEBBrouser, а сразу впихнуть его WEBBr... ! Потому, что в БД такой информации много, и для каждой создавать файл, это будет, неверно, всетаки неправильно. Ведь, можно же както и по другому.


 
kig   (2002-01-06 09:40) [4]

Ну и кто Вам мешает? Считываете информацию из blob поля (образ файла - наверно все-таки *.htm) и натравливаете на этот образ WebBrowser...

Только для того, что бы иметь доступ к WebBrowser.Document (IHTMLDocumnet(2)), проинициализуруйте WebBrowser примерно следующим образом (в терминах vb - дельфи не стоит):

WebBrowser.Navigate("about:blank")
wheel (not WebBrowser.ReadyState <> READYSTATE_COMPLETE)
sleep 100
doevents " в случае Д - Application.ProcessMessage
wend


 
kig   (2002-01-06 09:43) [5]

Сорри)))

В предыдущем ответе в wheel not конечно ни к чему...)))


 
dmitriyk   (2002-01-06 16:35) [6]

Вот вы пишете:
Ну и кто Вам мешает? Считываете информацию из blob поля (образ файла - наверно все-таки *.htm) и натравливаете на этот образ WebBrowser...

Так яж именно это и хочу, но я не знаю как это сделать
Как направить тот поток, которым я считываю свое BLOB поле, в мой
WEBBrouser !.

Вот моя процедурка, которая считывает поле и пишет информацию в файл. Этот файл затем, я могу присвоить свойству Navigate. Так у меня нет проблем. Но мне надо без файла, а сразу. Но КАК ?


procedure TForm1.WriteFromFieldToFile(Field : TField);
var
F: TFileStream;
Stream: TStream;
begin
with Query1 do
begin
Stream := (Field.DataSet as TCustomADODataSet).CreateBlobStream(Field, bmRead);
F := TFilestream.Create("E:\TEMP.hmt",fmCreate);
F.CopyFrom(Stream,Stream.Size);
F.Free;
Stream.Free;
end;
end;


Вызывается она просто: WriteFromFieldToFile(Поле в БД);

Подскажите пожалуйста по подробнее. Как мне это сделать.
Если не трудно, дайте исходный код, вроде моего.


 
kig   (2002-01-06 17:27) [7]

Сходите сюда ))

http://www.sources.ru/delphi/delphi_twebbrowser_faq.shtml

Это решение оттуда

Вопрос: Как загрузить потоковые(stream) данные в WebBrowser не прибегая к открытию файла?

Ответ: Вот пример кода:

function TForm1.LoadFromStream(const AStream: TStream): HRESULT;
begin
AStream.seek(0, 0);
Result := (WebBrowser1.Document as
IPersistStreamInit).Load(TStreamAdapter.Create(AStream));
end;

Автор: Per Larsen



 
dmitriyk   (2002-01-06 22:08) [8]

Слава богу, есть здвиги, но! как всегда, чтото да не так. На этот раз вот что. Загрузил я той процедуркой, что вы мне дали, мой поток. WEBBrouser его принял. Но, проблема в том, что WEBbr.. отображает их как TEXT, а не как графику.
Не одно так другое. :) Как мне теперь их нормально отобразить ?.
Вот моя процедура, которая это делает


procedure TForm1.KeyStoreClick(Sender: TObject);
var
Stream: TStream;
begin
with Query1 do
begin
Stream := (FieldByName("DataBlob").DataSet as TCustomADODataSet).CreateBlobStream(FieldByName("DataBlob"), bmRead);
WebBrowser1.Navigate("about:Blank");
LoadFromStream(Stream);
end;

Stream.Free;
end;


После нее, мой броузер отображает информацию как текстову. Почему?.
Кстати, спасибо за ссылку.
С праздничком !


 
dmitriyk   (2002-01-07 02:37) [9]

Сдвиги есть. Но как всегда, вечно какая то проблема остается. На этот раз такая. Мой Броузер, поток глотает. Но выводит информацию как HTML текст. А не как обычно,в графике, как надо. Почему?.

Вот моя процедура, которая читает BLOB поле.

procedure TForm1.KeyStoreClick(Sender: TObject);
var
Stream: TStream;
begin
with Query1 do
begin
Stream := (FieldByName("DataBlob").DataSet as TCustomADODataSet).CreateBlobStream(FieldByName("DataBlob"), bmRead);
WebBrowser1.Navigate("about:Blank");
LoadFromStream(Stream);
end;
Stream.Free;
end;


После нее, WebBrowser - отображает ее как ТЕКСТ. Что на этот раз не так.?
К стати, за ссылку спасибо.
С праздничком.


 
kig   (2002-01-08 17:39) [10]

Попробуйте модифицировать приведенную LoadFromStream так:

Выполнить

WebBrowser1.Document as
IPersistStreamInit).InitNew();

перед

(WebBrowser1.Document as
IPersistStreamInit).Load...

(по крайней мере в MSDN предлагается именно так)

Если это не поможет - превратите поток в строку и воспользуйтесь
методом write или writeln WebBrowser1.Document



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

Форум: "Базы";
Текущий архив: 2002.02.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.004 c
1-8821
Anton Shestakov
2002-01-20 00:39
2002.02.04
DateTimePicker


1-8903
MystiX
2002-01-15 17:55
2002.02.04
Help!!!


1-8829
GleB
2002-01-20 11:12
2002.02.04
Размер исполняемого файла


3-8752
VA
2001-12-31 01:52
2002.02.04
ADO


1-8895
Socol
2002-01-16 15:18
2002.02.04
Скрытые файлы.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский