W trybie graficznym
Zadanie wy¶wietlania godziny i daty w trybie graficznym jest nieco trudniejsze, ale tak¿e proste. Je¶li pierwszy raz próbujesz w grafice wy¶wietliæ czas lub datê, pewnie spotka Ciê niemi³e zaskoczenie i b³±d: „Type Mismatch”.
Najprawdopodobniej bêdziesz chcia³ tak samo jak to robi³e¶ we WriteLn, u¿yæ OutText, lub OutTextXY. To normalne dla cz³owieka, niestety nie dla komputera.
Niestety nie wolno napisaæ tak:
OutTextXY(100, 100, 'Jest godzina', g, ':', m);
Dlaczego?
OutText ró¿ni siê od WriteLn. WriteLn móg³ przyjmowaæ jako tre¶æ do wy¶wietlania praktycznie wszystko. Nie wa¿ne by³o dla niego czy wy¶wietlasz zmienn± tekstow±, liczbow± czy jeszcze inn±. OutText przyjmuje tylko tekst i w dodatku tylko jeden napis ci±g³y!
Twoje zadanie polega wiêc na zbudowaniu jednej zmiennej tekstowej, która bêdzie zawiera³a ca³± informacjê ³±cznie z godzin± -czyli zmienn± liczbow±.
Kolejna trudno¶æ powstaje z tym, ¿e nie wolno ³±czyæ zmiennej tekstowej z liczbow±. S± one ca³kiem inaczej zapisywane w pamiêci komputera. Dziêki temu liczby zajmuj± mniej miejsca w pamiêci i komputerowi jest znacznie ³atwiej robiæ na nich operacje matematyczne.
Zamiana zmiennej liczbowej na tekstow±Str(Liczba : LongInt; var Tekst : string);
S³u¿y do tego procedura Str
Przyk³ad u¿ycia
var i : Integer;
s : string;
begin
i := 10;
Str(i, s);
WriteLn(s);
end;
Przygotowanie zmiennej tekstowej zawieraj±cej aktualn± datê:
uses Dos;
var y, m, d, dw : Word;
temp, s : string;
begin
GetDate(y, m, d, dw);
Str(y, temp);
s := 'Dzisiaj jest: ' + temp;
Str(m, temp);
s := s + '-' + temp;
Str(d, temp);
s := s + '-' + temp;
WriteLn(s);
end.