<< Inhaltsverzeichnis Suchen >>

PLAY_RECORDER_FILE

Funktion

Syntax:

PLAY_RECORDER_FILE(<RECORDER-DATEI>, <UEBERSCHRIFT>,
                                              <TYP>,<EINFUEGEN>,
                                              <GESCHWINDIGKEIT>)

<RECORDER-DATEI>                   = <STRING-AUSDRUCK>
<UEBERSCHRIFT>                        = <STRING-AUSDRUCK>
<TYP>                                               = <NUM-AUSDRUCK>
<EINFUEGEN>                               = <NUM-AUSDRUCK>
<GESCHWINDIGKEIT>                =.<NUM-AUSDRUCK>

Bedeutung:

PLAY_RECORDER_FILE startet die in der <RECORDER-DATEI> mit RECORDER_ON aufgenommene Programmaufzeichnung.

Achtung: Diese Funktion wird ab Version 10.0 nicht mehr unterstützt.

 

 

Achtung: Das Abspielen einer Programmaufzeichnung simuliert nicht nur den Programmablauf sondern das Programm läuft wirklich. Lediglich die Tastatur- und Mauseingaben werden nicht vom System übernommen sondern aus der Recorderdatei gelesen. Deshalb muß sich das Programm beim Beginn des Abspielens an derselben Stelle befinden wie beim Beginn der Aufnahme. Auch sollten die programminternen Variablen dieselben Werte wie beim Start der Aufnahme haben. Wird z.B. ein SELECT ausgeführt und ist der aktuelle Datensatz beim Abspielen ein anderer als beim Aufnehmen, so werden beim Abspielen im SELECT-Fenster andere Datensätze angezeigt als bei der Aufnahme. Wurde bei der Aufnahme im SELECT ein Datensatz ausgewählt, so wird jetzt beim Abspielen ein ganz anderer Datensatz ausgewählt. Dies kann dann zu einem fehlerhaften Programmablauf führen. Wenn Sie sowohl vor dem Aufnehmen als auch vor dem Abspielen alle Indexdateien mit INITIALIZE initialisieren, können solche Fehler nicht auftreten.

Eine weiterer typischer Fehler kann beim Speichern von Datensätzen im Multi-User-Betrieb auftreten. Wird beim Aufnehmen ein neuer Datensatz in eine Indexdatei geschrieben und ist beim Abspielen der Datensatz bereits vorhanden, so wird der Fehler 1062 gemeldet. Damit ergibt sich beim Abspielen ein anderer Programmablauf als beim Aufnehmen und wahrscheinlich 'hängt' sich das Programm dann auf. In solch einem Fall bleibt Ihnen nichts anderes übrig als das Abspielen mit der Tastenkombination ALT/F4 zu beenden.

Bei Pushbuttons, Checkboxen und Radiobuttons muß darauf geachtet werden, ob diese vom EBUS-Programm gezeichnet werden oder ob die WINDOWS-Standardcontrols verwendet werden (siehe Konfigurationsmaske, EBUS_PUSHBUTTON$, EBUS_CHECKBOX$, EBUS_RADIOBUTTON$). Werden z.B. beim Aufnehmen WINDOWS-Standardcontrols und beim Abspielen die EBUS-Controls verwendet oder umgekehrt, so läuft das Programm fehlerhaft. Die EBUS-Controls werden beim Abspielen besser unterstützt. Da Sie nicht wissen, welche Einstellungen der Anwender in der Konfigurationsmaske gewählt hat, sollten Sie im Programm vor der Aufnahme und vor dem Abspielen den Variablen EBUS_PUSHBUTTON$, EBUS_CHECKBOX$ und EBUS_RADIOBUTTON$ einen Wert ungleich dem Leerstring "" zuweisen, dann werden alle Controls vom EBUS-Programm gezeichnet.

 

 

Achtung: Während des Abspielens einer Recorderdatei nimmt das Programm keine Tastatur- und Mauseingaben außer ALT/F4 an. Mit ALT/F4 kann das Abspielen jederzeit beendet werden. Dies ist insbesondere dann hilfreich, wenn sich das Programm beim Abspielen z.B. aufgrund fehlerhafter Startdaten 'aufgehängt' hat.

 

 

Achtung: Wird in einem Programm die Funktion PLAY_RECORDER_FILE verwendet, so benötigt das Programm zur Laufzeit die DLL EBVxxR.DLL (16-Bit) bzw. EBVxxNR.DLL. (32-Bit) (xx ist die Versionsnummer, z.B. 80 bei Version 8.0)

 

 

 

Um sichtbar zu machen, daß eine Recorderdatei abgespielt wird, kann eine <UEBERSCHRIFT> angegeben werden, die im Main-Window angezeigt wird. <TYP> legt fest, wie die Überschrift des Main-Windows geändert wird.

 

Wert von <TYP>

Bedeutung

 

0


1

2

sonst

Die aktuelle Überschrift des Main-Windows wird nicht geändert. Der Parameter <UEBERSCHRIFT> hat keine Bedeutung.

<UEBERSCHRIFT> wird am Anfang der aktuellen Main-Window-Überschrift eingefügt.

<UEBERSCHRIFT> wird am Ende der aktuellen Main-Window-Überschrift angefügt.

Die aktuelle Überschrift des Main-Windows wird durch <UEBERSCHRIFT> ersetzt.

 

Während ein Hinweis-Window angezeigt wird und nach dem Abspielen der Recorderdatei wird wieder die normale Main-Window-Überschrift angezeigt.

Bei 32-Bit Programmen wird während des Abspielens der Mauscursor rot angezeigt.

Oft stellt sich erst nach der Aufnahme eines Programmablaufs heraus, daß zur besseren Erklärung noch weitere Hinweis-Windows eingefügt werden müssen. Da eine Aufnahme nicht rückwirkend geändert werden kann, bietet der Parameter <EINFUEGEN> die Möglichkeit, auch beim Abspielen einer Recorderdatei noch zusätzliche Hinweis-Windows einzufügen. Ist <EINFUEGEN> <> 0, so wird bei Betätigung der Taste <RETURN> der Dialog ‘Hinweis-Window erstellen’ angezeigt (siehe RECORDER_ON), auf dem ein neues Hinweis-Window erfaßt und an der aktuellen Stelle eingefügt werden kann.

<GESCHWINDIGKEIT> legt fest, in welcher Geschwindigkeit die Recorderdatei abgespielt wird: 1 bedeutet Originalgeschwindigkeit wie bei der Aufnahme, 2 bedeutet doppelte Geschwindigkeit, usw. <GESCHWINDIGKEIT> < 1 ist gleichbedeutend mit <GESCHWINDIGKEIT> = 1 ist

Während eine Recorderdatei abgespielt wird, hat die Variable EBUS_RECORDER_PLAY den Wert 1, sonst den Wert 0.

Wenn das Abspielen beendet wurde, wird der ON PLAY_RECORDER_STOP MACRO ausgeführt. Die Variable EBUS_TRANSFER2 enthält dann den Grund für das Beenden des Abspielens.

PLAY_RECORDER_FILE hat nur eine Wirkung unter WINDOWS und liefert dort folgende Ergebniswerte:

 

0

-1

-2

7610

7611

7612

7613

Das Abspielen wurde gestartet.

PLAY_RECORDER_FILE läuft bereits

RECORDER_ON ist aktiv

<RECORDER-DATEI> enthält keinen Dateinamen

Fehler beim Öffnen der <RECORDER-DATEI>

Die Recorderdatei ist leer

Die angegebene Datei ist keine Recorderdatei

 

Unter MS-DOS und UNIX liefert PLAY_RECORDER_FILE als Ergebnis stets -1.

Beispiel:

/* Abspielen in 1,5-facher Geschwindigkeit
H% = PLAY_RECORDER_FILE("PROG1.REC"," Demo",2,1,1.5)
IF H% <> 0
THEN ... Fehler
ENDIF

siehe auch:

RECORDER_ON, EBUS_RECORDER_PLAY, EBUS_RECORDER_TIMEOUT