PDA

Ver la Versión Completa : Cambiar texto o palabras de un archivo dfm


HombreSigma
28-07-2003, 16:00:45
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,

nucleox
29-07-2003, 06:42:31
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,

andres1569
29-07-2003, 10:14:47
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.

humexico.org
29-07-2003, 23:50:54
//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,