Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi ZEIGER ! Eine Zeigerliste einer anderen anfügen. (https://www.delphipraxis.net/36570-zeiger-eine-zeigerliste-einer-anderen-anfuegen.html)

Nillen 21. Dez 2004 22:34


ZEIGER ! Eine Zeigerliste einer anderen anfügen.
 
Das Prob :

Ich habe eine Zeigerliste mit sehr vielen Werten.
Nun möchte ich genau dieser vorhandenen Kette eine andere hinten ran hängen!

Ist die möglich? Am besten so einfach wie möglich !

Dankesehr ; P

Aenogym 21. Dez 2004 23:13

Re: ZEIGER ! Eine Zeigerliste einer anderen anfügen.
 
hi,

also, wenn ich dich richtig verstanden habe, willst du folgendes?

Delphi-Quellcode:
var liste1, liste2: Tlist;
    i: integer;
begin
  liste1 := TList.create;
  liste2 := TList.Create;

  for i:=0 to 99 do
    liste1.add(irgendeinPointer);

  for i:=0 to 99 do
    liste2.add(irgendeinPointer);

  liste1.add(liste2);
end;
so in etwa... oder habe ich dich gänzlich falsch verstanden?

Aenogym

Hansa 21. Dez 2004 23:24

Re: ZEIGER ! Eine Zeigerliste einer anderen anfügen.
 
Ob das Beispiel was nützt ? Du mußt den End-Zeiger wieder umsetzen. 8) Also den Anfang der 2. Liste an das Ende der ersten setzen.

Nillen 21. Dez 2004 23:43

Re: ZEIGER ! Eine Zeigerliste einer anderen anfügen.
 
... Ja ne das Problem is auch das ich kein TList verwenden darf.

dh. ich muss meine zeiger Verknüpfungen komplett selber proggen !

Und dann kommt halt dieses Prob zustande :/

Hansa 21. Dez 2004 23:46

Re: ZEIGER ! Eine Zeigerliste einer anderen anfügen.
 
TList ist kein Zeiger, keine Liste oder sonst was. 8)

Christian Seehase 22. Dez 2004 00:00

Re: ZEIGER ! Eine Zeigerliste einer anderen anfügen.
 
Moin Nillen,

dann zeig' doch mal die Deklaration Deiner Liste.

Nillen 22. Dez 2004 00:46

Re: ZEIGER ! Eine Zeigerliste einer anderen anfügen.
 
Delphi-Quellcode:
    TPointerr = ^TBild;

    TBild = record
              DateiName : String;
              Titel    : String;
              Next     : TPointerr;
            end;
Das ist der Aufbau des Zeigers !

Ehm un zu der Aussage TList sei kein Zeiger keine Liste oder sonstwas ...
Ne, das stimmt wohl es ist eine Liste von Zeigern. (bzw. wird dazu genutzt).

Ich will auch wirklich nicht gegenanstänkern, aber es geht nur darum, das wir die einzelnen Elemente selber verknüpfen sollen !

So z.b.

Delphi-Quellcode:
 
   
  First,Second : TPointerr;
  First := newPointer();
  First^.DateiName := 'was weiss ich 1';
  First^.Titel := 'auch sowas 1';
  Second := newPointer();
  Second^.DateiName := 'was weiss ich 2';
  Second^.Titel := 'auch sowas 2';
  First.Next := Second;
Hoffe das is richtig !

Naja Leutz ich geh ma in die Haia ... vielen Dank bis jetzt und ev. bis morgen ; )

Hansa 22. Dez 2004 01:04

Re: ZEIGER ! Eine Zeigerliste einer anderen anfügen.
 
was ist newPointer ?? und dann fehlt noch das new, sofern das nicht da drin steckt. Von dispose ist nichts zu sehen, aber das kommt später. 8)

BluesKid 22. Dez 2004 12:38

Re: ZEIGER ! Eine Zeigerliste einer anderen anfügen.
 
Moin moin

is jetzt einfach mal ins Blaue:

Wahrscheinlich hast du doch zwei Variablen, die auf den Anfang der jeweiligen verketteten Liste Zeigen.

Delphi-Quellcode:
var Anfang1, Anfang2 : TPointerr //<-- der Anfang der Listen
Die werden (so vermute ich mal) irgendwo in deinem Programm initialisiert... (????)

Dann muss du doch nur die Liste, an die angehängt werden soll bis zum Ende durchlaufen:

Delphi-Quellcode:
.
.
.

var hilfsZeig : TPointerr

begin

  hilfsZeig := Anfang1;

  while hilfsZeig^.next <> nil do
    hilfZeig := hilfZeig^.next;
und dann nur noch im Feld next den Anfang der zweiten Liste einsetzen:

Delphi-Quellcode:
  hilfsZeig^.next := Anfang2;

end;
Dann Zeigt jetzt Anfang1 auf eine Verkette Liste mit allen Elementen aus beiden Listen



schönen Gruß
Sam


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:40 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz