Forum: PC-Programmierung while schleife


von Assassin S. (assassin)


Lesenswert?

ich habe 2 btn.
1 btn ist ein uhr programmiert.
2 btn soll eine enlose schleife.

wenn ich den 2 btn klicke dann funktioniert die uhr nicht mehr.

habt ihr ein idee wie ich die Uhr zum funk bekomme,

von Thomas B. (yahp) Benutzerseite


Lesenswert?

Dürfte ne lustige Steinigung werden, ist ein Einheimischer...

Also mir fällt schwer zu verstehen, was du eigentlich willst. Wenn du 
mit dem Knopf in eine Endlosschleife gehst, dann hast du sowieso Pech 
gehabt ("Wer sich schuldig macht in meinem Namen, soll sehen, was er 
davon hat!"). Interrupts könnten eine Lösung für eine weiterlaufende Uhr 
sein. Aber ich spekuliere mal nicht weiter, da ich nicht verstehe, was 
du willst.

von Stefan (Gast)


Lesenswert?

Schreibe ein Programm mit mehreren Threads (Multithreading). Im ersten 
Thread lässt du die Uhr laufen und im zweiten Thread die endlose 
Schleife. Im dritten Thread bzw. im Hauptprogramm läuft deine grafische 
Benutzeroberfläche ("btns").

http://de.wikipedia.org/wiki/Multithreading_%28softwareseitig%29
http://www.galileocomputing.de/openbook/visual_basic/Kapitel_11-001.htm

von Assassin S. (assassin)


Lesenswert?

kann ich ein uhr erstellen die unabhöngig ist von meinem hauptprogramm?

von Assassin S. (assassin)


Lesenswert?

stefan wie meinste du das bitte?

von tastendrücker (Gast)


Lesenswert?

Programmiersprache?

Eine Uhr mit einem Timer realisieren. Im Timer-Event die Zeit 
aktualisieren.

von Thomas B. (yahp) Benutzerseite


Lesenswert?

Wie schon beschrieben, ist Multithreading das Zauberwort. Aber das ist 
schon "höhere" Programmierung, mit Verlaub gesagt.

Manchmal hilft auch schon vernünftiges Programmdesign. Im vorliegenden 
Fall muss man sich ernsthaft fragen, was der Zweck besagter 
Endlosschleife ist!

von Stefan (Gast)


Lesenswert?

"wie meinste du das bitte?"

Die von dir geschilderte Aufgabenstellung kann generell mit einer 
Programmiertechnik gelöst werden, die als Multithreading bekannt ist.

Da ich vermutete, dass dir Multithreading bisher noch nicht 
untergekommen ist, habe ich einen Link angegeben, der das Konzept zum 
Nachlesen und Weiterstöbern erläutert.

Und einen Link wie Threads konkret z.B. in Visual Basic programmiert 
werden können.

Das Thema ist IMHO zu umfassend, um es hier in der Tiefe und von den 
Basics her zu erläutern. Aber das braucht man auch nicht, weil es schon 
genug dazu gibt. Man muss nur lesen können ;-)

Die Alternative von Thomas bietet sich bei µC an (Verwendung eines 
Timers und ein intelligentes Programmdesign). Du verlagerst quasi einen 
Thread in die unabhängig laufende Timerroutine. Auf einem PC ist man 
nicht so hardwarenah, um das so zu machen.

von Thomas B. (yahp) Benutzerseite


Lesenswert?

Stefan wrote:
> Die Alternative von Thomas bietet sich bei µC an (Verwendung eines
> Timers und ein intelligentes Programmdesign). Du verlagerst quasi einen
> Thread in die unabhängig laufende Timerroutine. Auf einem PC ist man
> nicht so hardwarenah, um das so zu machen.

So ist es, ich hatte am Anfang nicht darauf geachtet, in welchem Forum 
wir uns befinden :(
Intelligentes Programmdesign würde ich aber auch auf PC-Ebene gelten 
lasse ;-)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.