LotusRead

LotusRead liest Dateien die im Lotus-Format WK1 vorliegen. Die Dateien haben i. allg. die Dateinamenerweiterung .wk1.

smMatrix = LotusRead(ssFileName)
<smMatrix, rmType> = LotusRead(ssFileName)
<rmData, smString, rmType> = LotusRead(ssFileName)
smMatrix = LotusRead(ssFileName, hStatusWnd)
<smMatrix, rmType> = LotusRead(ssFileName, hStatusWnd)
<rmData, smString, rmType> = LotusRead(ssFileName, hStatusWnd)

Returnwert

smMatrix enthält die Daten der Lotustabelle als String-Matrix. Falls ein Fehler beim Lesen der Datei auftritt, hat smMatrix den skalaren Wert "error". rmData ist eine reelle Matrix. Falls das Element der Typ-Matrix rmType den Wert 0 oder 2 hat, hat das entsprechende Element in rmData den Wert 0.0.

smString ist eine String-Matrix. Falls das Element der Typ-Matrix rmType den Typ 0 oder einen Wert kleiner als 0 hat, hat das entsprechende Element in smString den Wert "" (leerer String).

rmType ist eine reelle Matrix, deren Elemente den Datentyp der entsprechenden Zellen der Tabelle enthalten. Die Elemente können einen der folgenden Werte annehmen:

Wert Bedeutung
< 0 Das Feld der Tabelle ist eine Zahl. Die Anzahl der Nachkommastellen kann wie folgt berechnet werden: Nachkommastellen = -Wert -1. Beispiel: Ein Wert -2 bedeutet, das die Zahl mit 1 Nachkommastelle angezeigt werden sollte.
2 Das Feld der Tabelle ist eine Zeichenkette (String).
0 Das Feld der Tabelle ist leer.

Parameter

ssFileName

ssFileName ist der Name der zu lesenden Datei, z. B.: "c:\data\test.wk1".

hStatusWnd

Ist die Zugriffsnummer des Statusfensters, zur Ausgabe einer Fortschrittsanzeige (Defaultwert ist 0). Die Zugriffsnummer kann mit der Funktion AppGetStatusBarHandle erfragt werden.

Kommentar

Alle Ausgabeparameter haben die gleiche Anzahl an Zeilen und Spalten.

Wenn ein Fehler auftritt, haben die Ausgabeparameter nur ein Element mit dem Wert 0.0 bzw. "error".

Bevor die Funktion verwendet werden kann, muss die DLL rs_lotus.dll geladen werden (siehe Beispiel).

Beispiel

def test_LotusRead()
{
    loadlib("rs_lotus.dll")
    <rmData, smMat, rmType> = LotusRead("d:/uniplot/scriptsrc/test/test.wk1")
    if (smMat[1] == "error" && rmType[1] == 0) {
        error("test.wk1 - Lesefehler");
    }
    if (rmData[2;2] != 3) error();
}
test_LotusRead()

Siehe auch

IsFileLotus

id-773681