Einzelnen Beitrag anzeigen

Delphi.Narium

Registriert seit: 27. Nov 2017
2.490 Beiträge
 
Delphi 7 Professional
 
#2

AW: Komponenten Eigenschaft im Stapel ändern

  Alt 5. Mai 2020, 17:15
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:dbg: TDBGrid Diese Zeilen kennzeichnen den Beginn eines DBGrids.

Dahinter folgen nun diverse Eigenschaften des DBGrids.

Die Spalten des DBGrids beginnen in dieser Art:Columns = < Mit item beginnt jeweils eine Spalte des DBGrids.
Dahinter folgen die Eigenschaften der jeweiligen Spalte.
Bei meinem Delphi ist die Schriftgröße 8 aus dem Objektinspektor in der DFM so zu finden:Font.Height = -11 Um daraus die Schriftgröße 10 zu machen, muss man die -11 in -13 verwandeln, also
Delphi-Quellcode:
// aus
Font.Height = -13
// wird
Font.Height = -11
Aber: In der DFM stehen nur die Werte, die von den Standardwerten abweichen.

Bei meinem Delphi muss ich daher eine Spalte mit Standardwerten für die geänderte Schriftgröße so ändern:
Delphi-Quellcode:
// 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
Du brauchst also einen etwas intelligenteren Parser, der Dir die Texte entsprechend ändert.

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.
  Mit Zitat antworten Zitat