4D v14.3

Open document

Home

 
4D v14.3
Open document

Open document 


 

Open document ( Dokumentname {; Dateityp}{; Modus} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
Dokumentname  String in Dokumentname oder kompletter Pfadname
oder leerer String für Standarddialog für Datei
Dateityp  String in Liste der anzuzeigenden Dokumenttypen
oder *, um alle Typen anzuzeigen
Modus  Lange Ganzzahl in Modus für Öffnen des Dokuments
Funktionsergebnis  DokRef in Referenznummer des Dokuments

Die Funktion Open document öffnet das Dokument, dessen Namen bzw. Pfadnamen Sie in Dokumentname übergeben haben.
Ist Dokumentname ein leerer Text, wird durch Open document der Standarddialog zum Öffnen von Dokumenten angezeigt. Brechen Sie diesen Dialog ab, wird kein Dokument geöffnet. Open document gibt als DokRef Null zurück und setzt die OK Variable auf 0.

  • Wird das Dokument korrekt geöffnet, gibt Open document die Referenznummer des Dokuments zurück, die Systemvariable OK nimmt den Wert 1 an.
  • Ist das Dokument bereits im Lesemodus geöffnet und der Parameter Modus nicht gewählt, öffnet Open document das Dokument im Lese-/Schreibmodus und setzt die Systemvariable OK auf 1.
  • Ist das Dokument bereits im Lese-/Schreibmodus geöffnet und Sie versuchen, es im Schreibmodus zu öffnen, erhalten Sie eine Fehlermeldung (-43). Sie können es jedoch im Nur-Lesen Modus öffnen. Die Systemvariable OK wird dann auf 1 gesetzt.
  • Gibt es das Dokument nicht oder ist es bereits geöffnet, erhalten Sie eine Fehlermeldung.

Im Parameter Dateityp übergeben Sie den/die Dateitypen, die im Öffnen-Dialog auswählbar sind. Sie können eine Liste der Dokumenttypen übergeben, getrennt durch Strichpunkt (;). Für jeden gesetzten Typ wird im Menü zum Auswählen des Typs im Dialogfenster ein Eintrag hinzugefügt.
Auf Mac OS können Sie einen Macintosh Standardtyp (TEXT, APPL, etc.) oder einen UTI Typ(Uniform Type Identifier) übergeben. Apple hat UTIs zur Standardisierung von Dateitypen definiert. So ist z.B. "public.text" der UTI Typ für Dateien vom Typ Text. Weitere Informationen dazu finden Sie im Internet unter:
https://developer.apple.com/library/mac/#documentation/FileManagement/Conceptual/
understanding_utis/understand_utis_intro/understand_utis_intro.html

Unter Windows können Sie auch einen Mac OS Standardtyp übergeben - 4D sorgt intern für die Entsprechung - oder eine Dateierweiterung (.txt, .exe, etc.) Beachten Sie, dass der Benutzer unter Windows durch Eingabe von *.* die Anzeige aller Dateitypen erzwingen kann. In diesem Fall führt 4D jedoch eine zusätzliche Überprüfung der gewählten Dateitypen aus: Wählt der Benutzer einen nicht zugelassenen Dateityp, gibt die Funktion einen Fehler zurück.
Wollen Sie die angezeigten Dateien nicht auf bestimmte Typen beschränken, übergeben Sie in Dateityp den String * (Stern) oder ".*".

Mit dem optionalen Parameter Modus definieren Sie, wie Dokumentname geöffnet werden soll. Es gibt vier Möglichkeiten. 4D bietet unter dem Thema Systemdokumente folgende vordefinierten Konstanten:

Konstante Typ Wert
Get Pathname Lange Ganzzahl 3
Read and Write Lange Ganzzahl 0
Read Mode Lange Ganzzahl 2
Write Mode Lange Ganzzahl 1

Ist ein Dokument geöffnet, setzt Open document die Dateiposition an den Anfang des Dokuments. Die Funktion Append document setzt sie ans Ende der Datei.

Haben Sie ein Dokument geöffnet, können Sie mit den Befehlen RECEIVE PACKET und SEND PACKET im Dokument lesen und schreiben. Sie können diese auch mit Get document position und SET DOCUMENT POSITION kombinieren, um direkt auf jeden beliebigen Teil des Dokuments zuzugreifen.

Vergessen Sie nicht, bei Bedarf CLOSE DOCUMENT für das Dokument aufzurufen.

Folgendes Beispiel öffnet ein vorhandenes Dokument mit Namen Notiz, trägt den String “Adieu” ein und schließt das Dokument. Enthielt das Dokument bereits den String “Hallo”, wird er überschrieben:

 C_TIME(vhDokRef)
 vhDocRef:=Open document("Notiz.txt";Read and Write` Öffne Dokument mit Namen Notiz
 If(OK=1)
    SEND PACKET(vhDokRef;"Adieu") ` Schreibe ein Wort in Dokument
    CLOSE DOCUMENT(vhDokRef) ` Schließe Dokument
 End if

Sie können nun ein Dokument lesen, das bereits im Schreibmodus geöffnet ist:

 vDoc:=Open document("ÜbergebeDatei";"TEXT") ` Datei ist geöffnet
  ` Bevor Datei geschlossen wird, kann sie im Nur Lesen Modus eingesehen werden:
 vRef:=Open document("ÜbergebeDatei";"TEXT";Read Mode)

Wurde das Dokument korrekt geöffnet, wird die Systemvariable OK auf 1 gesetzt, sonst auf 0 (Null). Die Systemvariable Document enthält nach dem Aufruf den vollen Namen des Dokuments.
Übergeben Sie in Modus 3, gibt die Funktion ?00:00:00? zurück (keine Referenz auf Dokument). Das Dokument wird nicht geöffnet, die Systemvariablen Document und OK werden jedoch aktualisiert:

  • OK ist gleich 1.
  • Document enthält den kompletten Pfadnamen und den Namen von Dokument .

Hinweis: Übergeben Sie einen leeren String, erscheint das Dialogfenster zum Öffnen einer Datei. Wählt der Benutzer ein Dokument und klickt auf die Schaltfläche OK, wird Dokument auf den Pfad des Dokuments gesetzt, das der Benutzer gewählt hat und OK wird auf 1 gesetzt. Hat der Benutzer auf die Schaltfläche Abbrechen geklickt, ist OK gleich 0 (Null).

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Systemdokumente
Nummer: 264

Dieser Befehl ändert die Systemvariable OKDieser Befehl ändert die Systemvariable DocumentDieser Befehl ändert die Systemvariable Error

 
GESCHICHTE 

Geändert: 4D v11 SQL

 
SIEHE AUCH 

Append document
Create document

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v11 SQL Release 6)
4D Programmiersprache ( 4D v12.4)
4D Programmiersprache ( 4D v14 R3)
4D Programmiersprache ( 4D v14 R2)
4D Programmiersprache ( 4D v13.5)
4D Programmiersprache ( 4D v14.3)
4D Programmiersprache ( 4D v14 R4)