AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Werkzeuge Automatisches Ersetzten von VCL Komponenten in pas und dfm?
Thema durchsuchen
Ansicht
Themen-Optionen

Automatisches Ersetzten von VCL Komponenten in pas und dfm?

Ein Thema von EDatabaseError · begonnen am 1. Dez 2008 · letzter Beitrag vom 6. Jan 2009
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#1

Automatisches Ersetzten von VCL Komponenten in pas und dfm?

  Alt 1. Dez 2008, 15:58
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
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 1. Dez 2008, 16:15
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.
  Mit Zitat antworten Zitat
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#3

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 1. Dez 2008, 16:21
Ich glaube, die GExperts bieten etws in der Richtung
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.798 Beiträge
 
Delphi 12 Athens
 
#4

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 1. Dez 2008, 17:05
Bieten sie, aber es ist doch etwas hakelig und fehlerhaft.

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

Sherlock
Oliver
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 1. Dez 2008, 17:08
Wenn das nicht mal mit Refactory gehen sollte, dann erkläre mir mal einer wozu das Ganze dann gut ist.
Gruß
Hansa
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#6

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 1. Dez 2008, 17:12
Zitat von Hansa:
Wenn das nicht mal mit Refactory gehen sollte, dann erkläre mir mal einer wozu das Ganze dann gut ist.
Gibt's ab welcher Delphiversion?
Mein Delphi ist fast so alt wie ich
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#7

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 1. Dez 2008, 17:22
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"
Gruß
Hansa
  Mit Zitat antworten Zitat
Benutzerbild von Meflin
Meflin

Registriert seit: 21. Aug 2003
4.856 Beiträge
 
#8

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 1. Dez 2008, 17:26
Jupp, es gibt tatsächlich eine entsprechende Refactoring-Methode dafür (siehe Anhang) - mit deinem Delphi 7 wirst du da allerdings nicht glücklich
Miniaturansicht angehängter Grafiken
refactor_373.jpg  
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#9

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 1. Dez 2008, 18:08
Bin ich dann froh das ich D2008 hab

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
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.622 Beiträge
 
Delphi 12 Athens
 
#10

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 1. Dez 2008, 18:09
Zitat von EDatabaseError:
Bin ich dann froh das ich D2008 hab
Das mag ich nicht so ganz glauben
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 08:33 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