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