Promotic
WikipediaLinkedInYoutubeTwitterFacebook

FileBinaryWrite - metoda objektu Pm

Popis:
Uložení obsahu proměnné typu Array (pole hodnot) do binárního souboru.
Tato metoda je zastaralá (ale funkční) a je lepší použít metodu PmBuffer.SaveToFile.
Syntaxe:
Long FileBinaryWrite(String sFile, Long nOffset, Long nAttr, Variant Values)
Parametry:
sFile(String) Název souboru s cestou.
Pokud není zadána celá cesta, pak se doplní relativně k složce aplikace.
Je doporučeno použít cestu v syntaxi PROMOTIC - viz PROMOTIC cesta k souborům nebo složkám.
nOffset(Long) Bajtový offset (posun), který nastaví počátek zápisu do binárního souboru (např. 10 znamená zápis od 10. bajtu souboru).
Pokud hodnota je -1, pak offset je nastaven na konec souboru. Parametr má význam pouze pro nAttr=1, v jiném případě 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, pak bude jeho obsah přepsán od daného offsetu (viz parametr nOffset).
Pokud hodnota 1 není nastavena, pak 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, pak se uloží ř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ů (Upozornění: ne počet položek!). Pokud nastala jakákoli chyba, pak metoda vrací 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, pouze pokud není nAttr=2)


Tato metoda není funkční ve Web obrazech.
Příklad:
Zápis 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
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ů.
VBScriptVyber a zkopíruj do schránky

Dim Length, Val

Val = Array(CLng(1), "test", CDbl(3.14), 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