AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Schleife zum Wiederholen eines Sources
Thema durchsuchen
Ansicht
Themen-Optionen

Schleife zum Wiederholen eines Sources

Ein Thema von davidwittesz · begonnen am 9. Aug 2003 · letzter Beitrag vom 11. Aug 2003
Antwort Antwort
Seite 2 von 2     12   
davidwittesz

Registriert seit: 9. Aug 2003
Ort: Salzgitter
8 Beiträge
 
#11

Re: SCHLEIFE ZUM WIEDERHOLEN EINES SOURCES

  Alt 9. Aug 2003, 23:05
wenn jemand lust und zeit hatt könnte er mir ja mal den surce debuggen ich komme nicht weiter


Delphi-Quellcode:

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ShellAPI,StdCtrls,ExtCtrls;

type
    TForm1 = class(TForm);
    TMyThread= class(TThread)
    Button1: TButton;
    Button2: TButton;
    Label1: TLabel;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);

private
    { Private declarations }
protected
     procedure Execute; override;
end;

var
       Form1: TForm1;

implementation

{$R *.DFM}

procedure TMyThread.Execute;
begin
  while Not Terminated do
  procedure TForm1.Button1Click(Sender: TObject);
var
  i : Integer;
  w : hWnd;
begin
// Externes Programm oeffnen
ShellExecute(0, PChar('open'), 'C:\Programme\Internet Explorer\IEXPLORE.EXE','', '', SW_SHOWMINIMIZED);
for
  i := 0 to 10 do
  begin
    Label1.Caption := IntToStr(i);
    Label1.Repaint;
    // Pause (in msec)
    Sleep(500);
end;
  // Externes Programm schliessen
  w := FindWindow(NIL,'about:blank - Microsoft Internet Explorer');
  if W<>0 then
    PostMessage(W, wm_close, 1, 1);
end;

procedure THauptForm.Button2Click(Sender: TObject);
begin
  MyThread.Terminate;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  Close;
end;

end.
danke whitey

[edit=Luckie]Es geht auch mit weniger Leerzeilen. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#12

Re: SCHLEIFE ZUM WIEDERHOLEN EINES SOURCES

  Alt 9. Aug 2003, 23:23
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i : Integer;
  w : hWnd;
  e : Integer;
begin
// Externes Programm oeffnen
   while w<>0 do
   begin
     ShellExecute(0, 'open', 'C:\Programme\InternetExplorer\IEXPLORE.EXE', '','', SW_SHOWMIMIMIZED);
     for i := 0 to 10 do
     begin
       Label1.Caption := IntToStr(i);
       Label1.Repaint;
       // Pause (in msec)
       Sleep(500);
     end;
     // Externes Programm oeffnen
     w := FindWindow(NIL,'about:blank - Microsoft Internet Explorer');
     if W<>0 then
       PostMessage(W, wm_close, 1, 1);
  end;
end;
Ohne Thread.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
davidwittesz

Registriert seit: 9. Aug 2003
Ort: Salzgitter
8 Beiträge
 
#13

Re: SCHLEIFE ZUM WIEDERHOLEN EINES SOURCES

  Alt 9. Aug 2003, 23:47
[edit=Luckie]Unformatierten Code mit duzenden überflüssigen Leerzeilen entfernt. Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
davidwittesz

Registriert seit: 9. Aug 2003
Ort: Salzgitter
8 Beiträge
 
#14

Re: SCHLEIFE ZUM WIEDERHOLEN EINES SOURCES

  Alt 10. Aug 2003, 00:14
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ShellAPI,StdCtrls,ExtCtrls;


type
    TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    Button3: TButton;



    procedure Button1Click(Sender: TObject);


    procedure Button2Click(Sender: TObject);

private
    { Private declarations }

public
{ public declarations }




end;
var
Form1: TForm1;

implementation
$R *.DFM}
begin
procedure TForm1.Button1Click(Sender: TObject);
var
  i : Integer;
  w : hWnd;
  e : Integer;
begin
// Externes Programm oeffnen
   while w<>0 do
   begin
     ShellExecute(0, 'open', 'C:\Programme\InternetExplorer\IEXPLORE.EXE', '','', SW_SHOWMIMIMIZED);
     for i := 0 to 10 do
     begin
       Label1.Caption := IntToStr(i);
       Label1.Repaint;
       // Pause (in msec)
       Sleep(500);
     end;
     // Externes Programm oeffnen
     w := FindWindow(NIL,'about:blank - Microsoft Internet Explorer');
     if W<>0 then
       PostMessage(W, wm_close, 1, 1);
  end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Close;
end;
end.
---------------------------------------------------------------------------
jetzt geht gar nichts mehr , das programm startet nicht und es kommt auch keine fehler meldung.

------------------------------------------------------------------------

danke whitey

[edit=Luckie] Mfg, Luckie[/edit]
  Mit Zitat antworten Zitat
davidwittesz

Registriert seit: 9. Aug 2003
Ort: Salzgitter
8 Beiträge
 
#15

Re: SCHLEIFE ZUM WIEDERHOLEN EINES SOURCES

  Alt 11. Aug 2003, 09:37
Delphi-Quellcode:
procedure TMyThread.Execute;
begin
  while Not Terminated do
  [U]procedure TForm1.Button1Click(Sender: TObject);[/U]
var
  i : Integer;
  w : hWnd;
begin
__________________________________________________ ______________________

kann es sein das der unterstrichene butten da nicht hingehört und deshalb das programm nicht laufen will ?

mfg whitey
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#16

Re: SCHLEIFE ZUM WIEDERHOLEN EINES SOURCES

  Alt 11. Aug 2003, 10:13
Das wäre möglich. Eine Prozedur-Deklaration hat da nichts verloren.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#17

Re: SCHLEIFE ZUM WIEDERHOLEN EINES SOURCES

  Alt 11. Aug 2003, 10:20
Hallo davidwittesz,

zum obigen Code, der auf Luckies Vorschlag basiert, solltest du w noch vorbesetzen. In der while Schleife fragst du ab, ob w <> 0 ist, aber w hat ja zu diesem Zeitpunkt noch keinen definierten Wert. Setze einfach vor der while Schleife w := 1;

Willst du es mit Threads lösen, dann musst es soheißen:

Delphi-Quellcode:
procedure TMyThread.Execute;
var
  i : Integer;
  w : hWnd;
begin
  while Not Terminated do
  begin
    // Externes Programm oeffnen
    ShellExecute(0, PChar('open'), 'C:\Programme\Internet Explorer\IEXPLORE.EXE','', '', SW_SHOWMINIMIZED);
    for i := 0 to 10 do
    begin
      Label1.Caption := IntToStr(i);
      Label1.Repaint;
      // Pause (in msec)
      Sleep(500);
    end;
    // Externes Programm schliessen
    w := FindWindow(NIL,'about:blank - Microsoft Internet Explorer');
    if W<>0 then
      PostMessage(W, wm_close, 1, 1);
  end;
end;
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:50 Uhr.
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