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 5. Jan 2009
Antwort Antwort
Seite 2 von 4     12 34      
EDatabaseError

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

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 1. Dez 2008, 17:13
seit halt nich so genau das RAD Studio eben
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
EDatabaseError

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

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 3. Jan 2009, 20:10
Zitat von nahpets:
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.
Ich muss das ganze jetzt nochmal rauskramen^^.. Wollte das jetzt mit UltraEdit machen da es mit selbergeschrieben oder Refactor nicht ordentlich geklappt hat.
Nur wenn ich die Datei in UltraEdit öffne wird die dfm Datei nicht korrekt dargestellt. Kann ich irgentwas an UltraEdit verdrehen oder gibt es eine andere Möglichkeit alle DFMs in das Text DFM Format zu wandeln?

Tobi
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#13

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 3. Jan 2009, 20:35
Zitat von Meflin:
Jupp, es gibt tatsächlich eine entsprechende Refactoring-Methode dafür (siehe Anhang) - mit deinem Delphi 7 wirst du da allerdings nicht glücklich
Das funktioniert aber nur für selbstdeklarierte Klassen, nehme ich an?
  Mit Zitat antworten Zitat
EDatabaseError

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

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 3. Jan 2009, 20:49
Jaa..aber Refactoring muss man auch jedes mal neu anschucken.. und bei 81 DFMs ..
Hab noch nicht die optimale Lösung gefunden :/
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von Michael Habbe
Michael Habbe

Registriert seit: 10. Aug 2005
264 Beiträge
 
Turbo Delphi für Win32
 
#15

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 3. Jan 2009, 21:39
Mal überlegen...
Ich habe 1999 eine Anwendung unter Delphi 2 mit über 300 (!) Formularen von TTable auf TAdsTable umgestellt. Dazu musste ich jedes Formular einzeln erstmal öffnen, um sicherzustellen, dass es auch als Text gespeichert wurde. Das heisst, konnte es auf Text umgestellt werden? Ich weiss nicht mehr. Kann auch sein, dass ich die Ersetzmethode von Delphi benutzt habe.

Nun bin ich mir nicht mehr sicher, aber dadurch, dass ich jedes Formular einzeln angreifen musste, habe ich wie kein anderer die Anwendung kennengelernt.

Es mussten einige Dinge angepasst werden: Typ, Database, Tabellenname, Filter, Optionen, ...

Dann bleiben da natürlich Dinge auf der Strecke, die erst hinterher auffallen beim Compilieren oder noch später: die Dinge, die zur Laufzeit erzeugt werden, wie z.B. Mehrfachnutzung einer Table mit Setzen der Eigenschaften zur Laufzeit.


Leider kann ich nicht mehr sagen, wie lange ich dabeigesessen habe. Aber so 2 Monate waren das bestimmt.
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#16

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 3. Jan 2009, 21:54
Hallo Tobias,

Zitat von EDatabaseError:
Kann ich irgentwas an UltraEdit verdrehen oder gibt es eine andere Möglichkeit alle DFMs in das Text DFM Format zu wandeln?
im bin-Verzeichnis deiner Delphi-Installation sollte sich ein Programm namens "convert.exe" befinden, das Formulare vom Binär- ins Textformat (und zurück) konvertieren kann. Wenn du es ohne Parameter aufrufst, erscheint eine kleine Hilfe.

Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#17

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 3. Jan 2009, 21:57
Hi!

Jenachdem was schneller geht, tut es auch ein Rechtsklick im Formular und dort dann das Häkchen bei Text-DFM!


Ciao, Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
EDatabaseError

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

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 3. Jan 2009, 22:31
Bei 81 Dateien lohnt es sich convert zu nutzen. Einfacher Aufruf per convert -i -t C:\Delphiprojekt\*
Funktioniert spitze.

Tobi
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#19

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 4. Jan 2009, 02:12
Zitat von Michael Habbe:
Das heisst, konnte es auf Text umgestellt werden?
Nö, kann es nicht
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Bebe

Registriert seit: 3. Apr 2005
Ort: Berlin
104 Beiträge
 
Delphi 10.1 Berlin Professional
 
#20

Re: Automatisches Ersetzten von VCL Komponenten in pas und d

  Alt 4. Jan 2009, 08:57
Wie schon erwähnt hat GExpert diese Funktion. Damit kannst du auch alle Dateien in einem Projekt bearbeiten, habe ich aber nie ausprobiert. Ich habe lediglich Komponente für Komponente ausgetauscht und das funktioniert tadellos.

Siehe Anhang.

Gruß
Matze
Miniaturansicht angehängter Grafiken
gexpert_658.png  
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 11:49 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