Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Varios
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 09/05/2013
manujimenez manujimenez is offline
Miembro
NULL
 
Join Date: Apr 2013
Posts: 11
Poder: 0
manujimenez Va por buen camino
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.
Reply With Quote
  #2  
Old 09/05/2013
aposi aposi is offline
Miembro
 
Join Date: Dec 2006
Posts: 160
Poder: 20
aposi Va por buen camino
en el uses tienes que declara la unidad StrUtils
Reply With Quote
  #3  
Old 09/05/2013
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,702
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Quote:
Originally Posted by manujimenez View Post
..
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
Reply With Quote
  #4  
Old 09/05/2013
Neftali [Germán.Estévez]'s Avatar
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Join Date: Jul 2004
Location: Barcelona - España
Posts: 19,478
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Quote:
Originally Posted by manujimenez View Post
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.
[DCC Warning] CambiaTexto.pas(35): W1019 For loop control variable must be simple local variable

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.
Reply With Quote
  #5  
Old 09/05/2013
manujimenez manujimenez is offline
Miembro
NULL
 
Join Date: Apr 2013
Posts: 11
Poder: 0
manujimenez Va por buen camino
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.
Reply With Quote
  #6  
Old 16/05/2013
manujimenez manujimenez is offline
Miembro
NULL
 
Join Date: Apr 2013
Posts: 11
Poder: 0
manujimenez Va por buen camino
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

Código Delphi [-]
procedure TForm2.Button1Click(Sender: TObject);
var
I: integer;
ss : TStringList;

begin

ss := TStringList.Create;
ss.LoadFromFile('c:\xxx\archivo.txt');

for I := 0 to (ss.count -1) do
ss.Text := StringReplace(ss.text,'22.150','28.250''',[rfReplaceAll]);

ss.SaveToFile('c:\xxx\archivo2.txt');
end;

end.

Last edited by Neftali [Germán.Estévez] : 16/05/2013 at 11:09. Reason: Añadir TGA's
Reply With Quote
  #7  
Old 16/05/2013
ecfisa's Avatar
ecfisa ecfisa is offline
Moderador
 
Join Date: Dec 2005
Location: Tres Arroyos, Argentina
Posts: 10,508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola manujimenez.

Por favor cuando incluyas código en tus mensajes usa los TAG's. La imágen muestra como hacerlo:



Tu consulta:
Código Delphi [-]
procedure TForm2.Button1Click(Sender: TObject);
var
  ss : TStrings;
begin
  ss := TStringList.Create;
  try
    ss.LoadFromFile('c:\archivo.txt');
    ss.Text := StringReplace(ss.Text, '22.150', '28.250', [rfReplaceAll]);
    ss.SaveToFile('c:\archivo2.txt')
  finally
    ss.Free
  end
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Reply With Quote
  #8  
Old 16/05/2013
Neftali [Germán.Estévez]'s Avatar
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Join Date: Jul 2004
Location: Barcelona - España
Posts: 19,478
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
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:

Código Delphi [-]
  ss[i] := StringReplace(ss[i],'22.150','28.250',[rfReplaceAll]);

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.
Reply With Quote
  #9  
Old 16/05/2013
manujimenez manujimenez is offline
Miembro
NULL
 
Join Date: Apr 2013
Posts: 11
Poder: 0
manujimenez Va por buen camino
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
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Fichero de Texto: Log.txt jsc Varios 2 16/09/2011 18:48
Cortar Fichero de texto. johurgi Varios 3 03/04/2008 15:41
Fichero de Texto Enorme muli Varios 8 19/02/2008 02:23
verificar fichero de texto arley_molina Varios 2 12/06/2006 20:52
leer fichero de texto davidgaldo Varios 1 08/11/2005 15:05


All times are GMT +2. The time now is 20:15.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi