![]() |
Empfehlung Refactoring - Tool
Hallo,
ich möchte in einem alten Projekt Komponenten austauschen. Das Projekt hat teilweise noch Binär - dfm. Es sollen z.B. alle IB_Edit gegen ein DBEdit oder IB_DataSource gegen DataSource ausgetauscht werden. Früher habe ich so etwas mit GExpert gemacht. Die älteren Versionen kommen mit Unicode nicht klar und die neue Version zerschießt teilweise den Quelltext. Da es ein größeres Projekt ist, müssen einige hundert Komponenten ausgetauscht werden. Hat wer eine Empfehlung für ein Tool was das kann? Für einen Tip dankbar. Peter |
AW: Empfehlung Refactoring - Tool
Im bin-Verzeichnis deiner Delphi-Installation liegt ein convert.exe, das aus den binären DFMs Text-DFMs machen kann. Danach kannst du mit Suchen und Ersetzen in einem Texteditor oder einem Grep-Tool arbeiten. Wenn die Properties der auszutauschenden Komponenten kompatibel sind, sollte das problemfrei gehen.
Edit: Zum abschließenden Überprüfen kannst du ![]() HTH, Uli. |
AW: Empfehlung Refactoring - Tool
Zitat:
Habe mal alles außer den "Kern" entfernt. Sollte aber trotzdem noch funktionieren.
Delphi-Quellcode:
In dieses Programm kannst Du natürlich auch Deine Suchen/Ersetzen Funktion mit einbauen. ;-)
program dfm2text;
{$APPTYPE CONSOLE} uses SysUtils, Classes; // Programmcode gekürzt // ... var InputStream: TMemoryStream; OutputStream: TMemoryStream; c: Char; begin // Programmcode gekürzt // ... InputStream := TMemoryStream.Create; OutputStream := TMemoryStream.Create; try InputStream.LoadFromFile(ParamStr(1)); InputStream.Position := 0; InputStream.Read(c,1); if c <> #255 then Halt(5); // PrintError(5); // 'InputFile not binary Format' InputStream.Position := 0; try ObjectResourceToText(InputStream, OutputStream); // <- Das ist die Funktion, die das DFM Format umwandelt. Gibts schon seit Delphi 1 ;-) except Halt(6); // PrintError(6); // 'convert Error' end; OutputStream.Position := 0; try OutputStream.SaveToFile(ParamStr(2)); except Halt(7); // PrintError(7); // 'problem saving OutputFile' end; finally InputStream.Free; OutputStream.Free; end; WriteLn('OK: '+ParamStr(1)+' -> '+ParamStr(2)); end. Ich hoffe das hilft Dir |
AW: Empfehlung Refactoring - Tool
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:39 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz