Know How
Dateien laden
Sequenzsteuerung durch Parameter
Verwandte Artikel
Dateien in FAMOS® laden
Hintergrundwissen zur
Sequenzentwicklung und Fehlersuche
Beim Erstellen einer Sequenz kann das automatische Laden von Dateien eine Hürde darstellen.
Dateien einer Fremdapplikation beispielsweise müssen über einen Einlesefilter eingelesen werden, der sich - sofern noch nicht vorhanden - über den Dateiassistent erstellen lässt.
Doch auch das Laden von Daten im FAMOS® Format kann in einer Fehlermeldung münden.
Die häufigste Ursache für Lade-Probleme bei FAMOS® - kompatiblen Dateien in Sequenzen sind folgende:
1. Der Dateiname ist nicht FAMOS 4.0 kompatibel (Problem besteht bei FAMOS 5.0 nicht mehr). d. h. der Dateiname enthält Sonderzeichen oder eine Zahl steht an erster Stelle -> Verwendung von geschweiften Klammern {}
2. Der Dateiname auf der Festplatte lautet anders
als der in der Variablenliste angemeldete Namen,
auf den in der Sequenz zugegriffen wird.
Hintergrund:
Meist enthält eine Datei nur eine einzige Variable. Häufig ist dann der Variablennamen identisch mit dem Dateinamen, z. B. anstieg.dat, bogen.dat...
Das muss jedoch nicht immer so sein. Wird dann über Parameter in einer Sequenz auf diese nicht in der Variablenliste vorhandenen Variablen zugegriffen, erfolgt eine Fehlermeldung. Hier bietet sich der Zugriff auf die File Objekteigenschaften an.
Dateinamen und Variablennamen sind zwei verschiedene Eigenschaften!
Der Variablenname kann sich also vom Dateinamen unterscheiden, was für die Entwicklung von automatisierten Sequenzen eine ganz wichtige Erkenntnis darstellt!

Abb.: Dateisystem von FAMOS®
Warum unterscheiden sich nun Dateiname und der in der Variablenliste angemeldete Name?
Nun, eine Datei kann sich ganz unterschiedlich zusammensetzen. Sie kann Textvariablen enthalten, lange Variablennamen benutzen (der als Dateiname gar nicht zulässig wären), aus mehreren Variablen bestehen oder auch Gruppen enthalten, die wiederum aus mehreren Variablen, Textvariablen usw. bestehen können.
Würde der Variablennamen immer gleich dem Dateinamen lauten, wie würden dann mehrere Variablen einer Datei in der Variablenauswahl angemeldet?
Für die Entwicklung von Sequenzen mit Parameterübergabe und automatischem Laden muss also dieser Umstand berücksichtigt werden.
Die folgende Beispielsequenz Objektinformationen_Datei_Gruppe lädt einen beliebigen Datensatz und stellt die darin enthaltenen Objektnamen in einer Gruppenvariable mit der Information über den Datentypen dar.
Dies ermöglicht ein Manipulieren der Informationen, bevor sie in einer Sequenz Verwendung finden. Bei einer direkten Verwendung von Parametern zur
Variablenübergabe wäre dies nicht möglich.
Sequenz: Objektinformation_Datei_Gruppe.seq
;Laden eines beliebigen Datensatzes und
;Bereitstellung der enthaltenen Objektnamen in einer Gruppenvariable
;mit der Information über den Datentyp
tmp:_DateiPfad=DlgDateiName("","dat","Bitte eine Quelldatei auswählen...",0)
tmp:_FileName=FsSplitPath(tmp:_DateiPfad,2)
tmp:_DateiID=FileOpenDSF(tmp:_DateiPfad,0)
tmp:_ObjektAnzahl=FileObjNum?(tmp:_DateiID)
tmp:_ObjektPointer=1
Namen_<tmp:_FileName>=GrNeu()
Solange tmp:_ObjektPointer<=tmp:_ObjektAnzahl
tmp:_ObjektTyp=FileObjType?(tmp:_DateiID,tmp:_ObjektPointer)
tmp:_ObjektName=FileObjName?(tmp:_DateiID,tmp:_ObjektPointer)
Namen_<tmp:_FileName>:<tmp:_ObjektName>=tmp:_ObjektTyp
tmp:_ObjektPointer=tmp:_ObjektPointer+1
Ende
tmp:_Fehler=FileClose(tmp:_DateiID)
Entferne tmp

Abb: Sequenz lädt und liest Datei mit mehreren Variablen aus
SINEWS Services |
Sequenzen, Tutorials, Artikel