![]() |
Komponenten Eigenschaft im Stapel ändern
Hallo zusammen,
gibt es eine Möglichkeit, durch z.B. suchen/ersetzen, eine Eigenschaft einer Komponente zu ändern? Beispiel: 100 Forms mit einem DBGrid, für jede Spalte die Schriftgröße auf 10 ändern Danke und Gruß |
AW: Komponenten Eigenschaft im Stapel ändern
Sollte gehen:
Die DFMs enthalten ja die Quelltexte der Formulare. Was Du nun benötigst wäre ein Programm, das alle DFMs liest. DBGrids kannst Du durch Textzeilen in dieser oder ähnlicher Form erkennen:
Delphi-Quellcode:
Diese Zeilen kennzeichnen den Beginn eines DBGrids.
dbg: TDBGrid
Dahinter folgen nun diverse Eigenschaften des DBGrids. Die Spalten des DBGrids beginnen in dieser Art:
Delphi-Quellcode:
Mit
Columns = <
Delphi-Quellcode:
beginnt jeweils eine Spalte des DBGrids.
item
Dahinter folgen die Eigenschaften der jeweiligen Spalte. Bei meinem Delphi ist die Schriftgröße 8 aus dem Objektinspektor in der DFM so zu finden:
Delphi-Quellcode:
Um daraus die Schriftgröße 10 zu machen, muss man die -11 in -13 verwandeln, also
Font.Height = -11
Delphi-Quellcode:
Aber: In der DFM stehen nur die Werte, die von den Standardwerten abweichen.
// aus
Font.Height = -13 // wird Font.Height = -11 Bei meinem Delphi muss ich daher eine Spalte mit Standardwerten für die geänderte Schriftgröße so ändern:
Delphi-Quellcode:
Du brauchst also einen etwas intelligenteren Parser, der Dir die Texte entsprechend ändert.
// aus
item Expanded = False Visible = True // wird item Expanded = False Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -13 Font.Name = 'MS Sans Serif' Font.Style = [] Title.Font.Charset = DEFAULT_CHARSET Title.Font.Color = clWindowText Title.Font.Height = -13 Title.Font.Name = 'MS Sans Serif' Title.Font.Style = [] Visible = True Mit etwas Geduld und Diziplin sollte aber ein entsprechendes Programm in ein paar Stündchen realisierbar sein und das so geänderte Formular weiterhin kompilierbar sein. Ein Global-Change, bestehend aus purem Ersetzen von alter Zeichenfolge durch neue Zeichenfolge, dürfte nicht ausreichen. Für Deine Delphiversion musst Du halt mal nachschauen, welche Änderungen Du konkret durchführen musst. Das Prinzip dürfte aber das Gleiche sein. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:30 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 by Thomas Breitkreuz