Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Pascal pomoc


Rekomendowane odpowiedzi

Opublikowano

Witam.

Potrzebuje zrobić (lub by mi ktoś podpowiedział jak) baze danych na plikach elementowych... Ale chodzi mi tylko o wyświetlanie tych danych w taki sposób aby:

- streując strzałkami (góra, dół) podświetlało aktualny rekord na jakiś kolor np: nacisnę strzałkę w dół podświetli się pierwszy rekord na brązowo, nacisnę kolejny raz tą strzałkę to pierwszy rekord będzie na biało a drugi na brązowo.

- po naciśnięciu np enter przy bierzącym rekordzie pojawią się różne opcje słóżące np do edytowania :)

 

Z góry dzięki za pomoc.

Opublikowano

Ja proponuje zrobic w ten sposob, ze jeslu zostanie nacisniety klawisz strzalki w gore to wtedy wyswietla ekran z zaznaczonym na bialo okreslonym tekstem, jesli drugi raz nacisniesz strzelka w gore to inny ekran z innym podswietlonym tekstem sie wyswietli, jest duzo kombinowania i pisania. Niestety nie mam pewnosci czy w pascalu komenda readkey odczyta klawisz strzalki w gore jako kodowy ascii (#<numer>).

Unbanned :]

Wszelkie pytania/wiadomości kierować na

Misiekantos253

Opublikowano

Znaczey chcę aby wyświetliło całą bazę.. ale strzałkami pokazyało aktualny element.. Bo po naciścieciu np enter będzie edytowanie tego rekordu..

 

narazie mam coś takiego.. (fragment).. Ale niestety nie działa prawidłowo :(

 

procedure mmenu(numer_aktywnej_pozycji:byte);
var i:integer;
x,y:integer;
s:integer;
kolor_aktywny,kolor_nie_aktywny:integer;
begin
 kolor_aktywny:=yellow;
 kolor_nie_aktywny:=white;
 TextColor(white);

 for i:=1 to FileSize(plik) do
 if i=numer_aktywnej_pozycji then
begin
TextColor(kolor_aktywny);
end
else
begin
TextColor(kolor_nie_aktywny);
end;
end;

 


assign(plik,'dane.abc');
reset(plik);
 seek(plik,0);
repeat
mmenu(0);
p:=1;
repeat
z:=readkey;
  if z=#0 then
begin
 z:=readkey;
 if z='P' then
begin
  seek(plik,p);
  inc(p);
end;
 if p > max then
 p:=1;
 if z='H' then
begin
  seek(plik,p);
  dec(p);
end;
 if p < 1 then p:=max;
mmenu(p);
Textcolor(white);
end;
until (z=#13) or (z=#27);

if z=#13 then
while not eof(plik) do
case p of
1:;
end;
until z=#27;
close(plik);
end.

Opublikowano

w pierszwym kodzie nie masz zadeklarowanej zmiennej plik, zmienne kolor_aktywny i kolor_nie_aktywny powinny byc w stringach i po pierwszym beginie ustaw zmienne kolor aktywny i nieaktywny jako tekst, czyli:

     kolor_aktywny:='yellow';
        kolor_nie_aktywny:='white';

Unbanned :]

Wszelkie pytania/wiadomości kierować na

Misiekantos253

Opublikowano

Co w tej pętli lub procedurze jest źle, lub czego brakuje, że gdy nacisnę strzałkę (góra lub dół) nie podświetla mi aktualnego rekordu, tylko wszystkie rekordy podświetlają się na kolor nie aktywny ( czyli tam sobie ustaliłem, że to biały)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...