Einzelnen Beitrag anzeigen

jod0kus

Registriert seit: 29. Jul 2006
2 Beiträge
 
#1

Mehrere HTML-Dokumente nacheinander mit TWebBrowser drucken

  Alt 9. Nov 2006, 23:16
Hallo Zusammen,

bis jetzt konnte ich mir immer alle meine Fragen selber beantworten indem ich in Delphi-Foren gesucht habe. Nur leider finde ich diesmal auf mein Problem keine Antwort.

Nun zu meinen Problem:
Ich habe auf ein Netzlaufwerk viele viele HTML-Files liegen. Diese Datenmenge filtere ich und das Ergebnis schreibe ich in ein Array und zeige es in einen ListView an (das können 1 oder n Files sein).
Nun möchte ich aber das, wenn man auf einen Button klickt, alle gefundenen HTML-Dateien hintereinander über den Standarddrucker ausgedruckt werden.

Eine einzelne Datei kann ich ohne Probleme ausdrucken und zwar bin ich wie folgt vorgegangen:

WebBrowser1.Navigate(Daten[ArrayIndex]); //z.B. 'H:\tmp\test_123.htm'
Delphi-Quellcode:
//***************************************************************************//
// Druckt die aufgerufene Webseite aus. Es wird kein Druck-Dialog angezeigt
//***************************************************************************//
procedure TfrmMain.WebBrowser1NavigateComplete2(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
  WebBrowser1.ExecWB(OLECMDID_PRINT, OLECMDEXECOPT_DONTPROMPTUSER);
end;
Wenn ich jetzt mit einer Schleife mein Array durchlaufe und alle Seiten nacheinander laden will bekomme ich nur die letzte HTML-Seite ausgedruckt da nur diese vollständig geladen wird und so das NavigateComplete-Ereignis ausgelöst wird.

Wie bekomme ich es hin das erst nachdem die letzte Seite vollständig geladen wurde die nächste geladen wird bzw. wie schaffe ich es alle Seiten zu drucken.
(Ein Timer will ich nicht verwenden da ich ja nicht weiß wie lange eine Seite zum laden brauch)

Wahrscheinlich ist die Lösung ganz einfach und ich komme einfach nicht darauf.

Danke im Voraus und Gruß
jod0kus
  Mit Zitat antworten Zitat