สร้างเมนูด้วยภาษาปาสคาล


PROGRAM EX_MENU;
uses crt;
const title=' EX_MENU โปรแกรมสารบัญหลายช่อง';
author=' โดย นายองอาจ พรมประไพ ';

procedure wait;
BEGIN
write('wait...');readln;
END;

procedure repl(ch:char;n:byte);
Var i:BYTE;
BEGIN
for i:=1 to n do write(ch);
END;

procedure box(x1,y1,x2,y2:byte);
Var i:BYTE;
BEGIN

gotoxy(x1,y1);write(chr(133)); {…}
gotoxy(x1,y2);write(chr(139)); {‹}
for i:=x1+1 to x2-1do
BEGIN
gotoxy(i,y1);write(chr(142));{Ž}
gotoxy(i,y2);write(chr(142));{Ž}
END;
gotoxy(x2,y1);write(chr(135));{‡}
gotoxy(x2,y2);write(chr(141)); {}
for i:=y1+1 to y2-1do
BEGIN
gotoxy(x1,i);write(chr(143));
gotoxy(x2,i);write(chr(143));
END;
END;

procedure menu(x,y:byte);
BEGIN
gotoxy(x,y); write(' 0 - EXIT');
gotoxy(x,y+1);write(' 1 - MYFIRST');
gotoxy(x,y+2);write(' 2 - อนุกรมเลขคี่');
gotoxy(x,y+3);write(' 3 - อนุกรมเลขคู่');
gotoxy(x,y+4);write(' 4 - อนุกรมเลขเพิ่ม 3');
gotoxy(x,y+5);write(' 5 - อนุกรมเลขลด 1');
gotoxy(x,y+6);write(' 6 - อนุกรมเลขลด 5');
gotoxy(x,y+7);write(' 7 - อนุกรมเลขเพิ่ม 7');
gotoxy(x,y+8);write(' 8 - อนุกรมเลขเพิ่ม 0.1');
gotoxy(x,y+9);write(' 9 - อนุกรมเลขเพิ่ม 1.001');
gotoxy(x,y+10);write('10 - อนุกรมเลขหารสอง');
gotoxy(x-1,y+12);WRITe('{ } <- option');
end;

procedure CLS(x1,y1,x2,y2,ch:byte);
var i,j:byte;
BEGIN
for i:= y1 to y2 do
for j:= x1 to x2 do
begin
gotoxy(j,i);write(CHR(CH));
end;
END;

procedure menu1;
begin
{ textattr:=42;cls(36,3,78,20,128);
textattr:=15;cls(50,8,68,14,132);}
gotoxy(38,3);write(' ประวัตินักศึกษา ');
gotoxy(38,4);write;
gotoxy(38,6);write(' รหัส 405144042 ชื่อนางกมลทิน พรมประไพ ');
gotoxy(38,7);write(' 174/1 ต.งิ้วงาม อ.เมือง จ.อุตรดิตถ์ ');
gotoxy(38,8);write(' ภูมิลำเนา จังหวัดลำปาง ');
gotoxy(38,9);write(' ร.ร.อุตรดิตถ์ดรุณี อ.เมือง จ.อุตรดิตถ์');
gotoxy(38,10);write(' วันเดือนปีเกิด 15 ตุลาคม 2503 ');
gotoxy(38,11);write(' น้ำหนัก 70 กก. ส่วนสูง 158 ซม.');
gotoxy(38,12);write(' วุฒิเดิม ค.บ. วิชาเอก วิทยาศาสตร์ ');
gotoxy(38,13);write(' จากสถานศึกษา วิทยาลัยครูอุตรดิตถ์');
gotoxy(38,14);write(' รายวิชาคอมพิวเตอร์ที่เคยผ่านการอบรม ');
gotoxy(38,15);write(' 1. ความรู้เกี่ยวกับคอมฯ จาก สสวท.');
gotoxy(38,16);write(' 2. ตารางการทำงานประยุกต์ จาก สสวท.');
gotoxy(38,17);write(' 3. MS WORD จาก ร.ร.กรุงเทพการบัญชี');
gotoxy(38,20);write(' สวัสดีค่ะ...'); readln;
end;

procedure menu2;
const title=' SERIES1 โปรแกรม พิมพ์เลขอนุกรม';
author=' เลขคี่ จำนวน 8 จำนวน';
Var I,N,k:integer;
{main}
begin
gotoxy(42,4);write(title);
gotoxy(42,6);write(author);;
N:=8;
gotoxy(42,9);write(' 1 to 8 by Loop while');
gotoxy(42,12);
I:=1; K:=0;
while (K
begin
write(I:4); K:=K+1; I:=I+2;
end;
writeln;writeln;
gotoxy(42,18); write(' wait........');readln;
end;

procedure menu3;
const title=' SERIES2 โปรแกรม พิมพ์เลขอนุกรม';
author=' เลขคู่ จำนวน 8 จำนวน';
Var I,N,k:integer;
begin
gotoxy(42,4);write(title);
gotoxy(42,6);write(author);
N:=8;
gotoxy(42,9);write(' 1 to 8 by Loop while');
gotoxy(40,12);write;
I:=0; K:=0;
while (K
begin
write(I:4);K:=K+1;I:=I+2;
end;
end;


procedure menu4;
const title=' SERIES3 โปรแกรม พิมพ์เลขอนุกรม';
author=' เลขอนุกรมจำนวน 8 จำนวน';
Var I,N,k:integer;
begin
gotoxy(42,4);write(title);
gotoxy(42,6);write(author);
N:=8;
gotoxy(42,9);write(' 1 to 8 by Loop while');
gotoxy(40,12);write;
I:=1; K:=0;
while (K
begin
write(I:4);K:=K+1;I:=I+3;I:=I mod 10;
end;
end;



procedure menu5;
begin
end;
procedure menu6;
begin
end;
procedure menu7;
begin
end;
procedure menu8;
begin
end;
procedure menu9;
begin
end;
procedure menu10;
begin
end;






VAR OP:BYTE;
{main}
BEGIN
clrscr;
textattr:=13;
box(1,1,35,24);
box(36,1,80,24);
gotoxy(3,5);write(title);
gotoxy(3,7);write(author);
textattr:=14;
menu(5,9);op:=0;
repeat
gotoxy(5,21);readln(op);
case op of
0:exit;
1:menu1;
2:menu2;
3:menu3;
4:menu4;
5:menu5;
6:menu6;
7:menu7;
8:menu8;
9:menu9;
10:menu10;
end;
gotoxy(40,23);WAIT;CLS(37,2,79,23,32);
until op=0;
END.




โดย : นาย องอาจ พรมประไพ, ร.ร.อุตรดิตถ์ดรุณี, วันที่ 10 มิถุนายน 2545