Információk (html) megjelenítése a webbrowserben az adatbázis-hozzáférésről

Hogyan lehet megjeleníteni az információkat (HTML) a WebBrowser-ben az Access DB-ből

Pontosabban, a kérdés:
1) hozzáférés az Access DB (adatbázis fórum)
2) a WebBrowser és a CGI-BIN szkriptek (IMHO) használata - ha nem akarsz létrehozni egy fájlt (NETWORK fórum)

Lásd a WebBrowser.Document felület módszereit
Például - írj

Nos, ki állítja meg? Olvassa el az információkat a blob mezőből (a fájl képe valószínűleg még * .htm), és állítsa be a WebBrowser-t erre a képre.

Ahhoz, hogy hozzáférhessen a WebBrowser.Documenthoz (IHTMLDocumnet (2)), inicializálja a WebBrowser programot a következő módon (a vb-dolphi szempontjából nem érdemes):

WebBrowser.Navigate ("about: blank")
kerék (nem WebBrowser.ReadyState <> READYSTATE_COMPLETE)
aludni 100
doevents "a D - Application.ProcessMessage esetében
irányít

Az előző válasz a kerékre természetesen semmit. )))

Itt írja:
Nos, ki állítja meg? Olvassa el az információkat a blob mezőből (a fájl képe valószínűleg még * .htm), és állítsa be a WebBrowser-t erre a képre.

Szóval nagyon szeretnék ezt, de nem tudom, hogyan kell csinálni
Hogyan irányíthatom a szálat, hogy olvassam el a BLOB mezőjét, az én
WEBBrouser.

Itt van az eljárásaim, amely elolvassa a mezőt, és információt ad a fájlnak. Ezzel a fájllal hozzárendelhetem a Navigate tulajdonságot. Tehát nincs semmi problémám. De szükségem van a fájl nélkül, de azonnal. De HOGYAN.

Ezt egyszerűen csak: WriteFromFieldToFile (mező az adatbázisban);

Kérlek, kérlek, további részletekért. Hogyan tehetem ezt.
Ha nem nehéz, adja meg a forráskódot, mint az enyém.

Ez a megoldás onnan

Kérdés: Hogyan tölthetünk le streaming adatokat a WebBrowserben anélkül, hogy megnyitnánk a fájlt?

Válasz: Itt egy példa kód:

függvény TForm1.LoadFromStream (const AStream: TStream): HRESULT;
kezdődik
AStream.seek (0, 0);
Eredmény: = (WebBrowser1.Document as
IPersistStreamInit) .Load (TStreamAdapter.Create (AStream));
végén;

Hála Istennek, vannak zdwigi, de! mint mindig, valami baj van. Ezúttal ez az. Letöltöttem az eljárást, amelyet adtál nekem, az én patakom. WEBBrouser elfogadta. De a probléma az, hogy WEBbr. azokat TEXTként jeleníti meg. de nem grafika.
Nem annyira más. ) Hogyan tudom ezeket megfelelően megjeleníteni?
Itt van az én eljárásom, amely ezt teszi


eljárás TForm1.KeyStoreClick (Sender: TObject);
var
Áramlat: TStream;
kezdődik
a Query1 nem
kezdődik
Patak: = (FieldByName ( "DataBlob")-adatbázis TCustomADODataSet.) .CreateBlobStream (FieldByName ( "DataBlob"), bmRead);
WebBrowser1.Navigate ("about: Blank");
LoadFromStream (adatfolyam);
végén;

Ezután a böngésző szövegként jeleníti meg az információkat. Hogy miért.
By the way, köszönöm a linket.
Az ünnep.

Vannak műszakok. De mint mindig, mindig van probléma. Ezúttal ez. A böngészőm, a patak lenyeli. De az információt HTML szövegként jeleníti meg. És nem a szokásos módon, az ütemtervben, ahogy kellene. Hogy miért.

Itt van az én eljárásom, amely elolvassa a BLOB mezőt.

eljárás TForm1.KeyStoreClick (Sender: TObject);
var
Áramlat: TStream;
kezdődik
a Query1 nem
kezdődik
Patak: = (FieldByName ( "DataBlob")-adatbázis TCustomADODataSet.) .CreateBlobStream (FieldByName ( "DataBlob"), bmRead);
WebBrowser1.Navigate ("about: Blank");
LoadFromStream (adatfolyam);
végén;
Stream.Free;
végén;

Utána a WebBrowser - TEXTként jeleníti meg. Mi az a baj ez alkalommal.
By the way, köszönöm a linket.
Az ünnep.

Próbálja módosítani az adott LoadFromStream-et, mint ez:

WebBrowser1.Document as
IPersistStreamInit) .InitNew ();

(WebBrowser1.Document as
IPersistStreamInit) .Load.

(legalábbis az MSDN-ben javasolt)

Ha ez nem működik, fordítsa az adatfolyamot egy karakterláncba és használja
a write vagy writeeln módszer. WebBrowser1.Document

Kapcsolódó cikkek