Forum: Object-Pascal / Delphi-Language
Delphi
by Klaus01,
7. Dez 2006
ein wenig umstellen, schon.
Aber du brauchst dann halt nur einmal einen Datensatz einlesen umd alle 5 Strings zu lesen.
Der Record bindet halt alle Informationen eines Datensatzes zu einem Päckchen zusammen.
Oder Du liest die Daten mit
Zeile:=0;
while not eof(DeineDatei) do
begin
Forum: Object-Pascal / Delphi-Language
Delphi
by Klaus01,
7. Dez 2006
Deine Datei hat 18 Zeilen, pro Listenelement ließt Du 5 Zeilen ein
FOR k:=0 TO (ANZ) DO
BEGIN
readln(test,a);
readln(test,b);
readln(test,c);
readln(test,d);
readln(test,e);
FuegeHintenAn(a,b,c,d,e,kopf,l);
Forum: Object-Pascal / Delphi-Language
Delphi
by Klaus01,
6. Dez 2006
PROCEDURE FuegeHintenAn (Titel,Genre,Regisseur,Jahr,Schauspieler:STRING; VAR kopf,L : ListenZeiger);
VAR
p : ListenZeiger;
BEGIN
NEW(p);
p^.Titel:=Titel;
p^.Genre:=Genre;
p^.Regisseur:=Regisseur;
p^.Jahr:=Jahr;
p^.Schauspieler:=Schauspieler;
Forum: Object-Pascal / Delphi-Language
Delphi
by Klaus01,
6. Dez 2006
Zeige uns doch einmal die Einleseroutine, bitte.
Grüße
Klaus
Forum: Object-Pascal / Delphi-Language
Delphi
by Klaus01,
6. Dez 2006
Initialisierst Du die Pointer.
Ist die Liste leer ist temp dann nil?
Wird bei dem ersten Listenelement ^.next auf nil gesetzt?
Beim zweiten Listenelement der ^.next des ersten Elementes auf
die Adresse des zweiten Elemetes gesetzt und der ^.next des zweiten Elementes
auf nil geseztz?
Grüße
Klaus
Forum: Object-Pascal / Delphi-Language
Delphi
by Klaus01,
6. Dez 2006
Produzierst Du auch so noch den Fehler?
Grüße
Klaus
procedure TAusgabeformular.WeiterClick(Sender: TObject);
begin
titelaus.Clear;
genreaus.Clear;
jahraus.clear;
Forum: Object-Pascal / Delphi-Language
Delphi
by Klaus01,
6. Dez 2006
IF (hilf AND (l<>NIL)) THEN
BEGIN
l:=l^.Next;
ausgabeListe(l); f
hilf:=false; // dies hier wird erst dann aufgerufen wenn der Listenzeiger auf NIl steht
END
Warum rufst Du ausgabeListe rekursiv auf, wenn Du immer nur das
nächste Element angezeigt bekommen willst.