FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Sustituir Codigo ASCII Fichero texto
Hola a todos!!
No paro de darle vueltas buscando algo así pero no encuentro nada... necesito leer un fichero de texto, letra a letra, y sustituir palabras ¿el problema? que quiero sustituir Ñ, º..cosas así, que no me está cogiendo a la hora de leerlo y tengo que comparar la palabra que leo con el cod ascii, pero de verdad no lo veo.. ¿alguna ayudilla? un saludo y gracias |
#2
|
|||
|
|||
Hola,
lo que se me ocurre es que puedes hacer es cargar el fichero en un TStringList y, usando StringReplace sobre su propiedad Text, ir sustituyendo los caracteres que te interesen, y usar el metodo SaveToFile para salvar los cambios. Un saludo. |
#3
|
||||
|
||||
Mas o menos coso que quiso decir que lo hagas asi:
Aunque lo veo mas conveniente hacerlo asi: Ya que puede ocurrir que nuestro archivo sea demasiado grande para hacerlo todo de un golpe. Saludos... end;
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
#4
|
|||
|
|||
Hola! el stringReplace me lo hace perfectamente, por ejemplo, cambiando A por 4, pero en cuanto le meto Ñ no hace nada..no lo entiendo
|
#5
|
||||
|
||||
Cita:
Quisas algo debes estar haciendo mal. Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
#6
|
|||
|
|||
Ah, si intento buscarlo indicandole, en vez de una Ñ, que es el #165 lo ignora tb..
|
#7
|
|||
|
|||
olvidé comentar que lo hago con Lazarus, aunq es pascal..
exactamente pongo esto f:=TStringList.Create; try f.LoadFromFile('d:\hola.txt'); //leemos desde el archivo for i:=0 to f.Count-1 do showmessage(f.strings[i]); f.Strings[i]:=StringReplace(f.Strings[i],'Ñ','N',[rfReplaceAll,rfIgnoreCase]);//reemplazo las "ñ" por "n" linea a linea f.SaveToFile('d:\hola.txt'); ShowMessage('Se ha modificado..'); finally f.Free;//Liberamos el objeto f end; y el archivo hola.txt contiene esto 4 4sf4ewrfwqerÑ 9sdfñwerÑewr |
#8
|
||||
|
||||
Prueba aponerle la letra 'Ñ' tal cual como lo he codificado yo..osea directamente.
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
#9
|
|||
|
|||
Sí, probe justo así
f.Strings[i]:=StringReplace(f.Strings[i],'Ñ','N',[rfReplaceAll,rfIgnoreCase]); pero nada |
#10
|
||||
|
||||
Nótese que la función StringReplace diferencia mayúsculas de minúsculas...
Aunque si no es por eso, puede que sea cosa del conjunto de carácteres del fichero de texto. |
#11
|
|||
|
|||
Si hago un showmessage exactamente de la linea que está leyendo me muestra, si pone en el fichero ABCÑP muestra ABC?P, pero si le digo que reemplace el ? no lo encuentra
|
#12
|
||||
|
||||
Cita:
Eso se soluciona (si el texto está en ASCII) con una función de la API de Windows, OEMToANSI. Además de la Ñ te solucionará otros carácteres, como º, ª, ¿, carácteres con tilde, etc. Si pruebas a visualizar el texto desde una consola de comandos en Windows, las eñes y demás carácteres "extraños" se te mostrarán correctamente. |
#13
|
||||
|
||||
Cita:
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como crear un fichero texto por codigo ? | Sr.Scorpion | Varios | 6 | 28-12-2008 21:18:55 |
Codigo ascii | Luli | Varios | 2 | 26-04-2005 10:11:13 |
código ascii | davidgaldo | Varios | 5 | 10-11-2004 23:16:07 |
Código ASCII estendido | rafita | Varios | 2 | 14-09-2004 14:01:10 |
Conversión de fichero en ASCII a Paradox | apunto | Conexión con bases de datos | 1 | 24-06-2003 14:56:09 |
|