Promotic
WikipediaLinkedInYoutubeTwitterFacebook

FileBinaryWrite - metoda objektu Pm

Popis:
Uložení obsahu proměnné typu Array (pole hodnot) do binárního souboru.
Syntaxe:
FileBinaryWrite(sFile As String, nOffset As Long, nAttr As Long, Values As Variant) As Long
Volání:
n = Pm.FileBinaryWrite(sFile, nOffset, nAttr, Values)
Parametry:
sFile(String) název souboru (s cestou). Pokud není zadána celá cesta, doplní se relativně vzhledem k souborové složce aplikace.

Je doporučeno použít cestu v syntaxi PROMOTIC - viz PROMOTIC cesta k souborům nebo složkám.

nOffset(Long) Udává bajtový offset (posun), který nastaví počátek zápisu do binárního souboru (např. 10 znamená zápis od 10.bajtu souboru). Pokud je hodnota -1, offset je nastaven na konec souboru. Parametr má význam jen pro nAttr=1, jinak musí být nastaven nOffset=0.
nAttr(Long) Bitový atribut. Může být 0 nebo součet vhodných následujícících hodnot.
1 - Pokud soubor již existuje, bude jeho obsah přepsán od daného offsetu (viz parametr nOffset). Pokud hodnota 1 není nastavena, bude před zápisem celý obsah souboru vymazán.
2 - Hodnota typu String (textový řetězec) se bude ukládat bez příznaku konce. Pokud hodnota 2 není zadána, uloží se řetězec do souboru a za něj se přidá jeden bajt s hodnotou 0 (příznak konce řetězce).
Values(Variant) Proměnná typu Array, jejiž položky se mají ukládat
Vrácená hodnota:
Vrací počet zapsaných bajtů (Pozor, ne počet položek!). Pokud nastala jakákoli chyba, metoda vrátí záporné číslo.
Poznámka:

Jednotlivé položky pole se ukládají podle svého datového typu takto:

Datový typ: Počet ukládaných bajtů do souboru:
Byte 1
Integer 2
Long 4
Date 8
Bool 1
Single 4
Double 8
String počet znaků + 1 (1 pro znak 0, jen v případě, když není nAttr=2)
 
Tato metoda není funkční pro Web Obrazy.
Příklad:
Zapsání pole 4 položek do souboru. 1.položka je typu Long a tedy se zapíší 4 bajty. 2.položka je typu String a tedy se zapíše 5 bajtů (včetně koncové 0), 3.položka je typu Double a tedy se zapíše 8 bajtů a poslední 4.položka je typu Byte, a tedy se zapíše jen jeden bajt. Celkově se tedy do souboru zapíše 4+5+8+1 bajtů.
Dim Val(3), length
Val(0) = CLng(1)
Val(1) = "test"
Val(2) = Pm.CDbl(3.14)
Val(3) = true
length = Pm.FileBinaryWrite("#data:File.bin", 0, 0, Val)
If length = 4+5+8+1 Then
  Pm.Debug "Data se úspěšně zapsala"
Else
  Pm.Debug "Data se nepodařilo zapsat ! length=" & length
End If
Navigace:
 
- Pm
 
- Abs
- Cos
- E
- Exp
- FileBinaryWrite
 
 
- LN2
- PI
- Pow
- Sin
- Tan
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice