Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   sowas wie eine abstrakte Klasse gesucht... (https://www.delphipraxis.net/172379-sowas-wie-eine-abstrakte-klasse-gesucht.html)

Marco Steinebach 30. Dez 2012 08:03

sowas wie eine abstrakte Klasse gesucht...
 
Hallo zusammen,
nehmen wir an, ich habe Kunden
Delphi-Quellcode:
  TKunde = record
    name: string;
   vorname: string;
    ...
  end;
  TKunden = array of TKunde;
und Artikel
Delphi-Quellcode:
  TArtikel = record
    nummer: word;
    Suchbegriff: string;
    ...
  end;
  TArtikelliste = array of TArtikel;
Nun hab ich noch eine Prozedur sagen wir zum speichern der Kunden
Delphi-Quellcode:
procedure KundenSpeichern;
var
  f: file of TKunde
  i: integer;
begin
  // Datei öffnen, schließen, usw... lasse ich jetzt mal weg
  for i := 0 to high (kundenliste) do
    write (f, kunden[i]);
end;
Bei den Artikeln sieht die prozedur exakt gleich aus, außer das aus TKunde TArtikel wird, und entsprechend aus file of TKunde natürlich file of TArtikel.
Kann man eine Klasse deklarieren, in der noch nicht klar ist, oder es undefiniert bleibt, mit welchen Datentypen sie sich rumschlagen muß?
Ziel wäre, einen Vorfahr von Kunden und Artikel zu haben, der eine Liste hat, speichern und laden kann, usw. sonst hab ich ja allen Code, bis auf Kleinigkeiten, doppelt...
Mit gespannten Grüßen
Marco

jaenicke 30. Dez 2012 08:45

AW: sowas wie eine abstrakte Klasse gesucht...
 
Mit Delphi 5 ist das so nicht möglich, da du bei einer typisierten Datei den konkreten Typ der Daten beim Kompilieren kennen musst. Heutzutage (Delphi 2009+) könnte man dafür Generics nehmen. Damit ginge das auch mit file of T in der Speicherprozedur usw. relativ einfach umzusetzen.

Wobei ich typisierte Dateien heute nicht mehr ernsthaft zur Datenspeicherung nutzen würde. Sinn macht da viel eher eine echte Datenbank, das ist dann auch viel einfacher zu verwalten und deutlich schneller, insbesondere bei der Suche nach Datensätzen. Das ist dann sicher etwas mehr Code als mit typisierten Dateien, aber du hast auch deutlich mehr Möglichkeiten und deutlich mehr Geschwindigkeit.

Bummi 30. Dez 2012 08:59

AW: sowas wie eine abstrakte Klasse gesucht...
 
Jaenicke ist mir zuvorgekommen. Mit dynamischen Strings dürfte der Ansatz eh unbrauchbar sein.


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