AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Komponenten Eigenschaft im Stapel ändern
Thema durchsuchen
Ansicht
Themen-Optionen

Komponenten Eigenschaft im Stapel ändern

Ein Thema von Eppos · begonnen am 5. Mai 2020 · letzter Beitrag vom 5. Mai 2020
Antwort Antwort
Eppos

Registriert seit: 7. Aug 2006
Ort: Heilbronn
523 Beiträge
 
Delphi 11 Alexandria
 
#1

Komponenten Eigenschaft im Stapel ändern

  Alt 5. Mai 2020, 16:41
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ß
  Mit Zitat antworten Zitat
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
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 05:13 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