Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 30-06-2011
martita martita is offline
No confirmado
 
Registrado: jun 2005
Posts: 146
Poder: 0
martita Va por buen camino
cadena de longuitud fija

hola foro quiero formar una cadena apartir de una tabla
pero que la cadena aparezca uniformermente al ser vista. ejemplo

los datos de mi tabla son codigo, nombre, direccion, telefono

quiero que una cadena llamada micadena:=

153 JUAN PEREZ LOPEZ CALLE 5TA, ZONA CENTRAL 6852185
21 MARTIN JUAREZ AV. D 5654, OESTE 6952321
542 JOSE MARTINEZ G. BLVD. AGUA C. 55243 8565447

Me explico ? osea que micadena sea de longuitud fija en cada campo
o que se rellenen con espacios para formarla por que si uso lo mas facil que seria algo asi como micadena:=tablacodigo.value+' '+tablanombre.value+' '+tabladireccion.value+' '+tablatelefono quedaria de la siguiente forma que no quiero.

153 JUAN PEREZ LOPEZ CALLE 5TA, ZONA CENTRAL 6852185
21 MARTIN JUAREZ AV. D 5654, OESTE 6952321
542 JOSE MARTINEZ G. BLVD. AGUA C. 55243 8565447

alguien me puede ayudar ?
Responder Con Cita
  #2  
Antiguo 30-06-2011
martita martita is offline
No confirmado
 
Registrado: jun 2005
Posts: 146
Poder: 0
martita Va por buen camino
ups

creo que lo escribi bien pero la pagina aqui lo junto todo

153 JUAN PEREZ LOPEZ CALLE 5TA, ZONA CENTRAL 6852185

21 MARTIN JUAREZ AV. D 5654, OESTE 6952321

542 JOSE MARTINEZ G. BLVD. AGUA C. 55243 8565447

asi es como quiero que sea mi resultado en micadena
Responder Con Cita
  #3  
Antiguo 30-06-2011
martita martita is offline
No confirmado
 
Registrado: jun 2005
Posts: 146
Poder: 0
martita Va por buen camino
jajajajaja

jajaja no se que pasa que la pagina de este foro
me esta quitando los espacios que doy entre campo y campo
para que queden ordenados
Responder Con Cita
  #4  
Antiguo 30-06-2011
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 martita.

Código Delphi [-]
function AjustarCadena(ATable: TDataSet): string;
var
  i: integer;
begin
  Result:= '';
  with ATable do
   for i:= 0 to FieldCount -1 do
     Result:= Result + Fields[i].AsString +
      StringOfChar(' ',Fields[i].DisplayWidth+1-Length(Fields[i].AsString));
end;

Llamada de ejemplo:
Código Delphi [-]
  ShowMessage(AjustarCadena(Table));

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 30-06-2011 a las 22:10:35.
Responder Con Cita
  #5  
Antiguo 30-06-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por martita Ver Mensaje
jajaja no se que pasa que la pagina de este foro
me esta quitando los espacios que doy entre campo y campo
para que queden ordenados
No es que quite los espacios. Lo que sucede es que cuando editas el mensaje y cuando se muestra, se usan fuentes cuyos caracteres tienen distintos anchos. Lo arreglas en uno y se desarregla en el otro.

Para poner texto estilo tablas, que preserve los espacios lo que hay que hacer es:

1. Escribir el texto en un editor de texto simple como el bloc de notas.
2. Copiar y pegar en el editor del mensaje entre las etiquetas [code][/code]

Por ejemplo:

Código:
153      JUAN PEREZ LOPEZ      CALLE 5TA, ZONA CENTRAL     6852185
21       MARTIN JUAREZ         AV. D 5654, OESTE           6952321
542      JOSE MARTINEZ G.      BLVD. AGUA C. 55243         8565447
// Saludos
Responder Con Cita
  #6  
Antiguo 30-06-2011
martita martita is offline
No confirmado
 
Registrado: jun 2005
Posts: 146
Poder: 0
martita Va por buen camino
Red face gracias roman

bueno gracias roman, acaso tendras alguna solucion para esto que quiero hacer ? que cada campo se agregue a una cadena pero con longuitud fija?
Responder Con Cita
  #7  
Antiguo 30-06-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Pues ya ecfisa te dio una opción. También puedes usar Format para ajustar un texto a un ancho determinado, por ejemplo:

Código Delphi [-]
S := Format('%12s', [S]); // Rellena S con espacios a la izquierda hasta completar 12 caracteres en total
S := Format('%-12s', [S]); // Rellena S con espacios a la derecha hasta completar 12 caracteres en total

// Saludos
Responder Con Cita
  #8  
Antiguo 30-06-2011
martita martita is offline
No confirmado
 
Registrado: jun 2005
Posts: 146
Poder: 0
martita Va por buen camino
Red face solucionado

gracias a los 2 por su aporte
con las 2 opciones funciona de maravilla
saludos y gracias
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Convertir cadena aleatoria en cadena de N caracteres DANY OOP 3 12-03-2009 20:49:21
Posición fija en DBGrid chona Varios 6 29-10-2007 19:50:47
Funcion para borrar la cadena que aparesca repetida dentro de otra cadena flystar Varios 1 02-07-2007 23:51:10
Funcion para buscar cadena dentro de otra cadena y el numero de veces flystar Varios 3 02-07-2007 22:48:08
Buscar cadena dentro de otra cadena doverzhoff Varios 4 27-01-2004 05:27:15


La franja horaria es GMT +2. Ahora son las 14:20:01.


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