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/)
-   -   Delphi Schriftart,farbe usw. Projektweit festlegen (https://www.delphipraxis.net/92593-schriftart-farbe-usw-projektweit-festlegen.html)

shmia 23. Mai 2007 12:45

Re: Schriftart,farbe usw. Projektweit festlegen
 
Eigentlich sollte die Klasse TScreen das Event AfterFormCreate und AfterDataModuleCreate haben.
Dann könnte man ohne Probleme zur Laufzeit Änderungen an allen Formularen vornehmen.
Man könnte so z.B. das SystemMenu aller Formulare um die Menupunkt Print erweitern, Code zum Übersetzen von Texten ausführen oder Skins laden.
Das geht dann schon in Richtung Aspektorientierte Programmierung. Leider hat Delphi (Win32) da nicht so viel zu bieten.

Hansa 23. Mai 2007 18:34

Re: Schriftart,farbe usw. Projektweit festlegen
 
Zitat:

Zitat von alzaimar
Hansa, man kann sich aber einen kleinen blöden Translator schreiben, der einfach in der DFM die 1.Zeile ändert, sowie in den korrespondierenden PAS-Dateien in die USES-Klausel den Modulnamen der 'Vater-Form' sowie in die Deklaration der Form die Abhängigkeit von der Vaterform ablegen.

Ich hab das schon oft gemacht.

In Ausnahmefällen ich auch, allerdings dann eher von Hand, wegen Geringfügigkeit. Bei 100 Forms würde das auch anders aussehen. Schlechte Planung lässt sich eben schwer ausbügeln. Man muss bedenken, was alles zusammenhängt. DFM <-> PAS und die DPR usw. Da muss alles passen. So etwas in größerem Stil zu simulieren oder nachzubauen ??

Sind das wirklich 100 Formulare ? Dann tendiere ich mittlerweile dazu, das tatsächlich komplett neu zu machen. Ist das eine einmalige Sache, dann vielleicht nicht.

Hansa 23. Mai 2007 19:13

Re: Schriftart,farbe usw. Projektweit festlegen
 
Zitat:

Zitat von Hansa
Zitat:

Zitat von alzaimar
Hansa, man kann sich aber einen kleinen blöden Translator schreiben, der einfach in der DFM die 1.Zeile ändert, sowie in den korrespondierenden PAS-Dateien in die USES-Klausel den Modulnamen der 'Vater-Form' sowie in die Deklaration der Form die Abhängigkeit von der Vaterform ablegen.

Ich hab das schon oft gemacht.

In Ausnahmefällen ich auch, allerdings dann eher von Hand, wegen Geringfügigkeit. Bei 100 Forms würde das auch anders aussehen. Schlechte Planung lässt sich eben schwer ausbügeln. Man muss bedenken, was alles zusammenhängt. DFM <-> PAS und die DPR usw. Da muss alles passen. So etwas in größerem Stil zu simulieren oder nachzubauen ??

Sind das wirklich 100 Formulare ? Dann tendiere ich mittlerweile dazu, das tatsächlich komplett neu zu machen. Ist das eine einmalige Sache, dann vielleicht nicht.

Nachtrag :

Soeben hierdrüber gestolpert :

Zitat:

Zitat von Thomas Steinmaurer im Entwicklerforum
Was ich Dir auf jeden Fall ans Herz legen würde ist, dass mit "Form-Inheritance" arbeitest. Im Klartext bedeutet das, dass Du Dir "Basisformulare" entwirfst, die bereits so viel wie möglich an Logik enthält, und die speziellen Listen/Eingabe-Formulare dann von diesen "Basisformularen" abgeleitet sind. Somit erben diese Formulare alles was in den Basisformularen bereits implentiert wurde. D.h. hiermit kommt man sehr rasch zu Ergebnissen, und man muss nicht immer wieder alles von Grund auf neu machen.

Der schreibt da auch "Form-Inheritance". Es ist die Objektablage bzw. auf englisch : "Repository". Worum es konkret geht ist dabei egal. Der Sinn allerdings nicht !

wfs12 23. Mai 2007 19:59

Re: Schriftart,farbe usw. Projektweit festlegen
 
Also ich, der die Anfangsfrage gestellt hat, hab nur 7 Forms und wollte, wenn ich eine Einstellung ändere nicht font.size und was da noch so alles bei ist für jede Form ändern. So wies aber aussieht lohnt sich der Aufwand alles auf einmal zu machen nicht bei so wenigen Forms. --> Also alles selber einzeln schreiben oder?!

DGL-luke 23. Mai 2007 20:04

Re: Schriftart,farbe usw. Projektweit festlegen
 
DFM-Parser gibts schon. Die meisten glaube ich read-only. Hab hier einen im Einsatz, der mir sprachrelevante properties aus dfms fischt und in XML packt. :)

Hansa 23. Mai 2007 20:35

Re: Schriftart,farbe usw. Projektweit festlegen
 
Zitat:

Zitat von wfs12
..der die Anfangsfrage gestellt hat, hab nur 7 Forms und wollte...So wies aber aussieht lohnt sich der Aufwand alles auf einmal zu machen nicht bei so wenigen Forms. --> Also alles selber einzeln schreiben oder?!

Sofern das nur einmalige Sache ist (Hausaufgabe und dann Tschüss Delphi usw.), dann stelle es von Hand um. Besteht die Möglichkeit, dass irgendwann mal statt 7 auch 70 Forms oder mehr benötigt werden, dann würde ich Dir dringend raten, das Konzept der Objektablage und somit OOP genauer unter die Lupe zu nehmen und anhand der 7 Forms das Programm dementsprechend umzubauen. Öffne in diesem Fall eine Form und nehme eine neue aus dem Repository (vererbt / inherited auswählen). Ab dann gehts los. Schneide die Komponenten aus der alten Form aus und füge sie in die abgeleitete ein, bis die alte Form leer ist. Dann diese auch aus dem Projekt entfernen. Ist auch nicht die Welt und fertig. Ab dann braucht Font, Schriftfarbe und auch Events etc. immer nur in der Ursprungs-Form abgeändert zu werden und das ist selbst für 7000 Forms auf einmal erledigt !


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:44 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