awfile.pbi

Included Files:
awzip.pbi
Included in:
awmessage.pbi

Overview


Description

awfile.pbi
Version 0.2

Dateifunktionen für PureBasic 4.50+
Lizenz: LGPL V3

Systemanforderungen:
Windows[x] Linux[x] Mac[ ]
x86[x] x64[x] PPC[ ]
ASCII[x] Unicode[x]

Top, Back


Functions and Macros
AWPB_FILE_CloseFile(fid.i)
Schließt die Datei.
AWPB_FILE_CreateFile.i(filename.s, hdr.s)
Erzeugt eine Datei mit Header.
AWPB_FILE_FinishFile.b(fid.i)
Schreibt einen abschließenden Header und schließt die Datei.
AWPB_FILE_FreeBlock.i(*blockadr)
Gibt den Speicher des mit AWPB_FILE_ReadBlock() gelesenen Blockes frei.
AWPB_FILE_ReadBlock.i(fid.i, *len)
Liest den nächsten Binärblock aus der Datei, dekomprimiert ihn ggf und gibt die Adresse auf den Speicher zurück.
AWPB_FILE_ReadBlocksize.l(fid.i)
Liest die Größe des folgenden Blocks aus.
AWPB_FILE_ReadFile.i(filename.s, hdr.s)
Öffnet eine Datei.
AWPB_FILE_ReadHeader.s(fid.i)
Liest den nächsten Header aus der Datei (4 Bytes) und gibt ihn als String zurück.
AWPB_FILE_ReadString.s(fid.i)
Liest den nächsten String aus der Datei und gibt ihn zurück.
AWPB_FILE_SkipBlock.b(fid.i)
Überspringt den aktuellen Block.
AWPB_FILE_WriteBinaryHdr.b(fid.i, hdr.s, *binblock, binlen.i, complevel.i = #AWPB_ZIP_COMP_MAX)
Schreibt einen Header mit Längenfeld und einen String in die Datei.
AWPB_FILE_WriteByteHdr.b(fid.i, hdr.s, value.b)
Schreibt einen Header mit Längenfeld und einen ByteWert (1 Byte) in die Datei.
AWPB_FILE_WriteLongHdr.b(fid.i, hdr.s, value.l)
Schreibt einen Header mit Längenfeld und einen LongWert (4 Bytes) in die Datei.
AWPB_FILE_WriteQuadHdr.b(fid.i, hdr.s, value.q)
Schreibt einen Header mit Längenfeld und einen QuadWert (8 Bytes) in die Datei.
AWPB_FILE_WriteStringHdr.b(fid.i, hdr.s, str.s, format.b = #PB_Unicode, complevel.i = #AWPB_ZIP_COMP_MAX)
Schreibt einen Header mit Längenfeld und einen String in die Datei.
AWPB_FILE_WriteWordHdr.b(fid.i, hdr.s, value.w)
Schreibt einen Header mit Längenfeld und einen WordWert (2 Bytes) in die Datei.

Top, Back


AWPB_FILE_CloseFile(fid.i)

Schließt die Datei.

Parameters:

fid
FileID

Top, Back


AWPB_FILE_CreateFile.i(filename.s, hdr.s)

Erzeugt eine Datei mit Header.
Bei einem Fehler wird #Null zurückgegeben, ansonsten wird die FileID zurückgegeben

Parameters:

filename
Dateiname inkl Pfad
hdr
allgemeiner Header der Datei; max 4 Zeichen werden benutzt

Top, Back


AWPB_FILE_FinishFile.b(fid.i)

Schreibt einen abschließenden Header und schließt die Datei.
Bei einem Fehler wird #False zurückgegeben, ansonsten #True.

Parameters:

fid
FileID

Top, Back


AWPB_FILE_FreeBlock.i(*blockadr)

Gibt den Speicher des mit AWPB_FILE_ReadBlock() gelesenen Blockes frei.

Parameters:

*blockadr
Adresse des gelesenen Blocks

Top, Back


AWPB_FILE_ReadBlock.i(fid.i, *len)

Liest den nächsten Binärblock aus der Datei, dekomprimiert ihn ggf und gibt die Adresse auf den Speicher zurück.
Die Länge wird in len.i gespeichert, dessen Adresse übergeben werden muss. Im Fehlerfall wird #Null zurückgegeben.
Die zurückgegebene Adresse muss mit AWPB_FILE_FreeBlock() freigegeben werden.

Parameters:

*len
fid
FileID

Top, Back


AWPB_FILE_ReadBlocksize.l(fid.i)

Liest die Größe des folgenden Blocks aus.
ACHTUNG: Nicht aufrufen, wenn danach ReadBlock(), ReadString() oder SkipBlock() aufgerufen wird!
ReadBlockSize() darf nur verwendet werden, wenn die folgenden Daten mittels der PureBasic-Funktionen gelesen werden sollen. Dazu gehören:

Parameters:

fid
FileID

Top, Back


AWPB_FILE_ReadFile.i(filename.s, hdr.s)

Öffnet eine Datei. Falls der Header nicht passt oder ein Fehler auftrag wird #False zurückgegeben; ansonsten #True.

Parameters:

filename
Dateiname inkl Pfad
hdr
allgemeiner Header der Datei; max 4 Zeichen werden benutzt

Top, Back


AWPB_FILE_ReadHeader.s(fid.i)

Liest den nächsten Header aus der Datei (4 Bytes) und gibt ihn als String zurück.
Tritt ein Fehler auf, wird ein leerer String zurückgegeben.

Parameters:

fid
FileID

Top, Back


AWPB_FILE_ReadString.s(fid.i)

Liest den nächsten String aus der Datei und gibt ihn zurück.
Tritt ein Fehler auf, wird ein leerer String zurückgegeben.

Parameters:

fid
FileID

Top, Back


AWPB_FILE_SkipBlock.b(fid.i)

Überspringt den aktuellen Block. Tritt ein Fehler auf, wird #False zurückgegeben, ansonsten #True.

Parameters:

fid
FileID

Top, Back


AWPB_FILE_WriteBinaryHdr.b(fid.i, hdr.s, *binblock, binlen.i, complevel.i = #AWPB_ZIP_COMP_MAX)

Schreibt einen Header mit Längenfeld und einen String in die Datei.
Falls keine Kompression möglich ist, wird der Binärblock unkomprimiert geschrieben.
Rückgabe ist #True bei erfolg, sonst #False.

Parameters:

*binblock
Zeiger auf Binärdaten
binlen
Länge der Daten
complevel
Kompressionsstärke; einer der folgenden Werte:
  • #AWPB_ZIP_COMP_0
  • #AWPB_ZIP_COMP_1
  • #AWPB_ZIP_COMP_2
  • #AWPB_ZIP_COMP_3
  • #AWPB_ZIP_COMP_4
  • #AWPB_ZIP_COMP_5
  • #AWPB_ZIP_COMP_6
  • #AWPB_ZIP_COMP_7
  • #AWPB_ZIP_COMP_8
  • #AWPB_ZIP_COMP_9
  • #AWPB_ZIP_COMP_STORE
  • #AWPB_ZIP_COMP_NONE
  • #AWPB_ZIP_COMP_FAST
  • #AWPB_ZIP_COMP_NORMAL
  • #AWPB_ZIP_COMP_MAX (default)
fid
FileID
hdr
Header; max 4 Zeichen werden benutzt

Top, Back


AWPB_FILE_WriteByteHdr.b(fid.i, hdr.s, value.b)

Schreibt einen Header mit Längenfeld und einen ByteWert (1 Byte) in die Datei.
Rückgabe ist #True bei erfolg, sonst #False

Parameters:

fid
FileID
hdr
Header; max 4 Zeichen werden benutzt
value
Byte-Value

Top, Back


AWPB_FILE_WriteLongHdr.b(fid.i, hdr.s, value.l)

Schreibt einen Header mit Längenfeld und einen LongWert (4 Bytes) in die Datei.
Rückgabe ist #True bei erfolg, sonst #False

Parameters:

fid
FileID
hdr
Header; max 4 Zeichen werden benutzt
value
Long-Value

Top, Back


AWPB_FILE_WriteQuadHdr.b(fid.i, hdr.s, value.q)

Schreibt einen Header mit Längenfeld und einen QuadWert (8 Bytes) in die Datei.
Rückgabe ist #True bei erfolg, sonst #False

Parameters:

fid
FileID
hdr
Header; max 4 Zeichen werden benutzt
value
Quad-Value

Top, Back


AWPB_FILE_WriteStringHdr.b(fid.i, hdr.s, str.s, format.b = #PB_Unicode, complevel.i = #AWPB_ZIP_COMP_MAX)

Schreibt einen Header mit Längenfeld und einen String in die Datei.
Das Format (ASCII/UTF8/UniCode) kann angegeben werden, genauso wie eine Kompressionsstufe. Falls keine Kompression möglich ist, wird der String unkomprimiert geschrieben.
Rückgabe ist #True bei erfolg, sonst #False

Parameters:

complevel
Kompressionsstärke; einer der folgenden Werte:
  • #AWPB_ZIP_COMP_0
  • #AWPB_ZIP_COMP_1
  • #AWPB_ZIP_COMP_2
  • #AWPB_ZIP_COMP_3
  • #AWPB_ZIP_COMP_4
  • #AWPB_ZIP_COMP_5
  • #AWPB_ZIP_COMP_6
  • #AWPB_ZIP_COMP_7
  • #AWPB_ZIP_COMP_8
  • #AWPB_ZIP_COMP_9
  • #AWPB_ZIP_COMP_STORE
  • #AWPB_ZIP_COMP_NONE
  • #AWPB_ZIP_COMP_FAST
  • #AWPB_ZIP_COMP_NORMAL
  • #AWPB_ZIP_COMP_MAX (default)
fid
FileID
format
Stringformat, einer folgender Werte:
  • #PB_ASCII
  • #PB_UTF8
  • #PB_UniCode (default)
hdr
Header; max 4 Zeichen werden benutzt
str

Top, Back


AWPB_FILE_WriteWordHdr.b(fid.i, hdr.s, value.w)

Schreibt einen Header mit Längenfeld und einen WordWert (2 Bytes) in die Datei.
Rückgabe ist #True bei erfolg, sonst #False

Parameters:

fid
FileID
hdr
Header; max 4 Zeichen werden benutzt
value
Word-Value

Top, Back