Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit doppelt Verkettete Liste - Zeiger - Wie? ^^ (https://www.delphipraxis.net/124234-problem-mit-doppelt-verkettete-liste-zeiger-wie-%5E%5E.html)

knocko 17. Nov 2008 20:28

Re: Problem mit doppelt Verkettete Liste - Zeiger - Wie? ^^
 
Jo danke für deine Hilfe.
Werd es bei Zeiten testen.

Bin grad noch dabei das Programm weiter auszubauen.
Wird ne Belegarbeit für die Schule, von daher hab ich leider nicht soviel Freiraum. Soll alles über 1 Button laufen.
Aber krieg das schon noch hin ;)

knocko 20. Nov 2008 11:01

Re: Problem mit doppelt Verkettete Liste - Zeiger - Wie? ^^
 
Doppelpost mit einem etwas anderen Thema aber auch mit Zeiger.



Also das Projekt hab ich jetz soweit wie es soll.
Jetzt sollen wir noch eine Suchfunktion einbauen.

Und zwar sollen wir einen Suchbegriff eingeben und anschließend soll er in einer Listbox ALLE Begriffe bzw alle Zeiger anzeigen, die mit dem Suchbegriff übereinstimmen.
Jemand ne Idee wonach man googlen kann?

"Suchfunktion Zeiger" (oder ähnlich) hat überhaupt nicht geholfen. Wundert mich ...
Kann jemand Tips geben wie ich die Sache angehen könnte???


mfg

Klaus01 20. Nov 2008 11:15

Re: Problem mit doppelt Verkettete Liste - Zeiger - Wie? ^^
 
Hallo,

Du musst Da nur die Liste von Anfang bis zum Ende durchlaufen und
prüfen ob ein Feld dem Suchbegriff entspricht.

Soll dann die Zeigeradresse ausgegeben werden?

Grüße
Klaus

knocko 20. Nov 2008 11:30

Re: Problem mit doppelt Verkettete Liste - Zeiger - Wie? ^^
 
Naja nicht die Adresse sondern die informationen die sich dort befinden..

also zum beispiel: aktuell^.titel oder so


Naja ok, thanks, so ungefähr hab ichs mir auch vorgestellt, ich hoffe ich kriegs hin...
irgendwie versteh ich diesen zeigerkrams nur zur hälfte hehe :)

naja nur noch das projekt, dann ist die sache auch vorbei :)

knocko 22. Nov 2008 14:11

Re: Problem mit doppelt Verkettete Liste - Zeiger - Wie? ^^
 
OK, es läuft alles soweit, jetzt müssen die Daten nur noch gespeichert und geladen werden können.


für speichern hab ich jetzt folgendes geschrieben:


Code:
procedure TForm1.Speichern1Click(Sender: TObject);
begin
  assignfile(file,'c:\lala.dat');
  rewrite(filename);
  akt := anf; { das soll dafür sorgen, dass wir uns am anfang der kette befinden und er glied für glied speichert }
  while (akt^.next <> NIL) do
    begin
      { hier hab ich z.b. kein plan wie ich meine daten speichern kann }
    end;
end;
Soweit wäre der Code richtig oder?
Jeztt habi hc noch ne frage.. bei "assignfile" was muss ich für nen datentyp angeben für die variabel "File" ??
ich hab im prinzip zweit methoden gefunden...
eine wäre "file : Textfile;" oder "file : file of xyz"
das erste fällt ja flach, weil es keine textdatei is.
und beim zweiten weiß ich nicht was ichj für XYZ einschreiben muss...

DeddyH 22. Nov 2008 14:16

Re: Problem mit doppelt Verkettete Liste - Zeiger - Wie? ^^
 
Naja, file of TMyelement böte sich hier an. Das hat aber den Nachteil, dass Du die Pointer mitspeicherst, was vollkommen unnötig ist. Evtl. solltest Du den ursprünglichen Record in Nutzdaten und Pointer aufteilen.

knocko 22. Nov 2008 14:36

Re: Problem mit doppelt Verkettete Liste - Zeiger - Wie? ^^
 
mit TMyElement hba ich auch probiert dann kommt folgendes problem:

[Fehler] Unit1.pas(81): Typ 'TMyelement' benötigt Finalization - nicht im Dateityp erlaubt


;)

und zu deinem vorschlag fällt mir nur das ein -> :gruebel: *g*
weiß nit wie ich das machen soll

DeddyH 22. Nov 2008 14:47

Re: Problem mit doppelt Verkettete Liste - Zeiger - Wie? ^^
 
Ich dachte an so etwas:
Delphi-Quellcode:
type
  TNutzdaten = record
    id: integer;
    titel: string; //besser ShortString, sonst speicherst Du nur Pointer ab
  end;

  PMyelement = ^TMyelement;
  TMyelement = record                                
    Daten: TNutzdaten;
    Next : PMyelement;
    Prev : PMyelement;
  end;
Beim Speichern nimmst Du dann nur die enthaltenen Nutzdaten und speicherst die ab.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:10 Uhr.
Seite 2 von 2     12   

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