Function DE Version 4.60

@ReadAttachedFile

Attachments Database Import Note

Syntax

@ReadAttachedFile(OBJECTFILEHANDLE1;RETTYPE2;LENGTH3);
@ReadAttachedFile(OBJECTFILEHANDLE1;RETTYPE2;TEXT3);
@ReadAttachedFile(OBJECTFILEHANDLE1;RETTYPE2;TEXTLIST3);
@ReadAttachedFile(OBJECTFILEHANDLE1;RETTYPE2;LENGTH3;STATUS4);
@ReadAttachedFile(OBJECTFILEHANDLE1;RETTYPE2;TEXT3;STATUS4);
@ReadAttachedFile(OBJECTFILEHANDLE1;RETTYPE2;TEXTLIST3;STATUS4);

Beschreibung

Liest aus dem File-Attachment mit dem OBJECTFILEHANDLE OBJECTFILEHANDLE1 einen Satz mit der Länge FN LENGTH3. Dieser Satz wird als Variable des Datentyp’s, der in TEXT RETTYPE2 spezifiziert wird, zurückgegeben.
Wird TEXT/TEXTLIST TEXT3/TEXTLIST3 angegeben, wird bis zum Auftreten des ersten Trennzeichenstrings (TEXT3/TEXTLIST3) gelesen.
Es wird der gelesene String ohne den auslösenden Trennzeichenstring zurückgegeben. Beim nächsten Aufruf von @ReadOSFile wird ab dem Zeichen hinter dem auslösenden Trennzeichenstring gelesen.
Wird @ReadOSFile mit dem Parameter NUMBER STATUS4 aufgerufen, wird in diesem der aktuelle Lesestatus zurückgegeben:

0=OK
1=End of file
2=Error

Fehlt STATUS4, so wird das Erreichen des Dateiendes bei einem Leseversuch mit @ERROR END OF FILE beantwortet, sobald kein Byte mehr eingelesen werden konnte. Diese Fehlermeldung aber wird nicht zurückgegeben, wenn STATUS4 angegeben wird!

RETTYPE2:
A=TEXT
B=BINARY (derzeit als RICHTEXT)
N=NUMBER
F=FLOAT
L=FLOAT (konvertierter long)
D=FLOAT (konvertiertes DWORD)
T=TIMEDATE

Beispiel: @ReadAttachedFile(OBJECTFILEHANDLE1;RETTYPE2;LENGTH3)

DBHANDLE1:=@OpenDB("TESTDB\\TESTDB1.NSF");
NOTEID:=8450;
NOTEHANDLE1:=@OpenNoteByID(DBHANDLE1;NOTEID;NOTEHANDLE1);

FNATTACHMENTNUMBER2:=1;
MODE3:="RB";
OBJECTFILEHANDLE1:=@OpenAttachedFile(NOTEHANDLE1;FNATTACHMENTNUMBER2;MODE3);

RETTYPE2:="A";
LENGTH3:=10;
READ_TEXT:=@ReadAttachedFile(OBJECTFILEHANDLE1;RETTYPE2;LENGTH3);
@LogReport(READ_TEXT);
OBJECTFILEHANDLE1:=@CloseAttachedFile(OBJECTFILEHANDLE1);

NOTEHANDLE1:=@CloseNote(NOTEHANDLE1;0);
DBHANDLE1:=@CloseDB(DBHANDLE1);

Es wird die DB mit dem OSPATH "TESTDB\\TESTDB1.NSF" geöffnet.
Es wird das Dokument mit der NOTEID 8450 geöffnet.
Das erste File-Attachment dieses Dokuments wird geöffnet.
Es werden die ersten 10 Byte dieses File-Attachment als TEXT ausgelesen und im APILOG ausgegeben.
Das File-Attachment wird wieder geschlossen.
Das Dokument wird wieder geschlossen.
Die DB wird wieder geschlossen.

Beispiel: @ReadOSFile(FILEHANDLE1;RETTYPE2;TEXT3)


DBHANDLE1:=@OpenDB("TESTDB\\TESTDB1.NSF");
NOTEID:=8450;
NOTEHANDLE1:=@OpenNoteByID(DBHANDLE1;NOTEID;NOTEHANDLE1);

FNATTACHMENTNUMBER2:=1;
MODE3:="RB";
OBJECTFILEHANDLE1:=@OpenAttachedFile(NOTEHANDLE1;FNATTACHMENTNUMBER2;MODE3);

RETTYPE2:="A";
TEXT3:="*";
READ_TEXT:=@ReadAttachedFile(OBJECTFILEHANDLE1;RETTYPE2;TEXT3);
@LogReport(READ_TEXT);
OBJECTFILEHANDLE1:=@CloseAttachedFile(OBJECTFILEHANDLE1);

NOTEHANDLE1:=@CloseNote(NOTEHANDLE1;0);
DBHANDLE1:=@CloseDB(DBHANDLE1);

Es wird die DB mit dem OSPATH "TESTDB\\TESTDB1.NSF" geöffnet.
Es wird das Dokument mit der NOTEID 8450 geöffnet.
Das erste File-Attachment dieses Dokuments wird geöffnet.
Es wird bis zum ersten "*"-Zeichen aus diesem File-Attachment gelesen und dieses als TEXT zurückgegeben und im APILOG ausgegeben.
Das File-Attachment wird wieder geschlossen.
Das Dokument wird wieder geschlossen.
Die DB wird wieder geschlossen.

Beispiel: @ReadOSFile(FILEHANDLE1;RETTYPE2;TEXTLIST3)

DBHANDLE1:=@OpenDB("TESTDB\\TESTDB1.NSF");
NOTEID:=8450;
NOTEHANDLE1:=@OpenNoteByID(DBHANDLE1;NOTEID;NOTEHANDLE1);

FNATTACHMENTNUMBER2:=1;
MODE3:="RB";
OBJECTFILEHANDLE1:=@OpenAttachedFile(NOTEHANDLE1;FNATTACHMENTNUMBER2;MODE3);

RETTYPE2:="A";
TEXTLIST3:="*":@Newline;
READ_TEXT:=@ReadAttachedFile(OBJECTFILEHANDLE1;RETTYPE2;TEXTLIST3);
@LogReport(READ_TEXT);
OBJECTFILEHANDLE1:=@CloseAttachedFile(OBJECTFILEHANDLE1);

NOTEHANDLE1:=@CloseNote(NOTEHANDLE1;0);
DBHANDLE1:=@CloseDB(DBHANDLE1);

Es wird die DB mit dem OSPATH "TESTDB\\TESTDB1.NSF" geöffnet.
Es wird das Dokument mit der NOTEID 8450 geöffnet.
Das erste File-Attachment dieses Dokuments wird geöffnet.
Es wird bis zum ersten "*"-Zeichen bzw. @Newline aus diesem File-Attachment gelesen und dieses als TEXT zurückgegeben und im APILOG ausgegeben.
Das File-Attachment wird wieder geschlossen.
Das Dokument wird wieder geschlossen.
Die DB wird wieder geschlossen.

Beispiel: @ReadOSFile(FILEHANDLE1;RETTYPE2;LENGTH3;STATUS4)

DBHANDLE1:=@OpenDB("TESTDB\\TESTDB1.NSF");
NOTEID:=8450;
NOTEHANDLE1:=@OpenNoteByID(DBHANDLE1;NOTEID;NOTEHANDLE1);

FNATTACHMENTNUMBER2:=1;
MODE3:="RB";
OBJECTFILEHANDLE1:=@OpenAttachedFile(NOTEHANDLE1;FNATTACHMENTNUMBER2;MODE3);

RETTYPE2:="A";
LENGTH3:=10;
READ_TEXT:=@ReadAttachedFile(OBJECTFILEHANDLE1;RETTYPE2;LENGTH3;STATUS4);
@LogReport(READ_TEXT);
OBJECTFILEHANDLE1:=@CloseAttachedFile(OBJECTFILEHANDLE1);

NOTEHANDLE1:=@CloseNote(NOTEHANDLE1;0);
DBHANDLE1:=@CloseDB(DBHANDLE1);

Es wird die DB mit dem OSPATH "TESTDB\\TESTDB1.NSF" geöffnet.
Es wird das Dokument mit der NOTEID 8450 geöffnet.
Das erste File-Attachment dieses Dokuments wird geöffnet.
Es werden die ersten 10 Byte dieses File-Attachment als TEXT ausgelesen und im APILOG ausgegeben.
Der aktuelle Lese-Status wird in STATUS4 zurückgegen
zurückgegeben und im APILOG ausgegeben.
Das File-Attachment wird wieder geschlossen.
Das Dokument wird wieder geschlossen.
Die DB wird wieder geschlossen.