Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-07-2013
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Post Añadir carácter según una posición x a un String

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:
Cita:
posición separador
3 -
3 -
5 -
6 -
11 -
Cadena: variable String que le inserto un separador según la posición.

Código Delphi [-]
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

Código Delphi [-]
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.
Responder Con Cita
  #2  
Antiguo 30-07-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 Ledian.

La verdad, o no entiendo el planteo, o los ejemplos que das no se condicen con los resultados. Tal vez si pudiesemos conocer la estructura del registro con los campos que trae la consulta y como deben considerarse los valores de posición obtenidos...

Del ejemplo:
Código Delphi [-]
text := FormateaCadena(qryXXX, '10024888'); // text = 100-100-100-248-248- ...
Pareciera que deben tomarse n caracteres y agregarlos n veces separados por el separador y valor obtenido de la consulta, pero sigo suponiendo...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 01-08-2013
Ledian_Fdez Ledian_Fdez is offline
Miembro
 
Registrado: jun 2006
Ubicación: Ciudad Habana, Cuba
Posts: 242
Poder: 18
Ledian_Fdez Va por buen camino
Post Crear Funcion insertar caracter

Chicos quizas me complique con la función y no supe explicarme. Se los voy a poner mas sencillo, digamos que quiero a una cadena de caracteres insertarle en la posicion x otro caracter.

Código Delphi [-]
Pos := 3;
Caracter := '-'
cadena := InsertaCaracter ('10024888', Pos, Caracter);
//cadena = 100-24888

Es algo como esto, sabiendo eso yo lo adapto a lo que quiero mas arriba.

gracias de antemano.
Responder Con Cita
  #4  
Antiguo 01-08-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 Ledian.

Código Delphi [-]
...
var
  str : string;
  ch  : char;
  posi: Integer;
begin
  str  := '10024888';
  ch   := '-';
  posi := 4; // 3+1 (entre 0 y 2)
  Insert(ch, str, posi);
  ...

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
buscar la última posicion de un carácter de una cadena atrus Varios 2 15-06-2010 20:04:18
Elegir Posicion de una cadena String y eliminar caracter en una posicion deseada BuRtOn Varios 14 26-03-2009 23:59:39
Reemplazar caracter de una determinada posición. Drahcir Varios 5 05-12-2007 16:14:56
Obtener la posición de un caracter en una cadena Javi2 Varios 3 09-06-2005 09:08:06
Posición del primer caracter de linea en un RichEdit SCH Varios 0 22-09-2003 20:51:32


La franja horaria es GMT +2. Ahora son las 10:42:40.


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
Copyright 1996-2007 Club Delphi