Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con StringReplace (https://www.clubdelphi.com/foros/showthread.php?t=46413)

NeoTrooper 31-07-2007 13:18:10

Problema con StringReplace
 
Hola a todos, tengo un problemilla con StringReplace ya que me hace lo que debe pero:
Recorro while not eof teniendo la codigo:
Código:

Result := StringReplace ( Result, ' ' + ...Fieldbyname('FIELD_NAME').asstring,..Fieldbyname('ALIAS').asstring,[rfReplaceAll, rfIgnoreCase] );
Busco alias de un campo que tengo en SQL server.
Si por ejemplo busco un dato que es NUMFIX y alias deberia ser X.numfix.
Pero se que antes de este registro tengo un dato que es NUM y su alias es Y.num.
Al pasar primero por dato NUM el me crea alias con el que busco y no es el caso. Lo que me devuelve es Y.numfix .
el espacio antes de dato lo tengo por que se que antes va un espacio sino me podria cojer otro dato.
He pensado alomejor añadir un caracter especial para poder decirle que me coja el nombre entero NUMFIX y no solo primero que le parece NUM.
Alguna idea ?
Espero expresarme bien.
Saludos a todos.

Enan0 31-07-2007 15:28:45

Hola, Mira lei Tu mensaje como 5 veces y Todabia me Cuesta un poquito entenderlo! pero bueno!

Podrias poner un poquito mas de Codigo (utilizando )
y Aclarar un poco el Caso

y como seria le CASO

tenes una cade de texto con un NUMFIX y lo queres REEMPLZAR por X.NUMFIX
y luego a otro VALOR NUM por Y.NumFIX??
Si es asi! estas medio Complicado!

Te convendria poner un caracter expecial como YNUM y XNUMFIX
y ahi podria andar. pero bueno

Si podes ser mas claro, estaria muy bueno

saludos

NeoTrooper 31-07-2007 16:21:03

Wenas de nuevo.
De primero gracias a la respuesta.
Esto si, me cuesta muxo expresarme ya que soy nuevo en foros de delphi y aunque a 1 pregunta puedo mostrar una solucion quizas me faltaran palabras en explikarlo =(.
en lo que a mi pregunta la tengo resuelta a medias y ya no hace falta que me respondais ya que el seguiente error se provoca mas alla llamando con otra funcion a la cual me tendre que ocupar mas tarde.
Nose si con seguinte codigo entendais lo que quieria hacer pero weno:
Cita:

if result=' '+cdsInfCamps.Fieldbyname('FIELD_NAME').asstring then
begin //***Primero compruebo si es el campo (tambien se ahorra el rendimiento)
Result := StringReplace ( Result, ' ' + ...Fieldbyname('FIELD_NAME').asstring,...Fieldbyname('ALIAS').asstring,
[rfReplaceAll, rfIgnoreCase] );
end;
Aunk claro aun no estoy seguro de que se soportaran todos los casos.
De esta manera no me aparecia mas uno que contenia nombre de otro provocando el error.
Gracias por vuestra attention!
^^


La franja horaria es GMT +2. Ahora son las 11:06:17.

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