Pascal: Menü
Eddig nem lehetett választani konkrétan ” funkciókat “, azaz nem volt menünk.
Most lesz, és be tudjuk építeni az előző példákat példának.
Nekem elsőre furcsa volt, a visszafele építés miatt, nem próbálgattam a sorrendet. Először is egy kis újdonság.
Bizonyára észrevettétek, hogy mikor futtatod a programodat, az előző lefutás egésze is ott van. Na most ezt eltüntetjük, mégpedig úgy, hogy behozzuk az ” uses crt “-t.
Ez a kifejezés kerül a ” program ” [programnév], és a ” var ” [változók] közé.
Azaz:
program pelda;
uses crt;
var a:integer;
{a program többi része}
end.
Ez az első teendőnk.
A következő:
Minden olyan helyre, ahol az előző írások feleslegesek, odaírjuk a ” clrscr ” kifejezést.
Pontosabban:
program pelda2;
uses crt;
var a:integer;
begin
clrscr;
{a program többi része}
end.
Ezzel az elhelyezéssel el is értük amit akartunk. Tehát az előző program futása kitörlődött.
Most már neki is állhatunk a menünknek.
Előszöris még 2 paranccsal kell megismerkednünk.
Repeat….Until:
Ez egy ciklus mely először végrehajtja a benne lévő parancsokat, azaz repeat és az until közti részt. Csak ez után kezdi megvizsgálni a feltételt. Ha a feltétel igaz, akkor ki lép a programból, ha hamis megismétli.
Case elágazás:
Így néz ki:
case változó of
érték1: parancs1;
érték2: parancs2;
érték3: Parancs3;
end;
így működik: ha a változó értéke 1, akkor az érték 1-et hajtja végre, azaz a parancs 1; ha a változó értéke 2 akkor a parancs 2-t hajtja végre, és így tovább.
Kezdjük el elméletben megírni a menüt:
repeat {kezdődik a ciklusunk}
clrscr; {képernyőtörlés}
writeln(‘Ez a saját menüd’);
writeln(‘1- Menü1 ‘);
writeln(‘2- Menü2 ‘);
writeln(‘3-Menü3 ‘);
readln( mit ); {a választott menüszámot tárolja a “mit”}
case mit of {a választott menüszámot megkeresi magában}
1: menuegy;
2: menuketto;
3: menuharom;
end;
until mit=3; {a repeat..until nak akkor van vége ha igaz állítást kap, ami most a 3}
end.
A lényeg meg van, már csak a menüket kell megcsinálni, ami így néz ki:
procedure menuegy; {ez alapján tudja, mit kell megnyittani}
begin
clrscr;
writeln(‘A menüd működik’);
readln;
end;
Majdnem ugyan ezt megírjuk a maradék 2 menüre:
procedure menuketto; {csak változtatjuk a nevét, hogy tudja a program mit kell megnyittani, vagy inkább hol kell folytatni}
begin
clrscr;
writeln(‘A menü kettő is fut ‘);
readln;
end;
procedure menuharom;
begin
clrscr;
writeln(‘A menü 3, ami a kilépés, is működik ‘);
readln;
end;
Most összerakjuk: Innen letöltheted-> menujo
program menu;
uses crt;
var mit:integer;
procedure menuegy;
begin
clrscr;
writeln(‘A menüd működik’);
readln;
end;
procedure menuketto;
begin
clrscr;
writeln(‘A menü kettő is fut ‘);
readln;
end;
procedure menuharom;
begin
clrscr;
writeln(‘A menü 3, ami a kilépés, is működik ‘);
readln;
end;
repeat
clrscr;
writeln(‘Ez a saját menüd’);
writeln(‘1- Menü1 ‘);
writeln(‘2- Menü2 ‘);
writeln(‘3-Menü3 ‘);
readln( mit );
case mit of
1: menuegy;
2: menuketto;
3: menuharom;
end;
until mit=3;
end.
Amit ide leírtam nem teszteltem le, szóval ha valakinek nem fut le, és nem látja meg a hibámat, kövezzen meg , szóljon és kijavítjuk.
—> működő menü .txt
Valamennyi hozzászólást az RSS 2.0 hírcsatornán lehet követni. Szóljon hozzá, vagy adjon a saját honlapjáról egy visszakövetést.





[...] //Ez a menü lelke – Bővebben ITT [...]