Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Schleife abbrechen... (https://www.delphipraxis.net/11803-schleife-abbrechen.html)

horst 14. Nov 2003 01:32


Schleife abbrechen...
 
guten morgen ;)
wer mag mir sagen wie ich diese schleife abbrechen kann?
Delphi-Quellcode:
  for i := 1 to StringGrid1.RowCount -1 do
//Gesamt
Delphi-Quellcode:
procedure TForm1.Button8Click(Sender: TObject);
var
  FileName, NewFile: OleVariant;
  i, j: Integer;
  s: string;
begin
  for i := 1 to StringGrid1.RowCount -1 do
  begin
    s := StringGrid1.Cells[8, i];
    with TRegistry.Create do
   try
      RootKey := HKEY_CURRENT_USER;
      if OpenKey('\Software\VB and VBA Program Settings\FRITZ!fax\Print', True) then
      begin
        WriteString('Microsoft Word - test.doc', s);
        end;
    finally
      CloseKey;
      Free;
      WordApplication1.Connect;
      FileName := 'C:\test.doc';
      WordApplication1.Documents.Open(FileName, EmptyParam, EmptyParam, EmptyParam,
        EmptyParam, EmptyParam, EmptyParam, EmptyParam,
        EmptyParam, EmptyParam);
      WordDocument1.Close;
      WordApplication1.PrintOut;
      sleep(2000);
      WordDocument1.Disconnect;
    end;
  end;
end;

Luckie 14. Nov 2003 02:37

Re: Schleife abbrechen...
 
break

horst 14. Nov 2003 05:52

Re: Schleife abbrechen...
 
yo
nur.....wenn das ding am laufen ist krieg ich nichts mehr geklickt (oder nach dem 20x mal vielleicht).

Duffy 14. Nov 2003 05:59

Re: Schleife abbrechen...
 
Hallo Horst.
schau mal nach "Application.ProcessMessages"
bye
Claus

horst 14. Nov 2003 06:11

Re: Schleife abbrechen...
 
hallo :-D
reagiert zwar nicht direkt, aber es klappt.

Burning_Chrome 14. Nov 2003 07:04

Re: Schleife abbrechen...
 
hi!

eine schleife mit break abzubrechen ist nur einen hauch weniger haarstraeubend als sie mit goto zu verlassen... es ist besser, sich solche sachen zu verkneifen und statt dessen andere konstruktionen zu verwenden. ich sprech hier aus eigener (bugsuchfrustrations-) erfahrung...

Best_Regards
Burning_Chrome

horst 14. Nov 2003 07:51

Re: Schleife abbrechen...
 
hallo...
Zitat:

und statt dessen andere konstruktionen zu verwenden.
und welche andere konstruktionen sind das?
grüße horst

Sharky 14. Nov 2003 08:09

Re: Schleife abbrechen...
 
Hai horst,

mal so aus dem stehgreif:

Delphi-Quellcode:
var
 abbruch : Boolean  // Globale Variable um die Schleife beenden zu können

procedure TForm1.Button1Click(Sender: TObject);
var
  ndx              : Integer;
begin
  ndx := 1;
  abbruch := False;
  while (ndx < StringGrid1.RowCount - 1) and (not abbruch) do
    begin
      inc(ndx);
    end;
end;

choose 14. Nov 2003 08:13

Re: Schleife abbrechen...
 
Hallo Sharky,

wenn Du eine globale Variable verwendest und mehrere Fenster kreierst, würden alle Schleifen in allen Fenstern abbrechen oder gar nicht erst starten, wenn Du abbruch auf True setzt.

Darüber hinaus birgt der Einsatz von Application.Processmessages viele Gefahren, die ich zT hier dargestellt habe.

Sharky 14. Nov 2003 08:21

Re: Schleife abbrechen...
 
Zitat:

Zitat von choose
...wenn Du eine globale Variable verwendest und mehrere Fenster kreierst, würden alle Schleifen in allen Fenstern abbrechen oder ....

Hai choose,

der Code soll den Ansatz der Notwendigen Schleifenkonstruktion zeigen. Nicht mehr und nicht weniger. Das es noch etwas Feinarbeit benötigt sollte klar sein.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:13 Uhr.
Seite 1 von 3  1 23      

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