Help!Turbo Pascal

0

Mam problem, a rozwiązania nie mogę znalezc w zadnej ksiazce, a mianowicie:
ja w Turbo Pascal-u 7.0 zrobic tak aby opcje z menu byly wybierane za pomoce klawiszy strzalek czyli:
tak jest:
1.nowy wpis
2.edytuj
3.pomoc
4.wyjscie
a ma byc tak
Nowy wpis
edytuj
pomoc
wyjscie
jak napisac w TP 7.0 tak aby to bylo prawdziwe menu wybierane za pomoca strzalek a nie numerkow? prosze takze o kontakt na [email protected]

0

po pierwsze to jak pytasz na forum to niedopuszczalne jest

prosze takze o kontakt na kamixstrefa@onteria
!!

do do problemu to robisz jakąś zmienną typu byte i jeżeli naciśnięto strzałke w dół to inkrementujesz, jak strzałke w góre to dekrementujesz, jak naciśnięto enter to robisz case'a

 case pozycje_menu[numer_pozycji] of
   'start': writeln('naciśnięto start');
   'edycja': writeln('włączam edytor');
   'koniec': writeln('chcesz zakończyć?');
 end;

kolorowanie opcji w menu:

for i:=0 to ile_pozycji-1 do
begin
  settextcolor(green);
  if i = numer_pozycji then settextcolor(yellow);
  writeln(pozycje_menu[i]);
end;

PS. nie jestem pewien co do skłądni case'a, bo dawno nie pisłaem w TP ;)

0

a mógł byś podac przyklad tekiego programu? bym był bardzo wdzięczny!

0

nic nadzwyczajnego - nie dodawałem ort! ramek, licze na Twoją wyobraźnie ;-)

nie ma w kodzie zbyt wielu komentarzy, bo nie wiedziałem co komentować :-P

program menu;

uses crt;

const tablica : array[0..3] of string=('Start','Edytuj','O autorze','Koniec');

var pozycja : integer;
  	 i : byte;
    znak : char;


begin
  pozycja:= 0;
repeat
  clrscr;
  writeln;  writeln;  writeln;  writeln;
  textcolor(11);
  writeln('.:: MAIN MENU ::.');
  writeln('-=-=-=-=-=-=-=-=-');
  writeln;
  for i:=0 to 3 do
  begin
     textcolor(2);
     if pozycja = i then begin textcolor(14); writeln(' >> ', tablica[i],' << '); end else writeln('   ',tablica[i]);
     writeln;
  end;

  textcolor(15);
  writeln; writeln; writeln;writeln; writeln; writeln;
  write('nacisnij q aby zakonczyc...');

  znak:=readkey;

  if znak = chr(72) then pozycja:=pozycja-1;
  if znak = chr(80) then pozycja:=pozycja+1;

  if pozycja < 0 then pozycja:= 3; {trojka oznacza ostatni element tablicy}
  if pozycja > 3 then pozycja:= 0; {j/w}

  if znak = char(13) then
  begin
   textcolor(3);
   writeln; writeln;
   if pozycja = 0 then writeln('ok. zaczynamy');
   if pozycja = 1 then writeln('ok. czas na zmiany');
   if pozycja = 2 then writeln('ok. narcyz sie nazywam...');
   if pozycja = 3 then writeln('ok. jeszcze sie spotkamy...');
     {... inne pozycje ...}

   readkey;
  end;

until znak = chr(113);

end.

PS. zrzekam się praw autorskich do tego kodu -- rób z nim co chcesz, będzie miło jak pokażesz ;-) mi potem co z tego wymodziłeś

0

to i ja doloze swoje 3 grosze :)

http://www.members.lycos.co.uk/wesoledi/MENU.PAS

najpierw inicjujesz okno
potem dodajesz pozycje
a na koncu dzialasz.

jakbys mial problemu z wykorzystaniem tego to daj znac
(najlepiej jakby max elementow nie przekraszal wysokosci okna w znakach -2)

1 użytkowników online, w tym zalogowanych: 0, gości: 1