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 Roht ext 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 darauf hinzuweisen, 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 Array(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)