FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Cambiar texto o palabras de un archivo dfm
Deseo reemplazar palabras que un dfm aparecen por otras.
El problema es que cuando abro el archivo con un LoadFromFile en un TStringlist, no me lee sino el comienzo del archivo. Igual me ocurre con el tipo TextFile. Como hago para leer el texto del archivo de tal manera que pueda reemplazar palabras desde el código de un programa. Gracias,
__________________
SigmaMan |
#2
|
|||
|
|||
Usa TMemorStream:
MS: TMemoryStream.Create; MS.LoadFromFile('c:\my_dfm_file.dfm'); ... SL: TSTringList.Create; SL.LoadfromStream(MS); ... etc... Si no funciona, creo que en los primeros puntos suspensivos había que copiarlo a un Stream temporal y reiniciar el apuntador. Avisanos como jala. Saludos, |
#3
|
|||
|
|||
Hola:
Posiblemente no puedas leer ese fichero como texto porque esté guardado en formato binario, para convertirlo habría que usar el programa Convert.exe que viene en la carpeta \Bin de Delphi. También, quizás te interese echar un vistazo a la sección de recursos de esta web, hay un recurso llamado "Internacionalización de aplicaciones" que viene con código fuente, donde el autor accede a ficheros .DFM para cambiar valores.
__________________
Guía de Estilo |
#4
|
|||
|
|||
//Para leer
with TFileStream.Create('c:\MyDfmFile.DFM', fmOpenRead) do try ReadComponentRes(MyForm); finally Free; end; //Para escribir with TFileStream.Create('c:\MyDfmFile.DFM', fmCreate) do try WriteComponentRes(MyForm.ClassName, MyForm); finally Free; end; SAludos, |
|
|
|