WriteBuffer linia 317, TSInfoFiles.pp

public procedure WriteBuffer(const AAttrPath: String; const ABuffer; ASize: UInt32; AFormat: TFormatBuffer = fb32BytesPerLine);

Metoda umożliwiająca zapis dowolnego bufora danych do atrybutu.

parametry
AAttrPath łańcuch znaków, zawierający ścieżkę lub nazwę atrybutu
ABuffer dowolny bufor do zapisu do atrybutu
ASize rozmiar przekazanego do zapisu bufora
AFormat wartość wyliczeniowa typu TFormatBuffer, określająca ilość zapisywanych bajtów w jednej linii wartości atrybutu

Służy do zapisu dowolnego bufora z parametru ABuffer do atrybutu, do którego ścieżka lub nazwa przekazana jest w argumencie AAttrPath. Długość bufora do zapisu zawarta jest w parametrze ASize. Ilość linii wartości dla danego bufora uzależniona jest od parametru AFormat typu TFormatBuffer, który może przyjmować jedną z czterech wartości, informujących o ilości bajtów przypadających na każdą linię.

format wartość po konwersji
bufora: "format plików Tree Structure Information" (41 bajtów)
fb8BytesPerLine '666F726D61742070'
'6C696BC3B3772054'
'7265652053747275'
'637475726520496E'
'666F726D6174696F'
'6E'
fb16BytesPerLine '666F726D617420706C696BC3B3772054'
'7265652053747275637475726520496E'
'666F726D6174696F6E'
fb32BytesPerLine '666F726D617420706C696BC3B37720547265652053747275637475726520496E'
'666F726D6174696F6E'
fb64BytesPerLine '666F726D617420706C696BC3B37720547265652053747275637475726520496E666F726D6174696F6E'

Do konwersji dowolnego bufora na łańcuch znaków wykorzystywana jest metoda BufferToValue.

W przypadku, gdy atrybut o podanej ścieżce lub nazwie nie istnieje — metoda próbuje go utworzyć, razem z nieistniejącymi węzłami, stanowiącymi do niego pełną ścieżkę. Jeżeli atrybut istnieje lub został poprawnie utworzony, wpisywana jest przekonwertowana na łańcuch wartość. Natomiast jeśli tryb tylko do odczytu jest włączony, wywoływany jest wyjątek klasy ETSInfoFileException.

zobacz też:

copyright © furious programming 2013—2018