AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Kontinuierlich Schleife

Ein Thema von raena · begonnen am 9. Jan 2008 · letzter Beitrag vom 9. Jan 2008
Antwort Antwort
Seite 2 von 2     12   
mashutu

Registriert seit: 15. Nov 2007
195 Beiträge
 
#11

Re: Kontinuierlich Schleife

  Alt 9. Jan 2008, 13:10
Zitat von RavenIV:
Das kann schon Sinn machen.
z.B. in einem Thread, der auf Signale an einer seriellen Schnittstelle wartet.
- warten auf Signal <--------
- Signal verarbeiten ¦
- dem Hauptthread mitteilen -
Das ist eine kontinuierliche Schleife.

Oder was meinst Du, was die Nachrichtenverarbeitung von Windows ist?
Schon klar, was die Nachrichtenverarbeitung von Windows ist.
Aber ich habe auch schon Kommunikation mit seriellen Geraeten ohne Endlosscheifen programmiert ...
Daher isses IMHO erforderlich zu wissen, auf was der OP rauswill.
utu

if it was hard to write it should be hard to read
  Mit Zitat antworten Zitat
raena

Registriert seit: 30. Dez 2007
124 Beiträge
 
#12

Re: Kontinuierlich Schleife

  Alt 9. Jan 2008, 16:23
Hallo zusammen,

vielen Dank für die schnellen Antworten.
Der Code funktiniert soweit ich das beurteilen kann,
ich habe als Anfaenger nur probleme die Sache mit den Threats
zu verstehen.
Gibt es für den Anfang nicht eine einfachere Lösung?
Das Ziel wäre zB in einem Form mit Buttons und Memos etc.
eine eine ablaufende Zeit in Sekunden anzuzeigen, die
"permanent" geupdated wird, ohne dass ein Ereignis eintritt?
Parallel sollte das Programm aber auf Ereignisse reagieren.
Vielleicht sollte ich mit einer einfachen Loesung
anfangen und später die Sache mit den Threats angehen.



Merci, Raena.
  Mit Zitat antworten Zitat
Oxmyx

Registriert seit: 21. Sep 2004
499 Beiträge
 
#13

Re: Kontinuierlich Schleife

  Alt 9. Jan 2008, 16:40
Das ist mal wieder der klassische Fall, wo einem Anfänger eine völlig unpassende Lösung angeboten wird für ein Problem, das er überhaupt nicht hat. Wenn's darum geht einen Countdown auf ein Formular zu setzen, dann würde ich einem Anfänger ein Timer empfehlen. Einfach aufs Formular ziehen, doppelt draufklicken, Countdown reinschreiben, fertig.
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#14

Re: Kontinuierlich Schleife

  Alt 9. Jan 2008, 17:06
Zitat von Oxmyx:
Das ist mal wieder der klassische Fall, wo einem Anfänger eine völlig unpassende Lösung angeboten wird für ein Problem, das er überhaupt nicht hat. Wenn's darum geht einen Countdown auf ein Formular zu setzen, dann würde ich einem Anfänger ein Timer empfehlen. Einfach aufs Formular ziehen, doppelt draufklicken, Countdown reinschreiben, fertig.
Aus dem hier war allerdingas nicht zu erkennen, dass ein einfacher Timer reichte:
Zitat:
Wie kann man mehrere Schleifen permanent parallel mit unterschiedlicher Schnelligkeit
laufen lassen?
Aber nach der verbesserten Aufagenstellung ist ein Timer völlig ausreichend.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
raena

Registriert seit: 30. Dez 2007
124 Beiträge
 
#15

Re: Kontinuierlich Schleife

  Alt 9. Jan 2008, 17:20
Ja das sehe ich auch so. Die Sache mit den Threats ist bestimmt gut.
Nun aber da ich die Aufgabe klarer formuliert habe wird bestimmt einfacher.

So, mit einem Timer habe ich folgendes Problem:
das Label wird zwar schoen geupdated, der Button ist aber nicht mehr ansprechbar.

Wie kann man erreichen, dass der Button noch reagiert, die Zeit aber trotzdem läuft?

Danke.

Delphi-Quellcode:
unit Unit2;

interface

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

type
  TForm2 = class(TForm)
    Button1: TButton;
    Timer1: TTimer;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation

{$R *.dfm}

procedure TForm2.Button1Click(Sender: TObject);
begin
showmessage('test');
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
timer1.Enabled:=true;
end;

procedure TForm2.Timer1Timer(Sender: TObject);
var i:integer;
begin
i:=0;
repeat
label1.Caption:=inttostr(i)+' ';
label1.Refresh;
inc(i);
sleep(1000);
until (i>100);

end;

end.
  Mit Zitat antworten Zitat
Klaus01
Online

Registriert seit: 30. Nov 2005
Ort: München
5.754 Beiträge
 
Delphi 10.4 Sydney
 
#16

Re: Kontinuierlich Schleife

  Alt 9. Jan 2008, 17:22
Delphi-Quellcode:
procedure TForm2.Timer1Timer(Sender: TObject);
//var i:integer;
begin
//i:=0;
//repeat
label1.Caption:=inttostr(i)+' ';
label1.Refresh;
//inc(i);
//sleep(1000);
//until (i>100);
Lass das sleep und die Schleife mal aus dem Code raus und stelle das Interval so ein wie Du es brauchst.
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Kontinuierlich Schleife

  Alt 9. Jan 2008, 17:39
Was du brauchst ist eben keine Schleife sondern eine Funktion, die in regelmäßigen Zeitintervallen aufgerufen wird. Das macht alles Windows (und ich bisschen Delphi) für dich. du musst in die Methode nur reinschreiben, was nach dem Interval (siehe im Objectinspector) eben regelmäßig gemacht werden soll
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  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 08:29 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