Listevisning

Tags:    delphi

Hej!

Jeg har en liste på en række navne med telefonnumre.
I et uddrag af mit program, vil jeg gerne have det til at vise 5 af gangen. Altså 5 første gang, så et tryk på ENTER og de næste 5 vises.
Ligenu viser den kun én af gangen nemlig.
Her er Procedurerne:

PROCEDURE Vent;
BEGIN
WriteLn; Write (' - tryk på en taste : ');
ReadKey;
Writeln;
END; (* Vent *)

PROCEDURE Udskriv_Post5 (epo : elevpostType; x, y : INTEGER);
BEGIN
WITH epo
DO
BEGIN
GotoXY (x, y+0); ClrEol; Write ('Navn : ', navn);
GotoXY (x, y+1); ClrEol; Write ('Telefon : ', tlf);
WriteLn;
END; (* WITH *)
END; (* Udskriv_Post *)

PROCEDURE Udskriv_Poster5 (VAR f : elevfilType);
VAR
p : elevpostType;
BEGIN
Reset (f);
ClrScr;
WHILE NOT EOF (f)
DO
BEGIN
Read (f, p);
Udskriv_Post5 (p, 1, 1);
Vent;
END;
END; (* Udskriv-Poster *)

Hjælp mig venligst!

Mee



2 svar postet i denne tråd vises herunder
0 indlæg har modtaget i alt 0 karma
Sorter efter stemmer Sorter efter dato
<pre>
PROCEDURE Udskriv_Poster5 (VAR f : elevfilType);
VAR
p : elevpostType;
n:integer;
BEGIN
n:=1;
Reset (f);
ClrScr;
WHILE NOT EOF (f)
DO
BEGIN
Read (f, p);
Udskriv_Post5 (p, 1, 1);
inc(n);
if (n mod 5=0) then Vent;
END;
END; (* Udskriv-Poster *)
</pre>

Tilføjet variablen n som Integer. Ved hvert gennemløb lægges 1 til dette tal.
Hvis resten af n / 5 er 0 venter programmet

Mvh,

Thomas Nielsen



<pre>
PROCEDURE Udskriv_Poster5 (VAR f : elevfilType);
VAR
p : elevpostType;
n:integer;
BEGIN
n:=1;
Reset (f);
ClrScr;
WHILE NOT EOF (f)
DO
BEGIN
Read (f, p);
Udskriv_Post5 (p, 1, 1);
inc(n);
if (n mod 5=0) then Vent;
END;
END; (* Udskriv-Poster *)
</pre>

Tilføjet variablen n som Integer. Ved hvert gennemløb lægges 1 til dette tal.
Hvis resten af n / 5 er 0 venter programmet

Mvh,

Thomas Nielsen


-------------

Hej Thomas!

Tak for svaret.

Lige prøvet din udgave af det, men den viser altså kun ét navn, og så når man trykker ENTER
går den tilbage til min menu.

Mvh NewB




t