FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Remplazar texto en fichero
He visto este código aquí en club delphi he intentado utilizarlo y me tira estos errores:
[DCC Warning] CambiaTexto.pas(35): W1019 For loop control variable must be simple local variable [DCC Error] CambiaTexto.pas(37): E2003 Undeclared identifier: 'StuffString' [DCC Fatal Error] Project1.dpr(5): F2063 Could not compile used unit 'CambiaTexto.pas' Alguien me puede explicar un poco, incluyo toda la unit. Disculpar las molestias soy muy novato. unit CambiaTexto; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; ss : TStringList; I: integer; implementation {$R *.dfm} procedure TForm2.Button1Click(Sender: TObject); begin ss := TStringList.Create; ss.LoadFromFile('c:\xxx\archivo.txt'); //ss.Text := StringReplace(ss.text,'22.150 ','22.250 ',[rfReplaceAll]); for I := 0 to (ss.count -1) do if sametext(copy(ss.strings[i], 117, length('21.250')), '21.250') then ss.strings[i] := StuffString('21.250', 117, length('21.250'), '22.250'); ss.SaveToFile('c:\xxx\archivo.txt'); end; end. |
#2
|
|||
|
|||
en el uses tienes que declara la unidad StrUtils
|
#3
|
||||
|
||||
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración
Y recuerda poner los tags al código fuente, ejemplo: Gracias |
#4
|
||||
|
||||
Cita:
En este caso es un AVISO (Warning); Te dice que para un for loop (FOR) es mejor que utilices una variable local en lugar de una global. Es decir, que declares la i:Integer, en la parte TForm2.Button1Click, en lugar de hacerlo en la sección var del formulario. [DCC Error] CambiaTexto.pas(37): E2003 Undeclared identifier: 'StuffString' En este caso es un ERROR. Te está diciendo que no sabe lo que es esto: 'StuffString' Si miras tu código, verás que es una función que estás utilizando. Colocas el cursor encima, pulsas F1, y aparece la pantalla de ayuda que te dice que esta función está en la unit StrUtils. Por tanto te vas al uses y la añades, Total, lo que te ha dicho aposi, sólo que espero que ahora entiendas porqué debes hacerlo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#5
|
|||
|
|||
Ok, ya me funciona el problema era en la unit StrUtils la he añadido y listo ya me compila.
Muchas gracias ahora haber si consigo adaptarlo a lo mio. Muchas gracias de nuevo. |
#6
|
|||
|
|||
Remplazar texto en fichero 2
Disculpar de nuevo, me complila pero no consigo hacer. Tengo un fichero archivo.txt con varias cifras entre las que se hayan 22.150 y quiero sustituirlas por 28.250 (o lo que sea cualquier cosa...) y guardarlo como archivo2.txt.
Este código me compila y me genera el fichero archivo2.txt pero no me guarda el cambio. Gracias de antemano y disculpar las molestias. M
Última edición por Neftali [Germán.Estévez] fecha: 16-05-2013 a las 11:09:10. Razón: Añadir TGA's |
#7
|
||||
|
||||
Hola manujimenez.
Por favor cuando incluyas código en tus mensajes usa los TAG's. La imágen muestra como hacerlo: Tu consulta:
Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#8
|
||||
|
||||
Antes de nada comentar que cuando utilices código, es mejor que añadas TAG's.
Por lo demás,no vas mal encaminado, aunque hay alguna cosa que no te acaba de quedar clara. (1) Si usas ss.Text, estás accediendo a todo el texto del TStringList, por tanto no hace falta que utilices un for. (2) Si quieres usar for y hacer el recorrido por todas las líneas, debes hacerlo con:
De esta forma haces el recorrido línea a línea. Por último te falta liberar el elemento que has creado (ss). AÑADO: Veo que ecfisa ha sido más rápido.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#9
|
|||
|
|||
Si ya me funciona
Bueno, muchas gracias una vez más.
Efectivamente he añadido esta línea de código y ya funciona perfectamente. Muchas muchas gracias |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Fichero de Texto: Log.txt | jsc | Varios | 2 | 16-09-2011 18:48:40 |
Cortar Fichero de texto. | johurgi | Varios | 3 | 03-04-2008 15:41:29 |
Fichero de Texto Enorme | muli | Varios | 8 | 19-02-2008 02:23:35 |
verificar fichero de texto | arley_molina | Varios | 2 | 12-06-2006 20:52:40 |
leer fichero de texto | davidgaldo | Varios | 1 | 08-11-2005 15:05:12 |
|