WriteFloat linia 308—309, TSInfoFiles.pp

public procedure WriteFloat(const AAttrPath: String; ADouble: Double; AFormat: TFormatFloat = ffUnsignedGeneral); overload;
public procedure WriteFloat(const AAttrPath: String; ADouble: Double; ASettings: TFormatSettings; AFormat: TFormatFloat = ffUnsignedGeneral); overload;

Metody umożliwiająca zapis liczby zmiennoprzecinkowej do atrybutu.

parametry wersji podstawowej
AAttrPath łańcuch znaków, zawierający ścieżkę lub nazwę atrybutu
ADouble liczba zmiennoprzecinkowa do wpisania do atrybutu
AFormat wartość wyliczeniowa typu TFormatFloat, określająca format zapisywanych danych
dodatkowe parametry wersji rozszerzonej
ASettings rekord zawierający informacje, określające sposób formatowania łańcuchów znaków

Służą do zapisu liczby zmiennoprzecinkowej, podanej w parametrze AFloat, do atrybutu, do którego ścieżka lub nazwa przekazana jest w argumencie AAttrPath. Format łańcucha wartości określa parametr AFormat typu TFormatFloat, który może zawierać jedną z ośmiu wartości informujących o notacji zapisywanej liczby.

format wartości po konwersji
liczby dodatniej: 1009,1989 liczby 0.0 liczby ujemnej: -1009,1989
ffUnsignedGeneral '1009,1989' '0' '-1009,1989'
ffSignedGeneral '+1009,1989'
ffUnsignedExponent '1,00919890000000E+0003' '0,00000000000000E+0000' '-1,00919890000000E+0003'
ffSignedExponent '+1,00919890000000E+0003'
ffUnsignedNumber '1 009,1989000000' '0,0000000000' '-1 009,1989000000'
ffSignedNumber '+1 009,1989000000'

Metoda umożliwia także zapis wartości nieskończoności dodatniej lub ujemnej oraz wartości nie-liczby w odrębny sposób.

wartość tekstowy odpowiednik
nieskończoność dodatnia bez znaku 'Inf'
nieskończoność dodatnia ze znakiem '+Inf'
nieskończoność ujemna '-Inf'
nie-liczba 'Nan'

Dodatkowo, rozszerzona wersja metody pobiera w argumencie ASettings rekord typu TFormatSettings, który wykorzystywany jest w procesie konwersji. Do konwersji liczby zmiennoprzecinkowej na łańcuch znaków wykorzystywana jest metoda FloatToValue.

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