Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Werkzeuge (https://www.delphipraxis.net/63-sonstige-werkzeuge/)
-   -   Automatisches Ersetzten von VCL Komponenten in pas und dfm? (https://www.delphipraxis.net/125146-automatisches-ersetzten-von-vcl-komponenten-pas-und-dfm.html)

EDatabaseError 1. Dez 2008 14:58


Automatisches Ersetzten von VCL Komponenten in pas und dfm?
 
Hallo zusammen,

gibt es ein Tool für Delphi welches in einer Kollektion von pas und dfm Dateien den Klassennamen und damit verbundene Eigenschaften automatisch sucht und ersetzt?
In der pas und dfm ist z.b. die Klasse TTable, diese soll in allen Dateien durch TADOTable ersetzt werden. Hoffe ihr versteht was ich suche.

Danke schon mal ;)
Tobi

nahpets 1. Dez 2008 15:15

Re: Automatisches Ersetzten von VCL Komponenten in pas und d
 
Hallo,

ja, dass habe ich auch schon gesucht (und nicht gefunden).

Schnellschussantwort:

UltraEdit und über alle *.pas und *.dfm-Dateien ein Globalchange absetzen. (Es darf auch ein anderer Editor sein ;-))
Da TTable und TAdoTable nicht so ganz kompatibel sind, musst Du aber bei so einem globalen Ersetzen mit einer nicht unerheblichen "Fehlermenge" rechnen, wobei die Unterschiede bei TQuery und TAdoQuery wohl größer sind.

Alternative: selbstschreiben:

OpenDialog mit Multiselect:

'ne Stringliste zum Laden der Dateien per Schleife:

Delphi-Quellcode:
sl.LoadFromFile(od.FileName);
sl.Text := AnsiReplaceText(sl.Text,'TTable','TAdoTable'); // Ist nicht das Schnellste, für 'nen Einmaljob aber ausreichend.
sl.SaveToFile(od.FileName);
Eventuell noch vor dem Schreiben ein Backup der alten Datei machen.

Aufwand: halbe Stunde mit testen, Vorteil:

Du kannst das Programm um weitere Ersetzungen anpassen.

jfheins 1. Dez 2008 15:21

Re: Automatisches Ersetzten von VCL Komponenten in pas und d
 
Ich glaube, die GExperts bieten etws in der Richtung :gruebel:

Sherlock 1. Dez 2008 16:05

Re: Automatisches Ersetzten von VCL Komponenten in pas und d
 
Bieten sie, aber es ist doch etwas hakelig und fehlerhaft.

Ich bin bisher mit Suchen&Ersetzen in DFM und PAS ganz gut gefahren.

Sherlock

Hansa 1. Dez 2008 16:08

Re: Automatisches Ersetzten von VCL Komponenten in pas und d
 
Wenn das nicht mal mit Refactory gehen sollte, dann erkläre mir mal einer wozu das Ganze dann gut ist. :shock:

nahpets 1. Dez 2008 16:12

Re: Automatisches Ersetzten von VCL Komponenten in pas und d
 
Zitat:

Zitat von Hansa
Wenn das nicht mal mit Refactory gehen sollte, dann erkläre mir mal einer wozu das Ganze dann gut ist. :shock:

Gibt's ab welcher Delphiversion?
Mein Delphi ist fast so alt wie ich ;-)

Hansa 1. Dez 2008 16:22

Re: Automatisches Ersetzten von VCL Komponenten in pas und d
 
Dürfte D2005 sein. Ich wundere mich allerdings echt darüber, dass das keiner nutzt oder gar davon weiß. Das betrifft auch Nutzer von D2006 pro oder Turbo Delphi (zumindest ohne Angabe von Trial-Version). Das vor dem Hintergrund : "eeeendlich kann Delphi auch Refactoring" :mrgreen:

Meflin 1. Dez 2008 16:26

Re: Automatisches Ersetzten von VCL Komponenten in pas und d
 
Liste der Anhänge anzeigen (Anzahl: 1)
Jupp, es gibt tatsächlich eine entsprechende Refactoring-Methode dafür (siehe Anhang) - mit deinem Delphi 7 wirst du da allerdings nicht glücklich ;)

EDatabaseError 1. Dez 2008 17:08

Re: Automatisches Ersetzten von VCL Komponenten in pas und d
 
Bin ich dann froh das ich D2008 hab :D

aahm zum von Hand machen. ich hab damit angefangen aber nach 5 stunden hats dann auch kein Spass mehr gemacht ;)..

Das mit dem Refactoring an das hab ich garnich gedacht. Aber da gehen imho auch nich so sachen wie das er Eigenschaften hinzufügt oder anpasst dann an den Komponenten. Für sowas ist dann wohl doch selberschreiben angesagt?

Tobi

DeddyH 1. Dez 2008 17:09

Re: Automatisches Ersetzten von VCL Komponenten in pas und d
 
Zitat:

Zitat von EDatabaseError
Bin ich dann froh das ich D2008 hab

Das mag ich nicht so ganz glauben :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:39 Uhr.
Seite 1 von 4  1 23     Letzte »    

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