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/)
-   -   Datenmodell automatisch erzeugen (https://www.delphipraxis.net/183844-datenmodell-automatisch-erzeugen.html)

Sir Rufo 10. Feb 2015 09:02

AW: Datenmodell automatisch erzeugen
 
Ähm, du weißt doch wie eine Klasse im Delphi-Code aussehen muss?

Jetzt schreibt man sich einen Code-Generator, der aus ein paar Vorgaben diese Klassen komplett erzeugt.

Du gibst vor
Code:
{"name":"TFoo",
[{"Name":"Name","type":"string","GetterSetterKind":"GS"}]}
und das Programme baut daraus
Delphi-Quellcode:
type
  TFoo = class
  private
    FName : string;
    function GetName : string;
    procedure SetName( const Value : string );
  public
    property Name : string read GetName write SetName;
  end;

procedure TFoo.SetName( const Value : string );
begin
  FName := Value;
end;

function GetName : string;
begin
  Result := FName;
end;

stahli 10. Feb 2015 09:04

AW: Datenmodell automatisch erzeugen
 
Wie ich das umgesetzt habe kannst Du hier sehen: http://www.delphipraxis.net/173360-s...framework.html (Beitrag #17)

Einen Artikel dazu kenne ich nicht.
Ich dachte mir einfach, wenn ich immer das selbe schreiben muss (ClassX.pas) dann kann ich mir auch die Textdatei erzeugen lassen.
Entsprechend muss man die genauen Klassen- und Eigenschaftendeklarationen irgendwo kompakt ablegen, so dass die gewünschten Klassen heraus kommen.

Entspricht quasi einfach einer komplexen "Serienbrieffunktion". ;-)

Delphi bietet dann sogar noch die Möglichkeit, die Units gleich in ein Package einzubinden und das zu kompilieren. Jedenfalls funktionierte das bei mir schon mal einigermaßen zufriedenstellend. Ich habe das dann aber nicht mehr weiter verfolgt.

FAM 10. Feb 2015 09:18

AW: Datenmodell automatisch erzeugen
 
Zitat:

Zitat von stahli (Beitrag 1289355)
Wie ich das umgesetzt habe kannst Du hier sehen: http://www.delphipraxis.net/173360-s...framework.html (Beitrag #17)

ich schau es mir mal an, danke :)

Delphi-Quellcode:
{"name":"TFoo",
[{"Name":"Name","type":"string","GetterSetterKind":"GS"}]}
Ich wusste jetzt nicht das Delphi auch Code generieren kann bzw. habe das bisher noch nicht in betracht gezogen gehabt. Werden dann die entsprechenden Dateien auch gleich richtig gespeichert und abgelegt?

DeddyH 10. Feb 2015 09:20

AW: Datenmodell automatisch erzeugen
 
Das hängt ja davon ab, wie Du den angesprochenen Code-Generator umsetzt.

FAM 10. Feb 2015 09:28

AW: Datenmodell automatisch erzeugen
 
Zitat:

Zitat von DeddyH (Beitrag 1289366)
Das hängt ja davon ab, wie Du den angesprochenen Code-Generator umsetzt.


kannst du das bitte erläutern?

DeddyH 10. Feb 2015 09:34

AW: Datenmodell automatisch erzeugen
 
Zitat:

Zitat von Sir Rufo (Beitrag 1289353)
Jetzt schreibt man sich einen Code-Generator, der aus ein paar Vorgaben diese Klassen komplett erzeugt.

Das macht Delphi nicht automatisch, sondern Du musst selbst tätig werden. Daher liegt es auch an Dir, wo die Dateien gespeichert werden.

Sir Rufo 10. Feb 2015 10:11

AW: Datenmodell automatisch erzeugen
 
@FAM

Eine .pas Datei ist eine einfache stumpfe Textdatei. Schreibe ein Programm, dass eine Textdatei erzeugt. Wenn diese Textdatei jetzt zufälligerweise den Vorgaben für eine Delphi-Unit entspricht, dann hast du - Simsalabim - eine Delphi-Unit erzeugt.

Kann das Programm jetzt auch noch diese ominöse Textdatei nach Vorgaben, die es irgendwo irgendwie herbekommt, was in einem beliebigen Format sein kann, was eben dieses Programm versteht, dann hat man ein Delphi-Unit-Generator geschrieben.

FAM 10. Feb 2015 12:46

AW: Datenmodell automatisch erzeugen
 
Zitat:

Zitat von Sir Rufo (Beitrag 1289383)
@FAM

Eine .pas Datei ist eine einfache stumpfe Textdatei. Schreibe ein Programm, dass eine Textdatei erzeugt. Wenn diese Textdatei jetzt zufälligerweise den Vorgaben für eine Delphi-Unit entspricht, dann hast du - Simsalabim - eine Delphi-Unit erzeugt.

Kann das Programm jetzt auch noch diese ominöse Textdatei nach Vorgaben, die es irgendwo irgendwie herbekommt, was in einem beliebigen Format sein kann, was eben dieses Programm versteht, dann hat man ein Delphi-Unit-Generator geschrieben.

Ok verstanden :)


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

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