WriteStream linia 318, TSInfoFiles.pp

public procedure WriteStream(const AAttrPath: String; AStream: TStream; ASize: UInt32; AFormat: TFormatStream = fs32BytesPerLine);

Metoda służąca do zapisu dowolnego strumienia do atrybutu.

parametry
AAttrPath łańcuch znaków, zawierający ścieżkę lub nazwę atrybutu
AStream instancja klasy strumienia do zapisu do atrybutu
ASize rozmiar strumienia do zapisu
AFormat enum typu TFormatStream, określająca ilość zapisywanych bajtów w jednej linii wartości atrybutu

Służy do zapisu strumienia z parametru AStream do atrybutu, do którego ścieżka lub nazwa przekazana jest w argumencie AAttrPath. Długość strumienia do zapisu zawarta jest w parametrze ASize. Ilość linii wartości dla danego strumienia uzależniona jest od parametru AFormat typu TFormatStream, 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
strumienia: "format plików Tree Structure Information" (41 bajtów)
fs8BytesPerLine '666F726D61742070'
'6C696BC3B3772054'
'7265652053747275'
'637475726520496E'
'666F726D6174696F'
'6E'
fs16BytesPerLine '666F726D617420706C696BC3B3772054'
'7265652053747275637475726520496E'
'666F726D6174696F6E'
fs32BytesPerLine '666F726D617420706C696BC3B37720547265652053747275637475726520496E'
'666F726D6174696F6E'
fs64BytesPerLine '666F726D617420706C696BC3B37720547265652053747275637475726520496E666F726D6174696F6E'

Do konwersji strumienia 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