Hm,
also die Frage war, wir erinnern uns:
"Gibt es einen Befehl, der eine Tastaturabfrage
durchführt und das Programm
dann sofort in die gewünschte "Richtung" lenkt?"
welche welcher Befehl (in welcher Sprache) war
wohl gemeint ??
War es die Frage
"Gibt es in '.NET' eine Tastaturabfrage ...?"
wohl eher nicht. Natürlich kann man auch ein
MathLink-Programm schreiben
das alle Tastatureingaben an Mathematica schickt
und in der Mathematica
Schleife fragt man hin und wieder mal ob in dem
Link was steht, aber es war auch nicht die Frage
"Gibt es in C/C++ eine Tastaturabfrage ...?"
Die C/C++ Version hätte auch den Vorteil, auf den
meisten Unix-Kisten
zu funktionieren, die ein .NET ja nicht besitzen
und
zwar dynamische Bibliotheken kennen aber keine
DLLs --
schon gar keine kernel32.dll.
Aber machen wir uns nichts vor -- kann jemand der
ernsthaft:
"In erstelle ein kleines Programm, das mir durch
eine (unendliche) Schleife
eine Folge von Grafiken ausgibt."
programmiert ein .NET Programm aufrufen ?? oder
gar ein MathLink/C Programm
schreiben ?? Wohl eher nicht.
Das gleichzeitige berechnen der Schleife und das
Abfragen der
Tastatur erfordert nämlich eine parallele
Ausführung zweier Aufgaben und
das kann Mathematica eben nicht, die meisten
Betriebsysteme müssen
das können und deshalb leitest Du die Aufgabe auch
an selbiges weiter.
Gruß
Jens
----- Original Message -----
From: "Nowak Robert" <robert.nowak@XXXXXXX.at>
To: "Jens-Peer Kuska"
<kuska@XXXXXXX.de>; "Wieser Johann"
<aon.912862196@XXXXXXX.at>; <demug@XXXXXXX.ch>
Sent: Tuesday, May 24, 2005 9:59 AM
Subject: RE: In laufende Scleife interaktiv
eingreifen
Hi Jens,
muss dir leider schon wieder widersprechen.
mit hilfe der .NET/Link 3.5.0 schnittstelle ist
es möglich unter mma windows dll's zu rufen.
im mma help wird das beispielhaft für die
windows api funktion GetTickCount gezeigt.
getTickCount = DefineDLLFunction["GetTickCount",
"kernel32.dll", "int", {}]
in windows gibt es auch eine api funktion zur
abfrage des tastatutscancodes damit kann man
abfragen ob z.b. überhaupt eine tastet gedrückt
ist und wenn eine gedrückt ist dann welche, ohne
das man ein zeichen von der tatstatur wirklich
einlesen muss.
wie diese windows api funktion jetzt genau heist
muss man sich im windows api noch schlau machen.
man braucht dafür jedenfalls keinerlei c
programmierung oder ähnliches.
l.g. robert
-----Original Message-----
From: Jens-Peer Kuska
[mailto:kuska@XXXXXXX.de]
Sent: Monday, May 23, 2005 10:09 PM
To: Wieser Johann; demug@XXXXXXX.ch
Subject: Re: In laufende Scleife interaktiv
eingreifen
Hallo,
nein, weil entweder Mathematica ließt aus einer
Datenquelle
oder es wartet darauf, das es etwas lesen kann.
Input[] wird in einer unendliche Schleife wohl
etwas nervig
sein oder wie ist
i = 0;
While[True,
Print[i++];
c = Input["continue ?"];
If[c === no, Break[]]
]
Gruß
Jens
----- Original Message -----
From: "Wieser Johann" <aon.912862196@XXXXXXX.at>
To: <demug@XXXXXXX.ch>
Sent: Monday, May 23, 2005 8:45 PM
Subject: In laufende Scleife interaktiv
eingreifen
Guten Tag!
Mein Problem!
In erstelle ein kleines Programm, das mir durch
eine (unendliche) Schleife
eine Folge von Grafiken ausgibt. Ich möchte es
aber während der Ausgabe
steuern können, indem eine Tastaturabfrage
eingebaut werden soll, die, je
nach Tastenabfrage entsprechendes bewirken
soll.
(z.B auch Abbruch der
Schleife. Mit Alt+. ist das nur bedingt
möglich.
Manchmal wird zwar
ausgestiegen, bei der nächsten Ausführung
bleibt
dann das Programm hängen
oder andere Probleme treten auf).
Kurz gefragt:
Gibt es einen Befehl, der eine Tastaturabfrage
durchführt und das Programm
dann sofort in die gewünschte "Richtung" lenkt?