![]() |
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, |
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, |
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. |
//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, |
La franja horaria es GMT +2. Ahora son las 12:45:44. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi