AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Planungstool - Struktur ok ?

Ein Thema von jokerfacehro · begonnen am 7. Mär 2011 · letzter Beitrag vom 7. Mär 2011
Antwort Antwort
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

AW: Planungstool - Struktur ok ?

  Alt 7. Mär 2011, 15:55
Muss man nicht unbedingt ...

Für die Tabellen-Struktur baust du dir einfach eine Tabelle, die die Abhängigkeiten zum Vorgänger (ParentID), den Typen (IDType) und die ID des Eintrags (ItemID) speichert.

Nun erstellst du dir ein Basis-Formular, dem du eine ItemID übergeben kannst.
Delphi-Quellcode:
TFBaseItem = class( TForm )
public
  property ID : integer;
end;

// Das brauchen wir später noch :)
TFBaseItemClass = class of TFBaseItem;
Für alle vorkommenden Typen erstellst du dir ein entsprechendes Formular, abgeleitet vom Basis-Formular,
mit dem alle Funktionen zu diesem Item möglich sind. (Daten zur ID aus der DB anzeigen, bearbeiten)
Diese Formulare werden dann mit RegisterClassAlias deiner Anwendung bekannt gegeben.
Delphi-Quellcode:
TFLand = class( TFBaseItem);

initialization

RegisterClassAlias( TFLand, '1' ); // Land hat z.B. IDType = 1
// oder auch
RegisterClassAlias( TFLand, 'Land' );
Möchtest du nun das passende Formular zu einem Item anzeigen, dann geht das wie folgt:
Delphi-Quellcode:
procedure ShowItemForm( IDType, ItemID : integer );
begin
  with TFBaseItem( FindClass( IntToStr( IDType ) ) ).Create( Application ) do
  begin
    ID := ItemID;
    Show;
  end;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

Registriert seit: 13. Feb 2007
306 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: Planungstool - Struktur ok ?

  Alt 7. Mär 2011, 17:09
Danke für die schnelle Antwort.
Dass mit der Struktur des Baums in einer Tabelle speichern, war auch genauso meine idee.
dazu habe ich dann pro hierachieebene eine tabelle, wo ich die attribute speicher.

da bin ich froh, schon nen guten lösungsansatz gefunden zu haben

die idee mit der formularerstellung ist mir ganz neu und da werd ich mich jetzt mal informieren.

Delphi-Quellcode:
// Das brauchen wir später noch :)
TFBaseItemClass = class of TFBaseItem;
nutze ich um den benötigten klassen-typ zu übergeben, richtig?
z.B.

Delphi-Quellcode:

type TFLand = class(TFBaseItem)
end;

type TFBaseItemClass = class of TFBaseItem;



procedure CreateForm(FormType: TFBaseItemClass);
begin

FormType.Create(Application);

end;

procedure Click;
begin

RegisterClass(TFLand,'Land');

CreateForm(FindClass('Land'));
end;

hoffe ich konnte dir folgen
"Never touch a running system administrator !"

Geändert von jokerfacehro ( 7. Mär 2011 um 17:13 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#3

AW: Planungstool - Struktur ok ?

  Alt 7. Mär 2011, 17:16
Nein, nicht ganz (ich hatte aber auch einen kleinen Fehler drin)

Erzeugt werden die Formulare so
Delphi-Quellcode:
uses
  frmBaseItem;

procedure ShowItemForm( IDType, ItemID : integer );
begin
  with TFBaseItemClass( FindClass( IntToStr( IDType ) ) ).Create( Application ) do
  begin
    ID := ItemID;
    Show;
  end;
end;
Mit FindClass kannst du nach einem Klassennamen (auch Alias, den wir benutzt haben) suchen lassen.
Der Rückgabewert von FindClass (logischerweise eine Class) wird per Cast auf die Basis TFBaseItemClass gebracht und erzeugt.

Der Vorteil ist nun, dass deine HauptAnwendung die Formulare gar nicht kennen muss, sondern nur das Basis-Formular.
Weiterhin kannst du auch erst prüfen, ob du eine Klasse zurückbekommen hast und dann erst erzeugen.
Wenn keine Klasse kommt, dann eben nichts machen

So kannst du die benötigten Formulare auch erst zu einem späteren Zeitpunkt coden und brauchst dich aber nicht um die Abhängigkeiten scheren.

Du kannst auch zunächst ein Dummy-Formular erstellen.

BTW Als ClassAlias "1" zu nehmen ist natürlich doof, besser wäre es natürlich "ItemType1", "ItemType2", etc.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)

Geändert von Sir Rufo ( 7. Mär 2011 um 17:26 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

Registriert seit: 13. Feb 2007
306 Beiträge
 
Delphi 7 Enterprise
 
#4

AW: Planungstool - Struktur ok ?

  Alt 7. Mär 2011, 17:31
Danke dir.

Das ist perfekt für mein Projekt geeignet, da der Komplexitätsgrad sehr hoch ist

Ich habs noch nicht ganz verstanden, aber nachm Weiterlesen und Schlafen wirds bestimmt


Ich melde mich später nochmal.
"Never touch a running system administrator !"
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 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