|
|
ActiveX Matlab - Powerpoint, Tastaturabfrage |
|
Danny_Gast |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.10.2011, 10:02
Titel: ActiveX Matlab - Powerpoint, Tastaturabfrage
|
|
|
|
|
Hallo an alle.
Ich habe zwar schon einige Sachen mit Matlab gemacht, aber nun stehe ich auf dem Schlauch. Zwar gab es schon ein ähnliches Thema hier im Forum, aber da ging die Lösung über C und da komme ich nicht mehr mit.
Zu allem Überfluss ist ActiveX auch Neuland für mich. Aber bekanntlich wächst man mit den Herausforderungen...
Ich möchte einen Versuch durchführen, bei dem Bilder in einer Präsentation mit einer bestimmten Präsentationszeit gezeigt werden und eine Person per Tastendruck (gewöhnliche PC-Tastatur) das Objekt zuordent. Z.B.: das Objekt ist eine Maus -> Taste A, das Objekt ist ein Mensch -> Taste B usw. Über ein Logfile, dass ich mit "diary" realisieren möchte, sollen die Daten, also gedrückte Taste und Zeit, gespeichert werden. Da die Präsentation einfach durch läuft, könnte ich anhand der Zeit die Folie zuordnen (alternativ ginge natürlich ein counter, der die Folien mitzählt).
Wie ich eine ppt öffne und nach einer gewissen Zeit ein Slide weiter schalte habe ich mir schon zusammen gesucht:
Also ich hatte mir überlegt, dass ich das erste Bild für eine Sekunde zeige, zwei Sekunden auf Antwort warte, dann das nächste Bild auftaucht usw.
In dieser Zeit soll bei einem Tastendurck die entsprechende Taste und die bis dahin verstrichene Zeit im Command Window gezeigt werden (-> für das diary). Die Zeit zum Tastendruck könnte ich einfach per toc(s) abfragen, aber ich bekomme das mit dem Tastendruck nicht hin.
Die Präsentation läuft im Vordergrund. Ich hatte schon versucht ein Figure im Hintergrund zu erstellen, um per KeyPressFcn die Eingaben abzufangen. Aber entweder öffnet das Figure zu spät oder die Anordnung mit Hinter- und Vordergrund funktioniert nicht. Jedenfalls kann ich tippen was ich will, es wird nicht erfasst.
Dann hatte ich überlegt, dass meine Präsentation vllt. als Figure h geöffnet wird und versucht , über
Tastendrücke abzufangen. Aber das geht auch nicht. h scheint in dem Sinne doch kein Figure zu sein...
Ach ja, dafür hatte ich ein Slide erstmal stehen lassen, ohne durchzuschalten. Die Zeit, bis die nächste Slide gezeigt wird, will ich per Timer ausprobiert. Der Vorteil wäre, dass ich die Timer Funktion immer wieder aufrufen kann, anstatt für jede Slide eine toc(s) Abfrage zu machen. Für sich klappt das mit dem Timer auch ganz gut. Wie ich da die Tastenabfrage reinfummel, schaue ich, wenn ich weiss, wie ich die Tasten erfasse...
Über methods(h) und events(h) und h.invoke, h.Presentation.invoke habe ich versucht raus zu bekommen, was es für Möglichkeiten gibt, aber ich komme nicht weiter. Leider habe ich auch keine Erklärung der einzelnen Methoden oder Events oder wie auch immer gefunden.
Falls hier jemand eine Idee hat, wäre ich sehr sehr dankbar für Hilfestellungen.
PS: Für alle die denken: Warum zum Henker öffnet sie die Bilder nicht einfach per Figure : Ich habe es nicht hinbekommen eine bildfüllende Darstellung, wie ich sie in einer Präsentation hätte, zu bekommen, da ich immer den "Dialog-Fenster-Rand" dabei habe.
|
|
|
|
|
Danny_Gast |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 02.11.2011, 11:49
Titel: Eine (etwas umständliche) Lösung
|
|
Hallo zusammen,
ich habe das lange Wochenende mal genutzt und mir eine Lösung gebastelt. Zwar sicher nicht der einfachste Weg, aber es läuft so wie gewünscht.
Ich arbeite nun mit einem Figure zur Tastatur-Abfrage und lasse die Präsentation auf einem zweiten Monitor laufen. So hab ich in meinem Hauptfenster nur das figure für die Tasten-Erfassung.
Also für alle, die mal ein ähnliches Anliegen haben, hier meine Lösung:
Und hier noch die KeyReleaseFcn (siehe Matlab-Hilfe)
Es ist natürlich etwas umständlich das so für jede Folie zu machen, aber ich habe da meine Ansprüche etwas herunter geschraubt.
PS: Ich änder den Status mal auf "beantwortet", aber ich wäre natürlich sehr an anderen Lösungsvorschlägen interessiert.
In diesem Sinne,
VG
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|