Ledian_Fdez
29-07-2013, 21:49:50
Hola chicos intento hacer una funcion que me permita añadir un carácter según una posición x a un String
Query: Consulta que me devuelve cada cuanto caracteres debo poner un separador.
Resultado de la consulta:
posición separador
3 -
3 -
5 -
6 -
11 -
Cadena: variable String que le inserto un separador según la posición.
function FormateaCadena(Query: TADOQuery, Cadena: String): String;
var
Valor, Separador : String;
i,j : integer;
begin
Query.Open;
Query.First;
Separador := Query.Fields[1].AsString; // obtengo el caracter de separador
for i:= 1 to Query.RecordCount do // ciclo para recorrer la tabla y saber cada cuantos caracteres va el separador
begin
for j:=1 to Query.Fields[0].AsInteger do // ciclo para ir armando la cadena con el separador
begin
Valor := Valor + Cadena[j];
end;
Query.Next;
Valor := Valor + CadenaSeparador;
end;
Query.Close;
Result := Valor;
end;
Al llamar la funcion
text := FormateaCadena(qryXXX, '10024888'); // text = 100-100-100-248-248- ...
Esta era mi idea pero la verdad no funciona pues el ciclo en j se me repite y pufff ... no logro hacerlo bien.
en espera de su ayuda
y mil grasias de antemano
lo salu2.
Query: Consulta que me devuelve cada cuanto caracteres debo poner un separador.
Resultado de la consulta:
posición separador
3 -
3 -
5 -
6 -
11 -
Cadena: variable String que le inserto un separador según la posición.
function FormateaCadena(Query: TADOQuery, Cadena: String): String;
var
Valor, Separador : String;
i,j : integer;
begin
Query.Open;
Query.First;
Separador := Query.Fields[1].AsString; // obtengo el caracter de separador
for i:= 1 to Query.RecordCount do // ciclo para recorrer la tabla y saber cada cuantos caracteres va el separador
begin
for j:=1 to Query.Fields[0].AsInteger do // ciclo para ir armando la cadena con el separador
begin
Valor := Valor + Cadena[j];
end;
Query.Next;
Valor := Valor + CadenaSeparador;
end;
Query.Close;
Result := Valor;
end;
Al llamar la funcion
text := FormateaCadena(qryXXX, '10024888'); // text = 100-100-100-248-248- ...
Esta era mi idea pero la verdad no funciona pues el ciclo en j se me repite y pufff ... no logro hacerlo bien.
en espera de su ayuda
y mil grasias de antemano
lo salu2.