Як вивести інформацію (html) в webbrowser з бд access

Як вивести інформацію (HTML) в WebBrowser з БД Access

Конкретніше питання:
1) доступ до БД Access (форум БД)
2) робота з WebBrowser і CGI-BIN скриптами (ІМХО) - якщо не хочеш створювати файл (форум МЕРЕЖІ)

Подивіться методи інтерфейсу WebBrowser.Document
Наприклад - writeln

Ну і хто Вам заважає? Зчитуєте інформацію з 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

У попередній відповіді в wheel not звичайно ні до чого. )))

Ось ви пишете:
Ну і хто Вам заважає? Зчитуєте інформацію з blob поля (образ файлу - напевно все-таки * .htm) і нацьковуєте на цей образ WebBrowser.

Так яж саме це і хочу, але я не знаю як це зробити
Як направити той потік, яким я зчитую своє BLOB поле, на мою
WEBBrouser.

Ось моя процидурку, яка зчитує поле і пише інформацію в файл. Цей файл потім, я можу привласнити властивості Navigate. Так у мене немає проблем. Але мені треба без файлу, а відразу. Але як.

Викликається вона просто: WriteFromFieldToFile (Поле в БД);

Підкажіть будь ласка по докладніше. Як мені це зробити.

Якщо не важко, дайте вихідний код, на зразок мого.

Це рішення звідти

Питання: Як мені долучити потокові (stream) дані в WebBrowser не вдаючись до відкриття файлу?

Відповідь: Ось приклад коду:

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

Слава богу, є здвиги, але! як завжди, щось не теє. На цей раз ось що. Завантажив я тієї процидурку, що ви мені дали, мій потік. 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;

Після неї, мій броузер відображає інформацію як текстові. Чому.
До речі, спасибі за посилання.
Зі святом.

Зрушення є. Але як завжди, вічно якась проблема залишається. На цей раз така. Мій Броузер, потік ковтає. Але виводить інформацію як 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 - відображає її як ТЕКСТ. Що на цей раз не так.
До речі, за посилання дякую.
Зі святом.

Спробуйте модифікувати приведену LoadFromStream так:

WebBrowser1.Document as
IPersistStreamInit) .InitNew ();

(WebBrowser1.Document as
IPersistStreamInit) .Load.

(По крайней мере в MSDN пропонується саме так)

Якщо це не допоможе - перетворите потік в рядок і скористайтеся
методом write або writeln WebBrowser1.Document

Схожі статті