- •1 Загальні положення по курсовій роботі (проекту)
- •2 Пояснювальна записка:рекомендації з виконання, вимоги та оформлення
- •3 Постановка завдання на курсову роботу (проект)
- •4 Варіанти завдань для курсової роботи (проекту)
- •Варiант 12
- •Список рекомендованої літератури
- •Приклади програм для створення інтерфейсу користувача
- •Var pr, s, h, h1, c, gd, gm: integer;
- •Var c: integer;
- •Initgraph(gd, gm, '');
- •Var c, f, rez: byte;
- •Var Reg:registers;
- •Var I, j: Integer;
- •Var m: array[1..Kr] of string[22];
- •Бланк для затвердження індивідуального завдання на курсову роботу (проект)
- •Черкаський державний технологічний університет
- •Завдання на курсову роботу (проект) студента
- •Календарний план
Var m: array[1..Kr] of string[22];
pp: array[1..kr] of byte; result, i, t, r:byte;
ch: char; fl: boolean;
begin
cursor(false); fl:=true;
m[1]:=ss1; m[2]:=ss2; m[3]:=ss3; m[4]:=ss4;
m[5]:=ss5; m[6]:=ss6; m[7]:=ss7;
t:=Length(m[1]); r:=0;
for i:=1 to kr do r:=r+length(m[i]);
r:=Round((78-r)/kr)-1; Frame(3,y1-1,75,y1+1);
GotoXY(14,22); CF(14,0); write('за допомогою ',Chr(26),' чи ',Chr(27),'
зробіть вибір и натисніть <Enter> ');
GotoXY(Round(R/2+3),y1);
for i:=1 to kr do begin
if i=1 then CF(0,7) else CF(7,0); pp[i]:=WhereX; write(m[i]);
CF(7,0); if i=kr then r:=0; write('':r);
end;
i:=1;
while fl=true do
begin
Ch:=Readkey;
if Ch=#13 then fl:=false;
if (Ch=#0) and KeyPressed then
begin
Ch:=ReadKey;
case Ch of
#77:begin Beep;
GoToXY(k1+pp[i],y1); cf(7,0); write(m[i]); i:=i+1;
if i=(kr+1) then begin i:=1; CF(7,0);
GotoXY(k1+pp[i],y1); CF(0,7);
write(m[i]);CF(7,0); Goto Met;
end;
GotoXY(k1+pp[i],y1); CF(0,7); write(m[i]); CF(7,0)
end;
#75: begin
GotoXY(k1+pp[i],y1); Beep; CF(7,0); write(m[i]);
i:=i-1; if i=0 then i:=kr; GotoXY(k1+pp[i],y1);
CF(0,7); write(m[i])
end; end;
Met:
end; end;
Regime:=i; CF(7,0); Cursor(True);
end;
begin
clrscr; cf(15,0); frame(1,1,80,24);
gmenu(5,5,'пункт1', 'пункт2', 'пункт3', 'пункт4',
'пункт5', 'пункт6', 'пункт7', rez);
gotoxy(10,10); write(rez); readln;
end.
3. Приклад програми створення вертикального меню в текстовому режимі. За вікном меню виводиться "тінь". Для невидимого курсору можна використати процедуру із попереднньої програми.
uses crt;
const tpr: array[1..2, 1..6] of char=((#179,#191,#217,#192,#218,#196),
(#186,#187,#188,#200,#201,#205));
var
buf: array[0..24,0..79,0..1] of byte absolute $b800:0000;
tr, cr, cf, cl, ns, kx, ky, dx, dy, j, jj, i, l, ll, ii, x2, y2: integer;
nr: string; c: char; sr: array[1..8] of string;
begin
clrscr;
tr:=2; cr:=12; cf:=1; cl:=14; ns:=5; kx:=12; ky:=12; dx:=25; dy:=ns;
nr:=' меню выбора '; sr[1]:='пункт 1';
sr[2]:='пункт 2'; sr[3]:='пункт 3';
sr[4]:='пункт 4'; sr[5]:='пункт 5';
textbackground(2);
for i:=1 to 23 do begin writeln; for j:=1 to 70 do write('1'); end;
window(1,1,80,25);
for i:=1 to ns do begin ll:=dx-length(sr[i])-3; for ii:=1 to ll do sr[i]:=sr[i]+' '; end;
x2:=kx+dx; y2:=ky+dy+1; textcolor(cr); textbackground(cf);
gotoxy(kx-1,ky); {лівий верхній} write(tpr[tr,5]);
for i:=kx to (x2-1) do write(tpr[tr,6]); {верх лінія}
write(tpr[tr,2]); {правий верхіий}
for i:=(ky+1) to (y2-1) do begin {ліва лінія}
gotoxy(kx-1,i); write(tpr[tr,1]);
gotoxy(x2,i); {права лінія}
write(tpr[tr,1]); end;
gotoxy(kx-1,y2); write(tpr[tr,4]);
for i:=kx to x2-1 do write (tpr[tr,6]);
write(tpr[tr,3]);
gotoxy(kx+round((((x2-kx)-length(nr))/2)),ky);{ім’я рамки}
write (nr);
textbackground(0); {тінь}
for i:=kx+1 to x2+2 do buf[y2,i-1,1]:=7;
for i:=ky+1 to y2 do begin buf[i-1,x2,1]:=7;
buf[i-1,x2+1,1]:=7; end;
window(kx,ky+1,x2-1,y2-1); {записуємо пункти меню}
textbackground(cf); clrscr;
if ns<>0 then begin
window(1,1,80,25); textbackground(cf); textcolor(cl);
for i:=1 to ns do begin
gotoxy(kx+1,ky+i); writeln(sr[i]);
end;
gotoxy(kx+1,ky+1); textbackground(3);
textcolor(0); writeln(sr[1]+' '); window(kx,ky+1,x2-1,y2-1); j:=1; c:=' ';
repeat
repeat
c:=readkey;
until (c=#72) or (c=#80) or (c=#13) or (c=#27);
jj:=j;
if c=#72 then begin dec(j); if j=0 then j:=ns; end;
if c=#80 then begin inc(j); if j>ns then j:=1; end;
if jj<>j then begin
window(1,1,80,25);
for i:=1 to ns do begin
gotoxy(kx+1,ky+i);
if i=j then begin textcolor(0); textbackground(3); end
else begin textcolor(cl); textbackground(cf); end;
writeln(sr[i]+' '); end; window(kx+1,ky,x2,y2); end;
until (c=#13) or (c=#27);
window(1,1,80,25); end; writeln('OK'); readln;
end.
Додаток 3