AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

VertScrollBar

Ein Thema von knochen · begonnen am 15. Sep 2009 · letzter Beitrag vom 15. Sep 2009
Antwort Antwort
knochen

Registriert seit: 26. Aug 2009
81 Beiträge
 
Delphi 2006 Professional
 
#1

VertScrollBar

  Alt 15. Sep 2009, 15:18
Hallo zusammen,

wir haben in meiner Firma eine Applikation mit ca. 1500 Forms. Auf vielen dieser Formss befinden sich Scrollboxen. Bei fast allen dieser Forms und Scrollboxen haben die Eigenschaften VertScrollBar.Tracking den Wert False.
Das ist so, da dies der Defaultwert ist. Wie kann ich mit vertretbarem Aufwand erreichen, das diese Eigenschaften in allen Forms und allen Scrollboxen auf True gesetzt werden? Idelaerweise das Ganze auch noch für die Eigenschaft HorzScrollBar.Tracking?

Vererbung ist in meinem Fall keine Alternative. Geben die G-Experts da vielleicht was her? Ich habe auf jeden Fall noch nichts gefunden.

Vielen Dank im Voraus.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#2

Re: VertScrollBar

  Alt 15. Sep 2009, 16:02
so auf die Schnelle fällt mir nur der direkte Weg ein

dafür müssen die Forms (DFMs) aber im Textformat gespeichert sein
Delphi-Quellcode:
var SL: TStringList;
begin
  SL := TStringList.Create;

  SL.LoadFromFile('form.dfm');
  if (SL.Count > 0) and (Pos('object ', SL[0]) > 0) then begin
    SL.Text := StringReplace(SL.Text, ': TScrollBox'#13#10,
      ': TScrollBox'#13#10'HorzScrollBar.Tracking = True'#13#10
      + 'VertScrollBar.Tracking = True'#13#10, [rfReplaceAll, rfIgnoreCase]);
    SL.SaveToFile('form.dfm');
  end;

  SL.Free;
end;
und falls schon Einiges gesetzt ist, dann sollte man vorher mal prüfen, ob ".Tracking" noch nicht vorhanden ist ... könnte sein, das Delphi keine mehrfachvorkommen mag oder nur die letzen/alten Werte nimmt
Delphi-Quellcode:
var SL: TStringList;
  Th, Tv, i: Integer;
begin
  SL := TStringList.Create;

  SL.LoadFromFile('form.dfm');
  if (SL.Count > 0) and (Pos('object ', SL[0]) > 0) then begin
    Th := -1;
    Tv := -1;
    for i := SL.Count - 1 downto 0 do begin
      if Pos(' end', SL[i]) > 0 then begin
        Th := -1;
        Tv := -1;
      end;
      if Pos('HorzScrollBar.Tracking = ', SL[i]) > 0 then Th := i;
      if Pos('VertScrollBar.Tracking = ', SL[i]) > 0 then Tv := i;
      if (Pos(' object ', SL[i]) > 0) and Pos(': TScrollBox', SL[i]) > 0 then begin
        if Th >= 0 then begin
          SL[Th] := 'HorzScrollBar.Tracking = True';
          Th := -1;
        end else SL.Insert(i + 1, 'HorzScrollBar.Tracking = True');
        if Tv >= 0 then begin
          SL[Tv] := 'VertScrollBar.Tracking = True';
          Tv := -1;
        end else SL.Insert(i + 1, 'VertScrollBar.Tracking = True');
      end;
    end;
    SL.SaveToFile('form.dfm');
  end;

  SL.Free;
end;
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  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 04:14 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