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 jokerfacehro
jokerfacehro

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

Planungstool - Struktur ok ?

  Alt 7. Mär 2011, 16:39
Hallo,

ich bin Dualstudent und habe einen Projektauftrag bekommen, den ich allein umsetzen soll.
Bei dem ganzen geht es um Netzwerkplanung.

Die funktionale Struktur ist folgendermaßen:

Man erstellt ein Projekt. Von da aus geht eine Baumstruktur weiter.

Projekt->Länder->Städte->Standorte->Cluster

in den Clustern kann man sich dann seine Komponenten fürs Netzwerk zusammenclickern etc.
und innerhalb der Cluster wirds dann kompliziert, da viele Informationen aus ner DB da mit reinspielen, doch soweit bin ich noch garnicht.


Mein Problem ist folgendes.
Ich möchte die Projektstruktur als DB speichern (bevorzugt MSAccess).
Das ganze soll dann per TreeView angezeigt werden und für jede Hierachiestufe, soll es ein Formblatt geben, wo man Daten dafür ausfüllen kann.

Ich habe mir dazu ein Konstrukt überlegt und wollte mal feedback haben, ob das eine gute lösung ist.


Die Hauptklasse stellt das ControlInterface (CI) dar und steuert alles.
Im CI ist erstmal das DatenbankInterface(DBI) und die Benutzeroberfläche(GUI).

Die GUI besteht aus einem TreeView für die Strukturansicht und einem Panel, auf dem ich ein PageControl einrichte, dass die Formulare für die Hierachieebenen anzeigt.

Dazu möchte ich die Daten immer direkt aus der DB laden und beim ändern auch direkt wieder speichern. Die Baumstruktur kann bis zu 1000 Einträge viell. auch mehr haben. Ist es vielleicht besser über eine Hilfsstruktur, wie ein Record zu gehen?


Grüße
"Never touch a running system administrator !"
  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
 
#2

AW: Planungstool - Struktur ok ?

  Alt 7. Mär 2011, 16: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
 
#3

AW: Planungstool - Struktur ok ?

  Alt 7. Mär 2011, 18: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 18: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
 
#4

AW: Planungstool - Struktur ok ?

  Alt 7. Mär 2011, 18: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 18:26 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jokerfacehro
jokerfacehro

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

AW: Planungstool - Struktur ok ?

  Alt 7. Mär 2011, 18: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 17:24 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