virtfile$ = DefineVirtualFileFromString(data$, name$[, writable])
DefineVirtualFileFromString()
hat zwei obligatorische Argumente:
Im ersten Argument data$
stellen Sie die Daten zur Verfügung,
die ihre virtuelle Datei darstellen soll. Im zweiten Argument
name$
übergeben Sie den Namen der virtuellen Datei. Das einzige,
was hier wichtig ist, ist die Dateierweiterung. Der Name spielt
keine Rolle, aber die Dateierweiterung sollte übergeben werden,
da nicht alle Dateien leicht durch einen Blick auf ihre Header-Bytes
identifiziert werden können.
Ab Hollywood 6.1 unterstützt DefineVirtualFileFromString()
auch die Erstellung von virtuellen Dateien, in die geschrieben
werden kann. Wenn die virtuelle Datei schreibbar sein soll,
müssen Sie das Argument writable
auf True
setzen. In diesem
Fall wird DefineVirtualFileFromString()
eine beschreibbare
virtuelle Datei für Sie erstellen. Die beschreibbare Datei
wird mit dem im Argument data$
definierten Parameter initialisiert
werden. Wenn Sie eine leere Zeichenkette im Argument data$
übergeben, wird eine neue, leere, beschreibbare virtuelle Datei erstellt.
DefineVirtualFileFromString()
gibt eine Zeichenfolge zurück,
die die virtuelle Datei beschreibt. Sie können diese Zeichenfolge
allen Hollywood-Befehlen übergeben, die einen Dateinamen akzeptieren.
Bitte beachten Sie, dass der Inhalt der Datei sich nicht nur
auf Text beschränkt. Sie können auch Binärdaten innerhalb des
Argumentes data$
übergeben, da Zeichenketten von Hollywood
auch spezielle Steuer- und das Nullzeichen enthalten können.
So ist es durchaus möglich, dass Sie mit diesem Befehl virtuelle
Dateien mit Binärdaten erstellen können.
Wenn Sie fertig mit der virtuellen Datei sind, sollten Sie die virtuelle Datei wieder löschen, indem Sie den Befehl UndefineVirtualStringFile() benutzen. Dies zu tun ist wichtig, weil Sie so jeden Arbeitspeicher, welchen die virtuelle Datei belegt, wieder freigeben.
Siehe auch DefineVirtualFile(), GetTempFileName() und UndefineVirtualStringFile().
True
, wenn Sie in die virtuelle Datei schreiben
wollen, andernfalls False
(voreingestellt ist False
) (V6.1)vf$ = DefineVirtualFileFromString("This is a virtual file test.", "test.txt") OpenFile(1, vf$) While Not Eof(1) Do Print(Chr(ReadChr(1))) CloseFile(1) UndefineVirtualStringFile(vf$)Der obige Code erstellt eine virtuelle Textdatei und liest dann mit der Hollywood-DOS-Bibliothek aus dieser virtuellen Datei.
data$ = DownloadFile("http://www.airsoftsoftwair.de/images/" .. "products/hollywood/47_shot1.jpg") vf$ = DefineVirtualFileFromString(data$, "image.jpg") LoadBrush(1, vf$) DisplayBrush(1, 0, 0) UndefineVirtualStringFile(vf$) data$ = NilDer obige Code lädt ein JPEG-Bild in eine Zeichenkette und lädt dann das Bild direkt in Hollywood, ohne sie zuerst in einer externe Datei speichern zu müssen.
vf$ = DefineVirtualFileFromString("", "test.txt", True) OpenFile(1, vf$, #MODE_WRITE) WriteLine(1, "A virtual file test!") CloseFile(1) CopyFile(vf$, GetSystemInfo().UserHome) UndefineVirtualStringFile(vf$)Der obige Code schreibt eine Zeichenkette in eine virtuelle Datei und kopiert dann diese virtuelle Datei in das Home-Verzeichnis des Benutzers.