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ż: