Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Memo mehrfach verwenden (https://www.delphipraxis.net/3200-memo-mehrfach-verwenden.html)

Hansa 28. Feb 2003 11:23


Memo mehrfach verwenden
 
Hi,

bin gerade dabei ein paar Einzelteile zusammenzubauen. Jetzt weiß ich nicht genau, wie ich folgendes am besten mache : Adressen braucht man wohl an allen Ecken und Kanten, an allen möglichen Programmteilen, auf Bildschirm, Drucker usw.

Ich bräuchte hierzu am besten ein Memo oder von mir aus nur ein paar Labels. Nur wo lege ich die am besten zentral hin, damit ein Zugriff von sämtlichen Programmteilen her möglich ist :?: Soll ich dafür eine eigene Form machen oder was ? Verschiedene Berechnungen, die ich überall brauche habe ich in einer zentralen Unit zusammengefaßt, aber die liefern meist nur Zahlen zurück, die intern (so zu sagen : hinter den Kulissen) verwendet werden. Was mir da so vorschwebt, kommt mir für solch ein kleineres Problem viel zu kompliziert vor. Ich bräuchte irgendeine Prozedur, z.B.:
Code:
procedure SchreibeAdresse (x,y : integer);
, wobei x,y oben links wäre.

lodda 28. Feb 2003 12:12

Hallo Hansa

wo soll die Funktion draufschreiben und woher nimmt sie die Addresse?

Hansa 28. Feb 2003 12:37

Adresse kommt aus DB. Der Zugriff müßte mit in die Prozedur rein. Tja, und die soll möglichst überall hinschreiben.

Touchdown 28. Feb 2003 16:21

Ich weiss nicht was es für ein Tool werden soll, aber wenn es recht komplex ist, würde ich dir zu reiner OOP raten.

Forms-Units sollen lediglich visuelle Komponenten steuern, abfragen und deren Events verarbeiten. So kann man auch Funktionen aufrufen ohne gleich die Form erzeugen zu müssen.

Objekt-Units sind eng verbunden mit den Forms-Units und dies sollte schon vom Namen her zu erkennen sein. Beim Starten einer Form wird von einer Objekt-Unit gefüllt, beim Schliessen füllen die visuellen Komponenten das Objekt (selbstverständlich können zu jeder Zeit irgendwelche Berechnungen durchgeführt werden).

Z.B.:
fAuto.pas (f = Form)
uAuto.pas (u = Unit)

Die nur Unit-Forms sollten von einer Ur-Unit abgeleitet sein, die wiederum eine Hauptklasse beinhaltet, so hätten schon mal alle Units zugriff auf eine Instanz der Hauptklasse. Dein HauptObjekt (worum es sich am meisten dreht bei deinem Tool) füllst du bei der Initialisierung des Programms aus der Datenbank und beim Beenden schreibst du die Werte zurück in die Datenbank.

An dieser Stelle könnte man natürlich noch weiter gehen und jeder Tabelle ein Objekt zuweisen (die Klasse zu diesem Objekt würde natürlich 1 zu 1 die Spalten nachbilden).

Sogar jedem Feld könnte man ... (das führt jetzt zu weit 8) )

Hansa 28. Feb 2003 20:44

Hi,

Zitat:

Zitat von Touchdown
Ich weiss nicht was es für ein Tool werden soll, aber wenn es recht komplex ist, würde ich dir zu reiner OOP raten.
)...

Das soll kein Tool werden, sondern eine allgemeine, universell einsetzbare Routine und nicht sehr komplex. OOP brauche ich da auch nicht, höchstens Parameter (z.B.: OutputToPrinter : boolean) usw. Gut, Vererbung wäre vielleicht von Vorteil. Aber wo fange ich überhaupt an :?: Bei Troot ? Gibts das ? F1 zeigt darüber allerdings nichts. :mrgreen: Ich will vermeiden an 50 Stellen jedesmal 4 oder mehr Labels, Edits usw. von Hand hinzusetzten, zu verschieben, abzuändern zu beschriften, Position anzugeben und blabla. Und dasselbe bei einer Programmänderung wieder von vorne. Das hört sich zwar nach OOP an, ist aber doch eigentlich eher eine Prozedur/Funktion mit ein paar Parametern und keine Methode.

Touchdown 28. Feb 2003 20:53

Dann schau dir mal eine TNotebook-Komponente an. Eine echt feine Sache, wenn man eine Form für viele verschieden Darstellungen braucht und nix dynamisch obwohl das auch nicht weiter schlimm ist.

Über den PageIndex kann man alles wunderbar steuern.

Hansa 28. Feb 2003 20:58

Zitat:

Zitat von Touchdown
Dann schau dir mal eine TNotebook-Komponente an...

Den Notebook schalt ich aber erst morgen wieder an. :bouncing4: :lol: Ist die bei Delphi dabei ? Noch nie gesehen. :shock: Schau morgen mal.

Daniel B 28. Feb 2003 21:01

Zitat:

Zitat von Hansa
Ist die bei Delphi dabei ? Noch nie gesehen. :shock: Schau morgen mal.

Bei Win3.1 ist es drauf.

Grüsse, Daniel :hi:

Hansa 28. Feb 2003 23:06

Zitat:

Unit

ExtCtrls

Beschreibung

Notebook-Komponenten werden häufig mit Sätzen von Registerkarten (TTabSet) verwendet, die von den Anwendern durch Klick auf die Registerkarte ausgewählt werden können. TNotebook wird aus Gründen der Abwärtskompatibilität bereitgestellt. In neuen Anwendungen sollte TPageControl verwendet werden.
Und nun :?:

Daniel B 28. Feb 2003 23:10

Dann wohl PageControl nehmen.
Komponenten von der Palette Win 3.1 machen auf manchen System probleme, bzw. sie funktionieren nicht. Es kommt glaub ich sogar ne Message wenn man eine Komponente von der Win 3.1 Palette auswählt und einfügen möchte. Bilde mir ein das da was kommt.

Grüsse, Daniel :hi:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:55 Uhr.
Seite 1 von 2  1 2      

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