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;333 160x160 Pascal: Menü
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.

1 hozzálszólás »

 
 

Szólj hozzá!