Można to osiągnąć na wiele sposobów, najprościej wykorzystać pętle i wypełnić okno znakiem spacji, wcześniej ustawiając odpowiedni kolor dla tła tekstu (procedura TextBackground()
); Ja to zrobiłem przykładowo na procedurach, DrawFrame
rysująca prostokąt oraz DrawText
- rysująca tekst:
program TextFrames;
uses
Crt;
type
TFontColor = 0 .. 15;
TBackColor = 0 .. 7;
procedure DrawFrame(X, Y, Width, Height: Byte; Color: TBackColor);
var
I, J: Byte;
begin
TextBackground(Color);
for I := 0 to Height - 1 do
begin
GoToXY(X, Y + I);
for J := 0 to Width - 1 do
Write(' ');
end;
end;
procedure DrawText(X, Y: Byte; Font: TFontColor; Back: TBackColor; Text: String);
begin
TextColor(Font);
TextBackground(Back);
GoToXY(X, Y);
Write(Text);
end;
begin
ClrScr;
DrawFrame(5, 5, 16, 3, Blue);
DrawText(7, 6, Black, Blue, 'Turbo Pascal');
ReadLn;
end.
DrawFrame:
Parametr |
Typ |
Opis |
X |
Byte |
Pozycja X (odstęp od lewej krawędzi ekranu, liczona od 1 ) |
Y |
Byte |
Pozycja Y (odstęp od górnej krawędzi ekranu, liczona od 1 ) |
Width |
Byte |
Szerokość ramki (ilość znaków) |
Height |
Byte |
Wysokość ramki (ilość znaków) |
Color |
TBackColor |
Kolor wypełnienia ramki (tła) |
DrawText: |
|
|
Parametr |
Typ |
Opis |
---------------- |
---------------- |
---------------- |
X |
Byte |
Pozycja X (odstęp od lewej krawędzi ekranu, liczona od 1 ) |
Y |
Byte |
Pozycja Y (odstęp od górnej krawędzi ekranu, liczona od 1 ) |
Font |
TFontColor |
kolor tekstu |
Back |
TBackColor |
kolor wypełnienia ramki (tła pod tekstem) |
Text |
String |
tekst do wyświetlenia |
Można jeszcze wykorzystać procedure Window
, która odpowiada za utworzenie nowego okna tekstowego; Więcej masz w pomocy TP, bo zapewne w nim piszesz;
Jak chcesz mieć ładniejsze okienko na tekst to popracuj nad modyfikacją tych procedur i dodaj możliwość ustalenia stylu obramowania (odpowiednie zbiory znaków) i kolory dla wszystkiego, co będzie rysowane;
Jeśli chcesz wykorzystać jakieś znaki do budowy obramowania, wykorzystaj specjalne znaki do tego stworzone; W załączniku lista znaków kodu ASCII - wybierz sobie odpowiednie;