AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

thread

Ein Thema von Nisbo · begonnen am 1. Aug 2006 · letzter Beitrag vom 1. Aug 2006
 
Nisbo

Registriert seit: 10. Mär 2005
191 Beiträge
 
Delphi 5 Standard
 
#15

Re: thread

  Alt 1. Aug 2006, 17:51
@ xaromz

vielen dank, jetzt komme ich langsam vorwärts, habe deinen code auch schon etwas verändert und erweitert sowie einen neuen thread erstellt, jetzt stellt sich aber die frage warum eine standardfunktion wie strtoint oder inttostr nicht funktioniert, bekomme da nur undefinierter bezeichner

so schaut dein kompletter umgebauter democode jetzt aus

Delphi-Quellcode:
unit Unit1;

interface

uses
  Forms, StdCtrls, Classes, Controls, ComCtrls;

type
  TForm1 = class(TForm)
    ProgressBar1: TProgressBar;
    Button1: TButton;
    ProgressBar2: TProgressBar;
    Button2: TButton;
    Edit1: TEdit;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

uses
  Windows, Dialogs;

{$R *.dfm}

{ TMyThread }

// Thread 1 START Thread 1 START Thread 1 START Thread 1 START
// Thread 1 START Thread 1 START Thread 1 START Thread 1 START
// Thread 1 START Thread 1 START Thread 1 START Thread 1 START
// Thread 1 START Thread 1 START Thread 1 START Thread 1 START
type
  Thread_Nr_01 = class(TThread)
    PB: TProgressBar;
    procedure Hauptprogramm;
    procedure Execute; override;
  end;

procedure Thread_Nr_01.Execute;
begin
  while not Terminated do begin
    Synchronize(Hauptprogramm); // Zugriff auf VCL-Elemente synchronisieren
    Sleep(10); // etwas warten VCLSync
  end;
end;

procedure Thread_Nr_01.Hauptprogramm;
var zahlenwert : integer;
begin
  // Fertig?
  if PB.Position < PB.Max then PB.StepIt // Progressbar weiter
  else Terminate; // Thread beenden
end;

// Button 1 Click
procedure TForm1.Button1Click(Sender: TObject);
var Th: Thread_Nr_01;
begin
  ProgressBar1.Position := 0; // ProgressBar 1 auf Null setzen
  Th := Thread_Nr_01.Create(True); // Thread erzeugen (suspended)
  Th.FreeOnTerminate := True; // Thread gibt sich selbst frei
  Th.PB := ProgressBar1; // Progressbar 1 zuweisen
  Th.Resume; // Thread starten
  ShowMessage('Thread für PB1'); // Message anzeigen, Thread läuft weiter
end;

// Button 2 Click
procedure TForm1.Button2Click(Sender: TObject);
var Th: Thread_Nr_01;
begin
  ProgressBar2.Position := 0; // ProgressBar 2 auf Null setzen
  Th := Thread_Nr_01.Create(True); // Thread erzeugen (suspended)
  Th.FreeOnTerminate := True; // Thread gibt sich selbst frei
  Th.PB := ProgressBar2; // Progressbar 2 zuweisen
  Th.Resume; // Thread starten
  ShowMessage('Thread für PB2'); // Message anzeigen, Thread läuft weiter
end;

// Thread 2 START Thread 2 START Thread 2 START Thread 2 START
// Thread 2 START Thread 2 START Thread 2 START Thread 2 START
// Thread 2 START Thread 2 START Thread 2 START Thread 2 START
// Thread 2 START Thread 2 START Thread 2 START Thread 2 START
type
  Thread_Nr_02 = class(TThread)
    procedure Hauptprogramm;
    procedure Execute; override;
  end;

procedure Thread_Nr_02.Execute;
begin
  while not Terminated do begin
    Synchronize(Hauptprogramm); // Zugriff auf VCL-Elemente synchronisieren
    Sleep(10); // etwas warten VCLSync
  end;
end;

procedure Thread_Nr_02.Hauptprogramm;
var zahlenwert : integer;
begin
  zahlenwert := 0;
  zahlenwert := StrToInt(Form1.Edit1.Text);
  if zahlenwert < 10 then begin
    Form1.Edit1.Text := intotostr(zahlenwert + 1);
    //Form1.Edit1.Text := '1';
  end;

  Terminate; // Thread beenden
end;

// Button 3 Click
procedure TForm1.Button3Click(Sender: TObject);
var Th: Thread_Nr_02;
begin
  Th := Thread_Nr_02.Create(True); // Thread erzeugen (suspended)
  Th.FreeOnTerminate := True; // Thread gibt sich selbst frei
  Th.Resume; // Thread starten
end;

end.
Jens
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 16:53 Uhr.
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