Dieser Abschnitt enthält einen Überblick über alle verfügbaren API-Aufrufe. Sie sind in die folgenden funktionalen Bereiche aufgeteilt:
GetRunningTerminalSessions
Initialize
LogonEntireConnection
GetAvailableSessions
OpenSession
RunHostCommand
PutData
SetDataNotificationFlag
GetScreenText
GetScreenRawText
GetScreenAttributes
GetExtendedAttributes
GetCursorPosition
SetCursorPosition
ClearScreenText
CheckForScreenText
SetAPIFileDetails
SetWorkFileDetails
GetFileName
CancelFileTransfer
RunEntConTask
SetGlobalParameter
GetGlobalParameter
CancelRunningTask
CloseSession
CloseAllSessions
BreakConnection
GetScreenSize
Diese API-Aufrufe (und alle damit verbundenen Ereignisse) sind nachstehend ausführlich beschrieben.
Beim Starten einer Session kann der API-Client entweder die Verbindung zu einem aktiven Terminal herstellen oder ein neues Terminal erstellen.
Session-Namen aller aktiven Terminals abfragen (nur synchroner Aufruf)
Rufen Sie Folgendes auf:
APIReturn = GetRunningTerminalSessions(TerminalNames, NumTerminals)
Dies gibt alle zur Zeit aktiven Terminals, zu denen eine Verbindung
hergestellt werden kann, in einem Array aus. Der Aufruf der Funktion
GetRunningTerminalSessions
ist der einzige Aufruf, der vor dem
Aufruf von Initialize
erfolgen kann.
Verbindung zu einem Terminal herstellen
Rufen Sie Folgendes auf:
APIReturn = Initialize(CreateSession, LinkSessionName, UserLoggedOn, OpenSession)
Die Parameter sind:
CreateSession
|
Boolean. "true" bedeutet, dass ein neues Terminal erstellt werden soll. |
LinkSessionName
|
String. Name eines vorhandenen Terminals, zu dem eine
Verbindung hergestellt werden soll. Der Name ist einer der Terminal-Namen, der
von der Funktion GetRunningTerminalSessions geliefert wird.
|
UserLoggedOn
|
Boolean. Gibt "true" zurück, wenn
die Anmeldung bei Entire Connection auf der Workstation bereits erfolgt ist.
Damit ein Terminal benutzt werden kann, muss sich der Benutzer pro Arbeitsplatz
einmal anmelden. Wenn UserLoggedOn
"false" ist, muss sich der API-Client jetzt
anmelden.
|
OpenSession
|
String. Normalerweise leer. In einer besonderen Situation wird der Name einer geöffneten Session eingetragen. |
Wenn für CreateSession
"true" übergeben wird oder keine Verbindung zum
angegebenen Terminal hergestellt werden kann, erstellt das API-Control ein
neues Terminal.
Wenn die Verbindung zu einem vorhandenen Terminal hergestellt wurde
und in der Zwischenzeit eine Session in diesem Terminal geöffnet wurde, enthält
der Parameter OpenSession
den Namen der Session. Der API-Client
muss in dieser speziellen Situation entscheiden, ob er mit dieser Session, die
nicht unter seiner Kontrolle geöffnet wurde, arbeiten will. Diese Situation
kann nur entstehen, wenn zum Zeitpunkt der Abfrage der vorhandenen Terminals
ein Terminal gerade im Begriff war, eine Session zu öffnen, der Vorgang jedoch
länger dauerte und noch nicht abgeschlossen war.
Bei Entire Connection anmelden
Rufen Sie Folgendes auf:
APIReturn = LogonEntireConnection(UserName, Password)
Der API-Client kann entweder die zur Verfügung stehenden Session-Namen aus der Share-Datei abfragen oder eine namentlich bekannte Session direkt öffnen.
Alle Sessions abfragen, die für einen Benutzer von Entire Connection definiert sind
Rufen Sie Folgendes auf:
APIReturn = GetAvailableSessions(SessionNames, DefaultSession)
Die Parameter sind:
SessionNames
|
Variant Array(Strings). Die Namen aller definierten Sessions. |
DefaultSession
|
String. Der Name der Standard-Session. |
Eine dieser Sessions öffnen
Rufen Sie Folgendes auf:
APIReturn = OpenSession(SessionName)
Der Parameter ist:
SessionName
|
String. Der Name der zu öffnenden Session. |
Die Session ist nun offen und kann benutzt werden.
FirstScreenArrived
Wird gesendet, wenn die Session die ersten Daten vom Host erhält.
ScreenSizeChanged(NumRow, NumColumns)
Gibt die anfängliche Bildschirmgröße an und auch, ob sich das Terminal während der Session dynamisch verändert.
SessionOpened(SessionName)
Wird gesendet, wenn eine
Session geöffnet wird ohne dass der API-Client die Methode
OpenSession
aufruft. Dies kann zum Beispiel durch einen Start-Task
geschehen.
Der Parameter ist:
SessionName
|
String. Der Name der geöffneten Session. |
Befehle an die geöffnete Session senden
Rufen Sie Folgendes auf:
APIReturn = RunHostCommand(CommandName)
Der Parameter ist:
CommandName
|
String. Der Name des Befehls, der auf dem Host aufgerufen werden soll. |
Der String wird an den Host gesendet und anschließend an die Funktionstaste ENTER.
Beliebigen Text und Tasten-Codes senden
Rufen Sie Folgendes auf:
APIReturn = PutData(Text, KeyCode)
Die Parameter sind:
Text
|
String. Text, der an den Host übertragen werden soll. |
KeyCode
|
Integer. Taste, die nach der Übertragung des Textes gesendet werden soll. |
Der Text, der mit diesem Befehl gesendet wird, kann Zeilenvorschübe enthalten. Diese werden wie das Drücken der Funktionstaste NEWLINE interpretiert. Wenn Sie nur einen Tasten-Code senden wollen, müssen Sie als Text eine leere Zeichenkette übergeben.
Datenbenachrichtigungen erlauben (nur synchroner Aufruf)
Rufen Sie Folgendes auf:
APIReturn = SetDataNotificationFlag(Enable)
Der Parameter ist:
Enable
|
Boolean. Wenn man dies auf "true" setzt, werden Datenbenachrichtigungen eingeschaltet. Vorgabe: ausgeschaltet. |
Anzeige des Terminal-Fensters ein- und ausschalten
Setzen Sie die API-Control-Eigenschaft
TerminalInteractive
(boolean).
Wenn Sie die Verbindung zu einem Terminal herstellen, bleibt es solange sichtbar bis dieser Wert auf "false" gesetzt wird.
Wenn Sie ein neues Terminal erstellen, ist es solange unsichtbar bis dieser Wert auf "true" gesetzt wird.
CursorPositionChanged(XPosition, YPosition)
Wird gesendet, wenn sich das Terminal im interaktiven Modus befindet und die Cursor-Position mit der Maus verändert wird (nicht wenn sich der Cursor durch Tippen bewegt).
NewScreenDataArrived()
Wenn eingeschaltet bedeutet dies, dass neue Daten vom Host angekommen sind.
Bildschirmtext steht als Rohtext zur Verfügung wie er vom Host empfangen wird und als verarbeiteter Text wie er im Terminal angezeigt wird. Der Rohtext enthält alle Zeichen - auch die, die nicht angezeigt werden sollen (z.B. Passwort) - und kann auch Nullwerte enthalten.
Da der Rohtext Nullwerte enthalten kann, kann er nur in ein Array mit vorzeichenlosen Zeichen ausgegeben werden. Der Bildschirmtext wird in ein Array mit Zeichenketten ausgegeben.
Bildschirmtext abfragen
Rufen Sie Folgendes auf:
APIReturn = GetScreenText(ScreenTextArray, TopLeftX, TopLeftY, BottomRightX, BottomRightY)
Die Parameter sind:
ScreenTextArray
|
Variant Array(Strings). Eine Zeichenkette pro angeforderter Textzeile. |
TopLeftX
|
Integer. Startkoordinate. |
TopLeftY
|
Integer. Startkoordinate. |
BottomRightX
|
Integer. Endkoordinate. |
BottomRightY
|
Integer. Endkoordinate. |
Wenn eine dieser Koordinaten auf -1 gesetzt wird, wird der gesamte Bildschirm ausgegeben.
Rohdaten abfragen
Rufen Sie Folgendes auf:
APIReturn = GetScreenRawText(ScreenTextArray)
Der Parameter ist:
ScreenTextArray
|
Variant Array(Unsigned chars). Rohdaten-Buffer. |
Bildschirmattribute abfragen
Rufen Sie Folgendes auf:
APIReturn = GetScreenAttributes(Attributes, AttributesDescription)
Die Parameter sind:
Attributes
|
Variant Array(Unsigned chars). Attribut-Buffer. | ||||||||||||||
AttributesDescription
|
|
Erweiterte Bildschirmattribute abfragen
Rufen Sie Folgendes auf:
APIReturn = GetExtendedAttributes(ExtendedAttributes)
Der Parameter ist:
ExtendedAttributes
|
Variant Array(Unsigned chars). Buffer mit erweiterten Attributen. |
Aktuelle Cursor-Position ermitteln und verändern
Rufen Sie Folgendes auf:
APIReturn = GetCursorPosition(XPosition, YPosition) APIReturn = SetCursorPosition(XPosition, YPosition)
Die Parameter sind:
XPosition
|
Integer. X steht für die Spalte der Cursor-Position. |
YPosition
|
Integer. Y steht für die Zeile der Cursor-Position. |
Editierbaren Text im angegebenen Bereich entfernen
Rufen Sie Folgendes auf:
APIReturn = ClearScreenText(TopLeftX, TopLeftY, BottomRightX, BottomRightY)
Die Parameter sind:
TopLeftX
|
Integer. Startkoordinate. |
TopLeftY
|
Integer. Startkoordinate. |
BottomRightX
|
Integer. Endkoordinate. |
BottomRightY
|
Integer. Endkoordinate. |
-1 in einem dieser Werte heißt: der gesamte Bildschirm.
IF-Befehl zum Suchen von Bildschirmtext aufrufen
Rufen Sie Folgendes auf:
APIReturn = CheckForScreenText(Text, Result, Position, TopLeftX, TopLeftY, Length, CaseSensitive)
Die Parameter sind:
Text
|
String. Zu suchender Text. |
Result
|
Boolean. "true" wenn der Text gefunden wurde. |
Position
|
Integer. Bildschirmposition, in der der Text gefunden wurde. |
TopLeftX
|
Integer. Startkoordinate. |
TopLeftY
|
Integer. Startkoordinate. |
Length
|
Integer. Textlänge. |
CaseSensitive
|
Boolean. "true" wenn Überprüfung auf Groß-/Kleinschreibung. |
Datentransfer vorbereiten für den direkten Transfer mit dem API-Client
Rufen Sie Folgendes auf:
APIReturn = SetAPIFileDetails(WorkFileNumber, UploadFlag, BinaryFlag, ReportFlag)
Die Parameter sind:
WorkFileNumber
|
Integer. Nummer des Work File. |
UploadFlag
|
Boolean. Wird zum Hochladen gesetzt. |
BinaryFlag
|
Boolean. Wird zum Übertragen von Binärdateien gesetzt. |
ReportFlag
|
Boolean. Wird für das Report-Format gesetzt. |
Die folgenden Ereignisse werden beim Hochladen gesendet:
GetAsciiUploadFileBuffer(ErrorCode, FileNumber, Data,
DataLength, DataFormat)
GetBinaryUploadFileBuffer(ErrorCode, WorkFileNumber, Data,
DataLength)
Die folgenden Ereignisse werden beim Herunterladen gesendet:
AsciiFileDataArrived(ErrorCode, FileNumber, DataLength, Data,
DataFormat)
BinaryFileDataArrived(ErrorCode, FileNumber, DataLength, Data,
DataFormat)
Die Ereignisparameter sind:
ErrorCode
|
Integer. Muss von der Programmierschnittstelle auf 0 gesetzt werden, um daraufhinzuweisen, dass der Vorgang ohne Fehler bearbeitet wurde. |
FileNumber
|
Integer. Das zu verarbeitende Work File. |
DataLength
|
Integer. Hochladen: übergeben wird die erwartete Größe; zurückgegeben wird die tatsächliche Größe. Herunterladen: wird auf die Größe der übertragenen Daten gesetzt. |
Data
|
Variant Arry(unsigned char). Die zu übertragenden Daten. |
DataFormat
|
String. Beschreibung des Datensatzformats. |
Bei einem normalen Datentransfer muss der API-Client einen Dateinamen angeben. Dieser Name kann vordefiniert werden.
Dateiname vordefinieren
Rufen Sie Folgendes auf:
APIReturn = SetWorkFileDetails(Name, FileNumber, Upload, Binary, Report)
Die Parameter sind:
Name
|
String. Zu verwendender Dateiname. |
FileNumber
|
Integer. Das verwendete Work File. |
Upload
|
Boolean. Wird zum Hochladen gesetzt. |
Binary
|
Boolean. Wird zum Übertragen von Binärdateien gesetzt. |
Report
|
Boolean. Wird für das Report-Format gesetzt. |
Wenn keine vordefinierten Werte für das verwendete Work File gefunden werden, wird der API-Client nach einem Dateinamen gefragt.
Dateiname übergeben
Reagieren Sie auf folgendes Ereignis:
APIReturn = GetFileName(ErrorCode, FileNumber, Upload, Binary, ToPrinter, Landscape, ControlChars, DosFormat, FileName)
Die Parameter sind:
ErrorCode
|
Integer. Bei Null wird der Dateiname benutzt und die Verarbeitung beginnt. Bei einem anderen Wert wird die Verarbeitung abgebrochen. |
FileNumber
|
Integer. Das verwendete Work File. |
Upload
|
Boolean. Wird zum Hochladen eines Dateinamens gesetzt. |
Binary
|
Boolean. Wird zum Übertragen von Binärdateien gesetzt. |
ToPrinter
|
Boolean. Wird zum Herunterladen auf einen Drucker gesetzt. |
Landscape
|
Boolean. Wird zum Drucken im Querformat gesetzt. |
ControlChars
|
Boolean. Wird zum Interpretieren der Steuerzeichen gesetzt. |
FileName
|
String. Zu verwendender Dateiname. |
Laufenden Datentransfer abbrechen
Rufen Sie Folgendes auf:
APIReturn = CancelFileTransfer(FileNumber)
Der Parameter ist:
FileNumber
|
Integer. Die Nummer des Work File, für das der Datentransfer abgebrochen wird. |
Dieser Aufruf ist synchron. Er stellt eine Anfrage zum Abbrechen in
eine Warteschlange. Wenn der Datentransfer abgeschlossen ist, wird das Ereignis
FileTransferComplete
gesendet.
FileTransferStarting(ErrorCode, FileNumber, Upload, Binary,
Headings)
Die Parameter sind:
ErrorCode
|
Integer. Bei Null wird der Dateiname benutzt und die Verarbeitung beginnt. Bei einem anderen Wert wird die Verarbeitung abgebrochen. |
FileNumber
|
Integer. Das verwendete Work File. |
Upload
|
Boolean. Wird zum Hochladen eines Dateinamens gesetzt. |
Binary
|
Boolean. Wird zum Übertragen von Binärdateien gesetzt. |
Headings
|
Variant Array (Strings). Enthält die Feldnamen des Datensatzes für den Datentransfer. |
FileTransferComplete(FileNumber, Upload, ErrorCode)
Die Parameter sind:
FileNumber
|
Integer. Das verwendete Work File. |
Upload
|
Boolean. Wird gesetzt, wenn das Hochladen beendet ist. |
ErrorCode
|
Integer. Wird auf Null gesetzt, wenn der Vorgang ohne Fehler bearbeitet wurde. |
FileTransferProgress(ProgressMessage)
Der Parameter ist:
ProgressMessage
|
String. Nachricht, die normalerweise im Ausgabefenster der Terminal-Anwendung angezeigt wird. |
Task oder Prozedurdatei ausführen
Rufen Sie Folgendes auf:
APIReturn = RunEntConTask(TaskName)
Der Parameter ist:
TaskName
|
String. Der Name eines unter Entire Connection definierten Task oder einer Prozedurdatei. |
Anmerkung:
Bei einer synchronen Verbindung kehrt die
Programmierschnittstelle erst dann zur aufrufenden Anwendung zurück, nachdem
der TaskName
geprüft und der Task oder die Prozedurdatei gestartet
wurde (nicht erst wenn der Task oder die Prozedurdatei beendet wird). Bei einem
asynchronen Aufruf kehrt die Programmierschnittstelle sofort zur aufrufenden
Anwendung zurück.
Auf die globalen Parameter +PARM0
bis
+PARM9
zugreifen
Rufen Sie Folgendes auf:
APIReturn = SetGlobalParameter(ParamNumber, Value) APIReturn = GetGlobalParameter(ParamNumber, Value)
Die Parameter sind:
ParamNumber
|
Integer. Zwischen 0 und 9 für den erforderlichen Parameter. |
Value
|
String. Wert des Parameters. |
Prozedurdatei abbrechen (nur synchroner Aufruf)
Rufen Sie Folgendes auf:
APIReturn = CancelRunningTask()
Die Programmierschnittstelle kehrt sofort zur aufrufenden Anwendung
zurück. Die Prozedurdatei sendet beim Abbruch das Ereignis
EntConTaskComplete
.
EntConTaskStarting(ErrorCode, TaskName)
Wird aufgerufen, wenn ein Task gestartet wird, der nicht explizit von der Programmierschnittstelle aufgerufen wurde (z.B. ein Task zum Anmelden).
Die Parameter sind:
ErrorCode
|
Integer. Muss auf 0 (Null) gesetzt werden, damit der Task starten kann. |
TaskName
|
String. Name des gestarteten Task. |
EntConTaskComplete(ErrorCode, TaskName)
Die Parameter sind:
ErrorCode
|
Integer. Ist auf Null gesetzt, wenn der Task fehlerfrei ausgeführt wurde. |
TaskName
|
String. Name des Task. |
TaskInputRequest(ErrorCode, DisplayOne DisplayTwo, Flags,
ReturnData)
Dieses Ereignis wird gesendet, wenn der Befehl
INPUT
in einer Prozedurdatei ausgeführt wird.
Die Parameter sind:
ErrorCode
|
Integer. Wird auf Null gesetzt, wenn die Eingabe erfolgt ist. | ||||||||||
DisplayOne
|
String. Erste Zeile der Eingabeaufforderung. | ||||||||||
DisplayTwo
|
String. Zweite Zeile der Eingabeaufforderung. | ||||||||||
Flags
|
|
||||||||||
ReturnData
|
String. Daten, die an die Prozedurdatei übergeben werden sollen. |
TaskDisplayMessageRequest(ErrorCode, Text, DialogBox,
MessageType, Response)
Dieses Ereignis wird gesendet, wenn der Befehl
WAIT
in einer Prozedurdatei ausgeführt wird.
Die Parameter sind:
ErrorCode
|
Integer. Wird auf 0 (Null) gesetzt, wenn die Prozedur weiterlaufen soll. Wenn Null nicht gesetzt ist, wird die Prozedur abgebrochen. |
Text
|
String. Anzuzeigende Nachricht. |
DialogBox
|
Boolean. "true", wenn ein Dialogfeld mit einer Nachricht erwartet wird. |
MessageType
|
Variant. Anzeigeparameter. |
Response
|
Integer. Standard-Microsoft-Antwort-Code der MessageBox (z.B.
"IDOK"), wenn DialogBox
"true" ist.
|
TaskError(ErrorCode, ErrorText)
Die Parameter sind:
ErrorCode
|
Integer. Vom Task ausgegebener Fehler-Code. |
ErrorText
|
String. Anzuzeigende Nachricht. |
Geöffnete Session beenden, aber die Verbindung mit Entire Connection bestehen lassen
Rufen Sie Folgendes auf:
APIReturn = CloseSession()
Alle Terminals schließen (nur asynchroner Aufruf)
Rufen Sie Folgendes auf:
APIReturn = CloseAllSessions()
Hiermit wird jede Terminal-Session beendet, einschließlich der Terminal-Sessions, die direkt geöffnet wurden. Dieser Aufruf sollte mit Vorsicht benutzt werden. Er bricht auch die Verbindung mit dem Terminal ab. Es wird kein Ereignis gesendet, das bestätigt, dass der Befehl abgearbeitet wurde.
Verbindung mit dem Terminal beenden (nur synchroner Aufruf)
Rufen Sie Folgendes auf:
APIReturn = BreakConnection(Closedown)
Der Parameter ist:
Closedown
|
Boolean. Ist auf "true" gesetzt, um das Terminal-Fenster beim Abbrechen der Verbindung zu schließen. |
Wenn Closedown
auf "false"
gesetzt wird und das Terminal nicht angemeldet ist, wird das Terminal trotzdem
geschlossen. Wenn das Terminal unsichtbar war, wird es beim Abbrechen der
Verbindung automatisch angezeigt.
CurrentSessionClosed
Die Session wurde beendet, aber nicht durch einen API-Aufruf. Dies kann passieren, wenn das Terminal interaktiv benutzt wird und der Benutzer die Session schließt oder wenn eine Zeitüberschreitung auftritt.
TerminalClosedown
Das Terminal wurde geschlossen, aber nicht durch einen API-Aufruf.
Dies kann im interaktiven Modus passieren, wenn der Benutzer die Anwendung
schließt oder wenn CloseAllSessions
von einer anderen API-Session
aufgerufen wird.
Aktuelle Größe des geöffneten Terminals ermitteln
Rufen Sie Folgendes auf:
APIReturn = GetScreenSize(NumberOfRows, NumberOfColumns)