Promotic

FileBinaryWrite - metoda obiektu Pm

Opis:
Zapis zawartości zmiennej typu Array (tablica wartości) do pliku binarnego.
Niniejsza metoda jest przestarzała (lecz funkcjonalna) oraz dogodniejszym jest zastosowanie metody PmBuffer.SaveToFile.
Składnia:
Long FileBinaryWrite(String sFile, Long nOffset, Long nAttr, Variant Values)
Parametry:
sFile(String) Nazwa pliku ze ścieżką.
Jeżeli nie jest wprowadzona pełna ścieżka, wtedy zostanie uzupełniona względem do foldera aplikacji.
Jest zalecane stosowanie ścieżki w składni PROMOTIC - patrz PROMOTIC ścieżka do plików lub folderów.
nOffset(Long) Offset bajtowy (przesunięcie), które ustawia początek zapisu do pliku binarnego (np. 10 oznacza zapis od 10. bajtu pliku).
Jeżeli wartość jest -1, wtedy offset jest ustawiony na koniec pliku. Parametr ma znaczenie tylko dla nAttr=1, w innym przypadku musi być ustawiony nOffset=0.
nAttr(Long) Atrybut bitowy. Może mieć wartość 0 lub być następujących odpowiednich wartości.
1 - Jeżeli plik już istnieje, wtedy jego zawartość jest przepisana od określonego offsetu (patrz parametr nOffset).
Jeżeli nie jest ustawiona wartość 1, wtedy zawartość całego pliku zostanie usunięta przed zapisem.
2 - Wartość typu String (łańcuch tekstowy) będzie zapisywana bez znacznika końca.
Jeżeli nie jest określona wartość 2, wtedy łańcuch zostanie zapisany do pliku a za nim zostanie dodany jeden bajt o wartości 0 (znacznik końca łańcucha).
Values(Variant) Zmienna typu Array, której pozycje mają zostać zapisane.
Wartość zwrotna:
Zwraca ilość zapisanych bajtów (Uwaga: nie ilość pozycji!). Jeżeli powstał jakikolwiek błąd, wtedy metoda zwraca liczbę ujemną.
Notatka:
Poszczególne pozycje tablicy są zapisywane według swego typu danych następująco:
Typ danych: Ilość zapisywanych bajtów do pliku:
Byte 1
Integer 2
Long 4
Date 8
Bool 1
Single 4
Double 8
String ilość znaków + 1 (1 dla znaku 0, tylko jeżeli jest określone nAttr=2)


Metoda ta nie działa w Web panelach.
Przykład:
Zapis tablicy o 4 pozycjach do pliku.
1. pozycja jest typu Long a więc zostaną zapisane 4 bajty.
2. pozycja jest typu String a więc zostanie zapisanych 5 bajtów (włącznie z końcowym 0),
3. pozycja jest typu Double a więc zostanie zapisanych 8 bajtów oraz
4. pozycja jest typu Byte a więc zostanie zapisany tylko jeden bajt.
Ogólnie do pliku zostanie zapisanych 4+5+8+1 bajtów.
VBScriptWybierz oraz skopiuj do schowka

Dim Length, Val

Val = Pm.Array1(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 "Dane zostały zapisane poprawnie"
Else
Pm.Debug "Danych nie udało się zapisać! Length=" & Length
End If
Nawigacja:
 
- Pm
 
- Abs
- Cos
- E
- Exp
- FileBinaryWrite
 
 
- LN2
- PI
- Pow
- Sin
- Tan
© MICROSYS, spol. s r.o.