Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Pointer? auf ein dynamsches Array eines Record. Wie? (https://www.delphipraxis.net/30539-pointer-auf-ein-dynamsches-array-eines-record-wie.html)

Der_Ventilator 26. Sep 2004 12:04


Pointer? auf ein dynamsches Array eines Record. Wie?
 
Hi
Ich habe einen kleinen Mp3-Player programmiert, dessen Playlist ein dynamsches Array eines Records ist:

Delphi-Quellcode:
type TMp3Eintrag = record
      filename : string[255];
      path     : string[255];
      size     : integer;
      anzeige  : boolean;
      dauer    : string[7];
      id3tag   : Tid3tag;
     end;

type TDatenbank=ARRAY OF TMp3Eintrag;

...

var Mp3s: TDatenbank;

...

SetLength(Mp3s,High(Mp3s)+2); //usw

Soweit alles klar. Jetzt möchte ich eine zweite Playlist implementieren, aber nicht alle Funktionen z.B zum Sortieren, Speichern usw. nochmal schreiben. Da habe ich mir gedacht, ich erzeige ein neues zweidiminsonales Array für die einzelnen Playlisten.
Um aber nicht jedesmal die aktuelle Playlist in mein Array Mp3s (das, auf das alle Funktionen getrimmt sind) kopieren zu müssen, wollte ich Mp3s als Zeiger auf das neue zweidiminsonale Array deklarieren und ihn jedes mal verbiegen, je nachdem welche Playlist gerade aktiv ist.

Leider habe ich keine Ahnung, wie das geht.
Deswegen bitte ich um Hilfe

Nikolas 26. Sep 2004 12:09

Re: Pointer? auf ein dynamsches Array eines Record. Wie?
 
Wie hast du alle Funktionen auf das mpr3s-Array getrimmt? Es wäre doch viel einfacher, wenn du dir functions schreibst, denen du ein TDatenbank übergibst, welches dann bearbeitet wird. Dann brauchst du dich granicht um Pointer kümmern.

Der_Ventilator 26. Sep 2004 12:21

Re: Pointer? auf ein dynamsches Array eines Record. Wie?
 
Jetzt ist es aber so :-)

Ach ja, kann man auch Pointer auf Komponenten sezten?

ich hab mir eine eigene Listbox gezeichnet, von der alle Interaktionen mit der Datenbank ausgehen.
Da könnte ich doch ebenfalls die neue Liste und die alte in ein neues Array setzen und die ursprüngliche Liste nur als Pointer deklarieren, sodass der Anpassungsaufwand des ganzen Programms eigentlich nur das Umsetzen der Pointer beim OnEnter-Ereignis der Listen wäre.

Ich hatte mir das jedenfalls so einfach vorgesellt...


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:17 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