Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi CheckLISTBOX (https://www.delphipraxis.net/6310-checklistbox.html)

Christian Seehase 6. Jul 2003 20:00

Re: CheckLISTBOX
 
Moin Zero,

OnDocumentComplete ist in der Hilfe samt Beispiel eigentlich recht gut beschrieben.

Du könntest es dazu verwenden, ein Flag zu setzen.

Ich stelle mir das so vor:
In der jeweiligen Write-Routine wird ein Flag gesetzt, dass jetzt ein neues Dokument geladen werden soll.
Nachdem das Laden angestossen wurde, wird kommt eine While Schleife, bei der die Abbruchbedingung das zurückgesetzte Flag ist.
In der Schleife selber empfiehlt sich Application.ProcessMessages, damit das Programm nicht einfriert.

In OnDocumentComplete wird nun schliesslich das Flag zurückgetzt.
Dadurch wird die Write Schleife verlassen, und die Write Routine ist abgearbeitet.

Stanlay Hanks 6. Jul 2003 20:07

Re: CheckLISTBOX
 
Also. Im ObjektInspektor gibt es beim TWebBrowser ein Event, das heißt OnDeocumentComplete. Die Hilfe sagt dazu folgendes:

Zitat:

Zitat von OnlineHilfe
In der Ereignisbehandlungsroutine für OnDocumentComplete können Sie Aktionen durchführen, wenn ein Frame oder Dokument vollständig in die TWebBrowser
-Komponente geladen ist. Bei einem Dokument ohne Frames wird dieses Ereignis nur einmal ausgelöst, nachdem das Dokument vollständig geladen wurde. Bei einem Dokument mit mehreren Frames wird das Ereignis einmal pro Frame und dann noch einmal nach dem Laden des gesamten Dokuments ausgelöst.

Ich würde das so machen:

Delphi-Quellcode:
var cur : Integer;
begin
 Case cur of
 0 : begin
     IF CheckListbox1.Checked[cur]
     THEN
     Procedure1; //Prozedur 1 wird ausgeführt, wenn ein Haken davor steht
     Inc(cur); //Cur wird um 1 erhöht.
     end;
 1 : begin
     IF CheckListbox2.Checked[cur]
     THEN
     Procedure2
     Inc(cur)

... usw ...
Wenn du das jetzt ins OnDocumentComplete Ereignis des WebBrowsers schreibst, wird jedesmal, wenn die/oder eine andere Seite fertig geladen ist, die nächste Prozedur ausgefährt.

Zero1 6. Jul 2003 20:38

Re: CheckLISTBOX
 
werds mal testen! many thx!!

greez Zero1

Zero1 6. Jul 2003 20:51

Re: CheckLISTBOX
 
danke schon mal!
noch ne frage:
wie bau ich das dann in einen button rein? *g*


bidde um help :p

greez Zero1

Zero1 8. Jul 2003 12:10

Re: CheckLISTBOX
 
bidde um help! :(


zero1

Christian Seehase 8. Jul 2003 16:31

Re: CheckLISTBOX
 
Moin Zero,

hast Du Dir mal meine Variante angesehen?

Zero1 8. Jul 2003 18:20

Re: CheckLISTBOX
 
jo aber war bissl kompli ! deswegen nahm ich die andere ! :(


greez Zero1

Christian Seehase 8. Jul 2003 18:26

Re: CheckLISTBOX
 
Moin Zero,

dann noch einmal vielleicht etwas deutlicher:

Delphi-Quellcode:
// globale Variable
var
  fNewDocument : Boolean = false;

// in den Write Routinen
  Webbrowser1.Navigate(...);
  fNewDocument := true;
  while fNewDocument do begin
    Application.ProcessMessages
  end;

// in OnDocumentComplete
  fNewDocument := false;
Deine ChecklistBox Abfrage kannst Du so lassen, wie in Deinem Eingangsposting.

Zero1 8. Jul 2003 19:01

Re: CheckLISTBOX
 
alles is klar bis auf :
Delphi-Quellcode:
  Webbrowser1.Navigate(...);
  fNewDocument := true;
  while fNewDocument do begin
  Application.ProcessMessages
wie soll ich das in den btngo reinmachen? da sind ja die

Delphi-Quellcode:
procedure TaMain.btnGoClick(Sender: TObject);
begin
if aoption.cbox1.Checked[3]
 then write1.click;
if aoption.cbox1.Checked[4]
 then write2.click;
if aoption.cbox1.Checked[5]
 then write3.click;
if aoption.cbox1.Checked[6]
 then write4.click;
if aoption.cbox1.Checked[7]
 then write5.click;
if aoption.cbox1.Checked[8]
 then write7.click;
if aoption.cbox1.Checked[9]
 then write8.click;
end;
hum

greez zero1

Christian Seehase 8. Jul 2003 20:09

Re: CheckLISTBOX
 
Moin Zero,

Code:
[color=red][b]// in den Write Routinen[/b][/color]
  Webbrowser1.Navigate(...);
  fNewDocument := true;
  while fNewDocument do begin
    Application.ProcessMessages
  end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:24 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz