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óry ustawi początek odczytu z pliku binarnego (np. 10 oznacza odczyt od 10. bajta pliku). |
nAttr | (Long) Atrybut bitowy. Może mieć wartość 0 lub sumę odpowiednich następujących wartości:
1 - Znacznik, że nie jest znana ilość ani typ wczytanych danych. W tym przypadku metoda wytworzy w parametrze Values nową tablicę o długości równej DŁUGOŚĆ_PLIKU - OFFSET, którego pozycje będą typu Byte.
Jeżeli wartość 1 nie jest określona, wtedy parametr Values musi być przed wywołaniem metody ustawiony na typ danych tablicy (Array). W tej sytuacji dane są wczytywane z pliku do tablicy kolejno według typów danych pozycji owej tablicy. 2 - Znacznik, w jaki sposób ma być wczytywany łańcuch tekstowy (String), tzn. w jaki sposób ma zostać określona jego długość. Jeżeli wartość jest określona, wtedy jest przyjęte, że pod pozycją tablicy Values już znajduje się łańcuch tekstowy okreżlonej długości. Z pliku jest dla tej pozycji odczytywana taka ilość znaków, ile ma również wejściowy łańcuch (łańcuch wejściowy zostaje więc przepisany tą samą ilością znaków z pliku). W tym przypadku na miejscu, które jest uważane za taki tekst, nie powinna wystąpić wartość binarne 0.
Jeżeli opisywana wartość nie jest określona, wtedy do pozycji typu String są odczytywane znaki z pliku tak długo, dopóki nie zostanie odnaleziony bajt o wartości 0. Dane w formie łańcucha tekstowego (string) można odczytywać tylko jeżeli w parametrze nAttr nie jest ustawiona wartość 1. |
Values | (Variant) Zmienna typu Array, do której mają zostać wczytane dane binarne. |
Typ danych: | Ilość wczytanych bajtów z 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 nie jest ustawione nAttr=2) |
Dim Length, Val
Val = Pm.Array1(CByte(0), CLng(0), "12345")
Length = Pm.FileBinaryRead("#data:File.bin", 0, 2, Val)
If Length = 1+4+5 Then
Pm.Debug("Dane poprawnie odczytan. Następuje wypis pozycji:")
Pm.Debug Val, 1
Else
Pm.Debug "Danych nie udało się wczytać! Length=" & Length
End If
Dim Length, Val
Length = Pm.FileBinaryRead("#data:File.bin", 0, 1, Val)
If Length > 0 Then
Pm.Debug("Dane poprawnie odczytan. Następuje wypis pozycji:")
Pm.Debug Val, 1
Else
Pm.Debug "Danych nie udało się wczytać! Length=" & Length
End If