Program exemplu
Lectia 3 (din tutorialele de Pascal)
Acesta este un exemplu de program (mic) care arata o parte din potentialul primelor trei tutoriale de Pascal postate pana in acest moment.
Creat si testat doar pe Borland Pascal 7.0, deci sa nu va aud

Aici e codul:
- uses crt;
- const spaced = ' ';
- select = ' * ';
- var c: char;
- sel: integer;
- begin
- clrscr;
- c := #0;
- sel := 1;
- {afisam meniul initial}
- TextColor(Yellow);
- TextBackground(Blue); {galben pe albastru pentru optiunea selectata}
- WriteLn(select, '1. BitCell.info');
- TextColor(LightGray);
- TextBackground(Black);
- WriteLn(spaced, '2. a doua optiune'); {gri deschis pe negru pentru restul}
- WriteLn(spaced, '3. a treia optiune');
- WriteLn(spaced, '4. a patra optiune');
- WriteLn(spaced, '5. a cincea optiune');
- WriteLn(spaced, '6. a sasea optiune');
- WriteLn(spaced, '7. a saptea optiune');
- WriteLn(#13#10, 'Press Esc to Exit ...');
- repeat
- c := ReadKey; {asteptam o tasta}
- case c of
- #0: {daca e tasta cu cod extins}
- begin
- c := ReadKey; {citim codul extins al tastei}
- case c of
- #72: {0 - 72 = codul tastei sageata sus}
- begin
- if sel > 1 then {nu putem selecta 0 sau mai mic}
- sel := sel - 1;
- end;
- #80: {0 - 80 = codul tastei sageata jos}
- begin
- if sel < 7 then {nu putem selecta mai mult de 7}
- sel := sel + 1;
- end;
- else writeln('0 - ', ord(c));
- end;
- clrscr;
- WriteLn(spaced, '1. BitCell.info');
- WriteLn(spaced, '2. a doua optiune');
- WriteLn(spaced, '3. a treia optiune');
- WriteLn(spaced, '4. a patra optiune');
- WriteLn(spaced, '5. a cincea optiune');
- WriteLn(spaced, '6. a sasea optiune');
- WriteLn(spaced, '7. a saptea optiune');
- WriteLn(#13#10, 'Press Esc to Exit ...');
- GotoXY(1, sel);
- TextColor(Yellow);
- TextBackground(Blue);
- case sel of
- 1: WriteLn(select, '1. BitCell.info');
- 2: WriteLn(select, '2. a doua optiune');
- 3: WriteLn(select, '3. a treia optiune');
- 4: WriteLn(select, '4. a patra optiune');
- 5: WriteLn(select, '5. a cincea optiune');
- 6: WriteLn(select, '6. a sasea optiune');
- 7: WriteLn(select, '7. a saptea optiune');
- end;
- TextColor(LightGray);
- TextBackground(Black);
- end;
- { else WriteLn(ord(c));} {comentat pentru a nu afisa codul tastei apasate}
- end;
- until (c = #27); {caracterul cu codul ASCII 27 corespunde tastei Esc}
- {deci folosim tasta Esc pentru a iesi din program}
- end.
Niste explicatii:
- uses crt; - este vorba de biblioteca (unit) de functii si proceduri care faciliteaza lucrul in modul text in Pascal. Daca linia asta lipseste nu veti putea folosi o parte din functiile si procedurile de prin program.
- ClrScr - (clear screen) sterge orice text de pe ecran si readuce culorile de afisare la valorile predefinite.
- TextColor - seteaza culoarea textului (in modul text). Definita in unitul CRT.
- TextBackGround - seteaza culoarea fondului (in modul text). Definita in unitul CRT.
- ReadKey - asteapta apasarea unei taste si returneaza caracterul apasat (nu "prinde" taste gen Ctrl, Shift, CapsLock, etc). Daca tasta are cod extins (tastele functionale, sagetile, etc), atunci va returna 0 si va trebui ca functia ReadKey sa fie apelata din nou pentru a primi codul extins al tastei.
- GotoXY - seteaza pozitia cursorului de text. Determina locul de pornire pentru urmatoarea afisare.
Screenshot-uri din timpul rularii programului:


Surse si executabil -
Sper sa va placa

Daca aveti intrebari sau nelamuriri, puteti intreba aici.
Welcome to BitCell. Click here to register !
, cum faci ca atunci cand selectezi o optiune din meniu sa fac ceva.

