Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-07-2004
rjsitruiz rjsitruiz is offline
Miembro
 
Registrado: may 2004
Posts: 42
Poder: 0
rjsitruiz Va por buen camino
Alinear Strings

hola:

Tengo varias lineas de Texto ejemplo:
05/24/04 08:12AM 217 860491160460464 00:45'11
05/24/04 08:13AM 217 8354128 00:00'03

cuando las guardo en DBQRMemo se me guardan de la siguiente forma
05/24/04 08:12AM 217 860491160460464 00:45'11
05/24/04 08:13AM 217 8354128 00:00'03

y quisiera que se me guardaran como muestro arriba...... cada elemnto de la linea es un campo que yo manejo Ej. Fecha: 05/24/04 Hora:08:12AM etc.

Lo que estoy haciendo es Cad1= Fecha + Hora + Ext + Phone y despues inserto en la posicion 70 la cadena dos, Cad2= Duracion no obstante me sigue saliendo
05/24/04 08:12AM 217 860491160460464 00:45'11
05/24/04 08:13AM 217 8354128 00:00'03

Que puedo hacer ??

Saludos
Responder Con Cita
  #2  
Antiguo 11-07-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino


Pues yo las veo todas iguales...
Responder Con Cita
  #3  
Antiguo 11-07-2004
rjsitruiz rjsitruiz is offline
Miembro
 
Registrado: may 2004
Posts: 42
Poder: 0
rjsitruiz Va por buen camino
Perdon.. sino me hice entender

hablo de la duracion que quiero que me salga una debajo de otra....

Lo que me sale:
05/24/04 08:12AM 217 860491160460464 00:45'11
05/24/04 08:13AM 217 8354128 00:00'03

Lo que quiero que me salga:
05/24/04 08:12AM 217 860491160460464 ------- 00:45'11
05/24/04 08:13AM 217 8354128 ---------------- 00:00'03

PD: Le tuve que llenar los espacios en blanco con (-)

Saludos

Última edición por rjsitruiz fecha: 11-07-2004 a las 20:06:49.
Responder Con Cita
  #4  
Antiguo 12-07-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Podes valerte de la función Format

Algo como:

Código Delphi [-]
Cadena := format('%8.8s %7.7s %3.3s %15.15s %8.8s',
                [fecha, hora, ext, phone, duracion]);

He usado %s porque veo que ya todo está en strings, pero podes visitar la ayuda y ver los tipos soportados si hay algo que se adapte mejor.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #5  
Antiguo 12-07-2004
rjsitruiz rjsitruiz is offline
Miembro
 
Registrado: may 2004
Posts: 42
Poder: 0
rjsitruiz Va por buen camino
24/05/04 08:12AM 217 860491160460464 00:45:11
24/05/04 08:13AM 217 ----- 8354128 00:00:03

Pues asi es como sale..... no se porque....

No obstante gracias
Responder Con Cita
  #6  
Antiguo 12-07-2004
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 28
Lepe Va por buen camino
La funcion Format nunca la habia usado así, lo que si tengo a mano son estas 2 funciones que vienen con las Rxlibs en la unidad nkStrs. Si no recuerdo mal eran originarias de las NKLibs que han ido quedando algo obsoletas.

Código Delphi [-]
function PadLeft(const cStr: String; ch: char; iLen: Integer): String;
begin
  if Length(cStr) >= iLen then
    Result := Copy(cStr, 1, iLen)
  else
    Result := StringOfChar(ch, iLen - Length(cStr)) + cStr;
end (*PadLeft*);

function PadRight(const cStr: String; ch: char; iLen: Integer): String;
begin
  if Length(cStr) >= iLen then
    Result := Copy(cStr, 1, iLen)
  else
    Result := cStr + StringOfChar(ch, iLen - Length(cStr));
end (*PadRight*);

Ejemplo:
Código Delphi [-]
   Padright(telefono,'-', 15);  //8354128--------
   PadLeft(telefono,'-',15);   //--------8354128

Saludos
Responder Con Cita
  #7  
Antiguo 12-07-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cool

Siguiendo todo el hilo, me da la impresión que lo que queres es que se "vean" alineados en pantalla, ¿cierto?.

Si estas usando un Memo, lo que hace falta es que uses un tipo de letra "monospace", es decir, que todos los caracteres ocupen el mismo espacio, como la Courier, por ejemplo.

Lo usual, en fuentes TrueType es que cada letra ocupe el espacio "necesario", de esta manera, si tenes una cadena con 6 ies y una con 6 emes, será mucho "mas larga" la de las emes:
Cita:
Empezado por arial

iiiiiiabcde
mmmmmmabcde
en cambio, en courier:
Cita:
Empezado por courier new

iiiiiiabcde
mmmmmmabcde
Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #8  
Antiguo 12-07-2004
rjsitruiz rjsitruiz is offline
Miembro
 
Registrado: may 2004
Posts: 42
Poder: 0
rjsitruiz Va por buen camino
La verdad que el que sabe.... sabe. :-)

Y el que no... se rompe la cabeza tratando de inventar funciones.

Saludos a todos y gracias por su tiempo
Responder Con Cita
  #9  
Antiguo 12-07-2004
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 rjsitruiz
La verdad que el que sabe.... sabe. :-)

Y el que no... se rompe la cabeza tratando de inventar funciones.
Y el que sabe, lo sabe porque en su momento se rompió la cabeza
Responder Con Cita
  #10  
Antiguo 13-07-2004
rjsitruiz rjsitruiz is offline
Miembro
 
Registrado: may 2004
Posts: 42
Poder: 0
rjsitruiz Va por buen camino
jajajaja tienes toda la razón Roman.

Una vez mas, Saludos y MIL Gracias a todos
Responder Con Cita
  #11  
Antiguo 13-07-2004
Avatar de Nuria
Nuria Nuria is offline
Miembro
 
Registrado: may 2003
Posts: 531
Poder: 22
Nuria Va por buen camino
Cita:
Empezado por rjsitruiz
La verdad que el que sabe.... sabe. :-)

Y el que no... se rompe la cabeza tratando de inventar funciones.
Cita:
Empezado por roman
Y el que sabe, lo sabe porque en su momento se rompió la cabeza
Y hay otros que se rompierón la cabeza... , y al final tuvieron que inventar una función. Y encima voy y la llamo fPad, ahora sabiendo que existe PadLeft-PadRight cambieré mi función que seguro que va más rápido. Nunca te acostarás sin saber una cosa más....

Saludos!
Responder Con Cita
  #12  
Antiguo 13-07-2004
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 Nuria
ahora sabiendo que existe PadLeft-PadRight cambieré mi función que seguro que va más rápido.
Bueno, yo no veo particularmente rápido el código descrito y no creo que sea esencialmente más rápido que cualquiera al que tú misma hayas llegado. Además utilizar tu propio código te evita instalar las RX junto con sus quinientas cuarenta y cinco mil setecientas veintitres funciones y objetos para algo tan sencillo.

// Saludos
Responder Con Cita
  #13  
Antiguo 13-07-2004
Avatar de Nuria
Nuria Nuria is offline
Miembro
 
Registrado: may 2003
Posts: 531
Poder: 22
Nuria Va por buen camino
Cita:
Empezado por roman
Bueno, yo no veo particularmente rápido el código descrito y no creo que sea esencialmente más rápido que cualquiera al que tú misma hayas llegado.
No sé, no sé, tendrías que ver mi código . Eso sí, funciona a las mil maravillas...
Cita:
Empezado por roman
Además utilizar tu propio código te evita instalar las RX
En eso tienes razón...pero como ya utilizo las Rx, las tengo instaladas, por eso no hay problema.
Cita:
Empezado por roman
junto con sus quinientas cuarenta y cinco mil setecientas veintitres funciones y objetos para algo tan sencillo.
Te debes de aburrir mucho para contar las funciones y objetos que tiene las Rx....

Gracias por el consejo Roman, lo tengo en cuenta .
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


La franja horaria es GMT +2. Ahora son las 15:21:49.


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