AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

TCollection & TCollectionitem Tutorial

Ein Thema von MrBrown90 · begonnen am 7. Nov 2017 · letzter Beitrag vom 16. Nov 2017
Antwort Antwort
Seite 6 von 9   « Erste     456 78     Letzte » 
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.059 Beiträge
 
Delphi 10.4 Sydney
 
#51

AW: TCollection & TCollectionitem Tutorial

  Alt 13. Nov 2017, 12:12
Okay Id wird folgendermaßen bestimmt

Delphi-Quellcode:
Procedure TForm7.Listbox1Click(Sender:TObject)
Begin
ID=integer(ListBox1.Items.Objects[Listbox1.Itemindex]);
End;
Ps: bin allein im Büro, deswegen kann ich ja auch keine Kollegen um Hilfe Fragen
Delphi-Quellcode:
Procedure TForm7.Listbox1Click(Sender:TObject)
Begin
ID=integer(ListBox1.Items.Objects[Listbox1.Itemindex]);
ShowMessage('ID: ' + IntToStr(ID));
End;
Bitte einfach mal damit prüfen, ob ID wirklich geändert wird.

Wenn du eh alleine im Büro bist, dann nutze doch den Browser, guckt ja eh keiner.
Kannst ja auch ein Inkognito-Fenster/Private-Browsing-Tab nutzen.

Dann könntest du auch ganz einfach deinen bisherigen Quelltext posten und wir müssen nicht immer Glaskugel polieren und du wärst auch schneller am Ziel.
  Mit Zitat antworten Zitat
MrBrown90

Registriert seit: 7. Nov 2017
39 Beiträge
 
#52

AW: TCollection & TCollectionitem Tutorial

  Alt 13. Nov 2017, 18:26
So jetzt mal der Code wie ich ihn bisher habe

Delphi-Quellcode:
type
TForm1=class(TForm)
Start:TButton;
Button3:TButton;
ListBox1:TListBox;
Label1:TLabel1;
Label2:TLabel2;
ListBox3:TListBox;
Edit1:TEdit;
Memo1:TMemo;
procedure StartCklick(Sender:TObject);
procedure Button3Click(Sender:TObject);
procedure FormCreate(Sender:TObject);
procedure ListBox1Click(Sender:TObject);
private
public
end;
TyMyThread=Class(TThread)
protected
Counter:integer;
procedure execute;override;
public
constructor create;
end;

var
Form7:TForm7;
Thread1,Thread2,Thread3,Thread4,Thread5,Thread6:TMyThread;
ID,TreadID:integer;

implementation

procedure TMyThread.Execute;
var
   b:integer;
while not Terminated do
begin
   sleep(100)
   if b=1 then
begin
Form7.Memo1.Lines.Add('Thread Nr.0 ' +DataTimeToStr(Now) + 'Uhr');
end;
   if b=2 then
begin
Form7.Memo1.Lines.Add('Thread Nr.1 ' +DataTimeToStr(Now) + 'Uhr');
  end;
 end;
end;

procedure TForm7.StartClick(Sender :TOject);
var
  I:integer;
begin
  ThreadID:=ID;
  if ThreadID=1 then
  begin
Thread1:=TMyThread.create;
end;
   if ThreadID=2 then
   begin
   Thread2:=TMyThread.create;
 end;
end;


procedure TForm7.Button3Click(Sender:TObject);
begin
   if ID=1 then
   begin
     Thread1.Terminate;
     Thread1.WaitFor;
     Thread1.Free;
   end;
   if ID=2 then
   begin
     Thread2.Terminate;
     Thread2.WaitFor;
     Thread2.Free;
   end;
end;


constructor TMyThread.create;
begin
   inherited create(True);
   resume;
end;

procedure TForm7.FormCreate(Sender:TObject);
begin
    Listbox1.Items.AddObject('Thread Nr. 0', TObject(1));
    Listbox1.Items.AddObject('Thread Nr. 1', TObject(2));

end;


procedure 7TForm7.ListBox1Click(Sender: TObject);
begin
  ID:= integer(ListBox1.Items.Objects(ListBox1.ItemIndex));
end;


end.


Das wäre bis jetzt der ganze Code, muss natürlich noch ordentlich überarbeitet werden, aber ich denke soweit funktioniert es jetzt so, dass ich 2 Threads starten/stoppen kann und man dies in der Ausgabe sieht.
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.758 Beiträge
 
Delphi 11 Alexandria
 
#53

AW: TCollection & TCollectionitem Tutorial

  Alt 14. Nov 2017, 07:13
Ich steh grad aufm Schlauch, wo wird denn b gesetzt?

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.288 Beiträge
 
Delphi 12 Athens
 
#54

AW: TCollection & TCollectionitem Tutorial

  Alt 14. Nov 2017, 07:47
Moin...
Komisch das sich noch niemand beschwert hat...
Delphi-Quellcode:
procedure TMyThread.Execute;
var
   b:integer;
while not Terminated do
begin
   sleep(100)
   if b=1 then
begin
Form7.Memo1.Lines.Add('Thread Nr.0 ' +DataTimeToStr(Now) + 'Uhr');
...
end;
Der Zugriff auf GUI Elemente aus dem Thread heraus, ist keine gute Idee!
Besser:
Ein Event aus dem Thread mit Synchronize.
http://docwiki.embarcadero.com/Libra...ad.Synchronize
  Mit Zitat antworten Zitat
MrBrown90

Registriert seit: 7. Nov 2017
39 Beiträge
 
#55

AW: TCollection & TCollectionitem Tutorial

  Alt 14. Nov 2017, 07:49
Oh hab ich wohl ausgelassen


In der execute, vor den if anweißungen ..b:=ID
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.059 Beiträge
 
Delphi 10.4 Sydney
 
#56

AW: TCollection & TCollectionitem Tutorial

  Alt 14. Nov 2017, 07:58
Du hast jetzt nicht ernsthaft alles händisch mit dem Smartphone abgetippt, oder etwas doch?
So kann das nämlich nicht kompilieren.
  Mit Zitat antworten Zitat
MrBrown90

Registriert seit: 7. Nov 2017
39 Beiträge
 
#57

AW: TCollection & TCollectionitem Tutorial

  Alt 14. Nov 2017, 08:08
Ne Ne, zuhause dann. Nur hab da keine Prog für Delphi, deswegen konnte ich nicht testen ...also kann sein das ich mich vll vertippt habe.
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.059 Beiträge
 
Delphi 10.4 Sydney
 
#58

AW: TCollection & TCollectionitem Tutorial

  Alt 14. Nov 2017, 08:12
E-Mail darfst du auf Arbeit auch nicht benutzen? Schick dir doch selber den Quelltext zu?!?

Eigentlich weiß ich nicht, wo man jetzt da anfangen soll.
Wenn wir dir jetzt das alles vorkauen und verbessern, dann hast du keinen Lerneffekt.

Versuche zuerst die Hinweise zum Case-Of und den Hinweis von haentschman bezüglich GUI-Zugriff aus einen externen Thread-Kontext heraus zu verstehen und umzusetzen.
Wenn es dir Schwierigkeiten bereitet es zu verstehen: Bitte frage gezielt nach!
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.059 Beiträge
 
Delphi 10.4 Sydney
 
#59

AW: TCollection & TCollectionitem Tutorial

  Alt 14. Nov 2017, 08:16
Und wegen Zuhause:
Bitte lade dir die KOSTENLOSE Delphi Starter Edition runter:
https://www.embarcadero.com/de/products/delphi/starter

Installieren nicht vergessen.
  Mit Zitat antworten Zitat
MrBrown90

Registriert seit: 7. Nov 2017
39 Beiträge
 
#60

AW: TCollection & TCollectionitem Tutorial

  Alt 14. Nov 2017, 09:58
Vielen Dank, mache ich.

Aber eine Frage hätte ich noch. Wie sehe ich denn, das dies alles von mehreren Threads ausgeführt wird ?
  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 12:22 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