Witam,
mam pewien problem. otóż podany nizej kod nie sprwadza się. nie wiem dlaczego, wiec licze na Waszą pomoc w rozwiązaniu problemu.
chce napisac program. bedzie to program dzialajacy na bazie danych, ale przydala by sie jakas oprawa graficzna. dlatego chcialem stworzyc kilka okien ograniczonych ramką (skladajaca sie ze znakow specjalnych "-", "|" i naroznikow
ale juz na samym poczatku natknalem sie na problem.
windowsy zawsze cos u mnie kulaly.
wg mnie procedura rysuj_okna powinna zadzialac. przy zabawie z ustawieniami parametrow czasami sie ulapie i to rzeczywiscie wyglada jak ramka, ale zwykle jest "syf".
czy to moze jest wina procedur? zmienne globalne, lokalne?
dzieki za pomoc.
program test;
uses
crt;
procedure rysuj_okno(x1, y1, x2, y2: byte);
var
i: byte;
begin
window(x1, y1, x2, y2);
textbackground(0);
clrscr;
textcolor(8);
for i:=x1 to x2 do {ramka gorna}
begin
gotoxy(i, y1);
if i=x1 then write(#218);
if i=x2 then
begin
write(#191);
break;
end;
write(#196);
end;
for i:=x1 to x2 do {ramka dolna}
begin
gotoxy(i, y2);
if i=x1 then write(#192);
if i=x2 then
begin
write(#217);
break;
end;
write(#196);
end;
for i:=y1+1 to y2-1 do {ramka lewa}
begin
gotoxy(x1, i);
write(#179);
end;
for i:=y1+1 to y2-1 do {ramka prawa}
begin
gotoxy(x2, i);
write(#179);
end;
end;
procedure okno_gorne;
var
wsp_x1, wsp_y1, wsp_x2, wsp_y2: byte;
begin
wsp_x1:= 1;
wsp_y1:= 1;
wsp_x2:= 80;
wsp_y2:= 10;
rysuj_okno(wsp_x1, wsp_y1, wsp_x2, wsp_y2);
end;
procedure okno_menu;
var
wsp_x1, wsp_y1, wsp_x2, wsp_y2: byte;
begin
wsp_x1:= 1;
wsp_y1:= 11;
wsp_x2:= 80;
wsp_y2:= 25;
rysuj_okno(wsp_x1, wsp_y1, wsp_x2, wsp_y2);
end;
begin
textmode(CO80);
okno_gorne;
okno_menu;
readln;
end.