![]() |
sowas wie eine abstrakte Klasse gesucht...
Hallo zusammen,
nehmen wir an, ich habe Kunden
Delphi-Quellcode:
und Artikel
TKunde = record
name: string; vorname: string; ... end; TKunden = array of TKunde;
Delphi-Quellcode:
Nun hab ich noch eine Prozedur sagen wir zum speichern der Kunden
TArtikel = record
nummer: word; Suchbegriff: string; ... end; TArtikelliste = array of TArtikel;
Delphi-Quellcode:
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.
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; 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 |
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. |
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 10:55 Uhr. |
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