Okno dialogowe z menu

0

Witam

Używam Free Pascala. Jak przerobić tę funkcję bym mógł w niej
wyświetlić np. 100 elementów, tzn. zrobic cos takiego jak listview w
Delphi.

function menu(x,y:byte):byte;
const
szerokosc=10;
  ilopcji=3;
  opcje:array[1..ilopcji] of string=('Raz','Dwa','Trzy');
var
  pm:byte;
  i:integer;
  ch:char;

begin
  pm:=1;
  repeat
    for i:=1 to ilopcji do
    begin
      if i=pm then
      begin
        textcolor(yellow); textbackground(red);
      end
      else
      begin
        textcolor(white); textbackground(lightblue);
      end;
      gotoxy(x,y+i-1);

      while length(opcje[i])<szerokosc do begin
      opcje[i]:=opcje[i]+' '
      end;
      write(opcje[i]);
    end;
    ch:=readkey;
    if ch=#0 then
    begin
      case readkey of
        #72:dec(pm);
        #80:inc(pm);
      end;
      if pm=0 then pm:=ilopcji;
      if pm>ilopcji then pm:=1;
    end;
  until ch=#13;
  menu:=pm
end;

begin
  clrscr;
  wybrano:=menu(35,12);
  textbackground(black); textcolor(lightgray);
  clrscr;
  writeln('Wybrano pozycje menu:',wybrano);
  readkey;
end.

Z góry wielkie dzięki

0

prawdę mówiąc nie chce mi się analizować do czego <ort>w ogóle</ort> jest ta funkcja to może napiszesz co ma robić a ja ci ją napiszę to będzie łatwiej

0

prawdę mówiąc nie chce mi się analizować do czego <ort>w ogóle</ort> jest ta funkcja to może napiszesz co ma robić a ja ci ją napiszę to będzie łatwiej

Wyświetla ona menu, które wybiera sie za pomoca strzalek gora dol. Chcialbym zrobi taki odpowiednik listview w Delphi abym za jego pomoca mogl wyswietlic niewielka baze danych (pliki rekordowe) np. 200 rekordow. Cos takiego jak lista plikow w Norton Comanderze, tylko w jednej kolumnie.

0

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

ps. wyswietli tyle elementow ile mozesz pokazac na ekranie, chyba ze dodasz wiecej ale Ci sie to wszystko zlepi ;) sam musisz oprogramowac tablice wieksza niz np 20 elementow aby moc przesuwac. wystarczy sprawdzac czy jest maksymalne i jesli tak to wykasowac pierwsza pozycje, przesunac wszystkie o jedno w gore i dodac nowa ;)

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