Konwersja danych



Zapewne zauważyłeś, że przy próbie wyświetlenia liczby w komponencie Label pokazuje ci się błąd. Dzieje się tak dlatego, że Label przechowuje tekst a nie liczby. Aby je wyświetlić należy zamienić je na tekst. Oczywiście nic nie stoi na przeszkodzie, by zmienić tekst na liczbę.
Można także konwertować inne typy danych (np: kolory). Poniższa tabelka przedstawia funkcje konwertujące:

IntToStr - zamienia liczbę całkowitą na tekst, np: IntToStr(213);
StrToInt - zamienia tekst na liczbę całkowitą, np: StrToInt('213');

FloatToStr - zamienia liczbę zmiennoprzecinkową na tekst, np: FloatToStr(324,253);
StrToFloat - zamienia tekst na liczbę zmiennoprzecinkową, np: StrToFloat('324,253);

ColorToString - zamienia kolor na tekst, np: ColorToString(clWhite);
StringToColor - zamienia tekst na kolor, np: StringToColor('clWhite');

DateToStr - zamienia datę na tekst, np: DateToStr(Date);
StrToDate - zamienia tekst na datę, np: StrToDate('04-01-02');

TimeToStr - zamienia czas na tekst, np: TimeToStr(Time);
StrToTime - zamienia tekst na czas, np: StrToTime('19:45');

Istnieje też inna metoda konwersji. Służy do tego funkcja Format. Funkcja ta potrzebuje podstawowego tekstu, zmiennych i tablicy zmiennych. Zapewne opis mówi ci, że jest to coś trudnego, ale to ja nie potrafie tłumaczyć rzeczy prostych :) Najlepiej będzie jak przejdziemy do przykładu, w którym wyświetlimy tekst z dwiema liczbami:

Format('Liczba %d i liczba %d', [10, 34]);

Znacznik %d jest zamieniany na tekst, a jego wartość zapisana jest w tabeli. Poniżej znajduje się tabelka z opisem często używanych znaczników:

%d - liczba całkowita zamieniana jest na tekst
%x - liczba typu integer zamieniana jest na tekst zapisujący liczbę w postaci szesnastkowej
%e - liczba zmiennoprzecinkowa konwertowana jest na liczbę w postaci wykładniczej
%f - liczba zmiennoprzecinkowa przekształcana jest na tekst

Oczywiście nic nie stoi na przeszkodzie by sformatować liczbę na kilka sposobów:

Format('Liczba %d w postaci szesnastkowej wygląda tak %x', [154, 154]);





...powrót