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 27-09-2006
carlos gonzalez carlos gonzalez is offline
Miembro
 
Registrado: may 2005
Posts: 108
Poder: 19
carlos gonzalez Va por buen camino
Como rellenar de caracteres un string

Hola amigos, tengo una duda, ojala puedan ayudarme.
Alguien sabe si en delphi existe alguna funcion para rellenar de caracteres un string.
por ejemplo si tengo una cantidiad y quiero que siempre me la muestre de 5 caracteres, rellenados de ceros a la izquierda
10= 00010
100=00100
1000= 01000
10000=10000

Saludos. Su amigo charless
Responder Con Cita
  #2  
Antiguo 27-09-2006
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
Format('%0.5d', [10]); --> 00010
Format('%0.5d', [1000]); --> 01000

// Saludos
Responder Con Cita
  #3  
Antiguo 27-09-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Puedes usar la funcion format:

Código Delphi [-]
var
  i: integer;
  s: string;
begin
  i:= 10;
  s:= Format('%.5d',[i]);
  ShowMessage(s);
end;

Última edición por seoane fecha: 28-09-2006 a las 00:42:07.
Responder Con Cita
  #4  
Antiguo 27-09-2006
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.556
Poder: 25
egostar Va camino a la fama
Usa esta función

Código Delphi [-]
 
Var
  VarZeros,Numero : String;
  Long: Integer;
begin
   Numero := '10';
   Longitud := 6; //cadena de 6 caracteres
   VarZeros := Format('%.*d',[Long,StrtoInt(Numero)]);  //'10' = '000010';
end;

Saludos.

Editando:

Seoane me gano, pero bueno, mi respuesta es otra opcion, donde puedes meter la longitud como una variable.
Ups y tamien Roman. que rapidos son.
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney

Última edición por egostar fecha: 27-09-2006 a las 23:23:15.
Responder Con Cita
  #5  
Antiguo 28-09-2006
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
prueba con esto, donde numero es una variable numerica
Código Delphi [-]
  FormatFloat('00000#',Numero)
__________________
BlueSteel
Responder Con Cita
  #6  
Antiguo 28-09-2006
Assolon Assolon is offline
Registrado
 
Registrado: abr 2006
Posts: 7
Poder: 0
Assolon Va por buen camino
Como rellenar de caracteres un string

Puedes probar con esta funcion, creo que te puede venir bien.


vCantidad := '10';
vValor := StringOfChar('0',5-length(vCantidad )) + vCantidad;


Te repite un caracter tanta veces indiques.


saludos......
Responder Con Cita
  #7  
Antiguo 29-09-2006
Avatar de Spynosa
Spynosa Spynosa is offline
Miembro
 
Registrado: nov 2004
Ubicación: Ecija - Sevilla
Posts: 99
Poder: 20
Spynosa Va por buen camino
Puedes usar esta funcion,

Código Delphi [-]
function PadL( sOrigen: string; iLen: integer; cPad: char ): string;
var
   sRet  : string;
   iCont : integer;
begin

   sRet := '';
   for iCont := 1 to iLen do
      sRet := sRet + cPad;

   sRet := sRet + sOrigen;

   iCont := ( Length( sRet ) - iLen ) + 1;
   sRet := Copy( sRet, iCont, iLen );

   result := sRet;

end;
para usarla
Código Delphi [-]
cadena:='10';
cadena:=PadL(cadena,5,'0');
Responder Con Cita
  #8  
Antiguo 01-10-2006
xelip xelip is offline
Miembro
 
Registrado: ago 2006
Posts: 21
Poder: 0
xelip Va por buen camino
Cool

hola,
No se realmente lo que necesitas, pero esto puede tambien serviles a todos...

para llenar un string con un mismo caracter:
var s: string;
...
fillchar(s, sizeos(s), 0);// lo rellena con 0.
fillchar(s, sizeof(s), k);// lo rellena con ´k´, porque es un string.
tambien puedes utilizarlo tambien para los arreglos:
var mat:arrar[0..n,0..n] of integer;
...
fillchar(mat, sizeof(mat), numero integer);// lo rellena con el numero integer indicado
Responder Con Cita
  #9  
Antiguo 01-10-2006
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
Hay que tener cuidado con esto. Para empezar el tpo de datos string en Delphi no es sino un puntero por lo que SizeOf(S) siempre será 4. Y por otra parte, si vamos a rellenar caracteres de un string usando FillChar, será mejor hacerlo a partir de S[1] (el primer caracter) por la misma razón de que S no es sino un apuntador.

// Saludos
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
como mostrar un string de 500 caracteres en una grilla afarenas Firebird e Interbase 2 18-07-2006 16:04:33
Problemas con string de mas de 255 caracteres... jaderl Varios 5 06-01-2005 21:40:32
Buscar en una string todo lo que no sean caracteres A-Z y numeros 0-9 DarkByte Varios 13 03-12-2004 08:40:37
String de mas de 255 caracteres ctronx Varios 6 01-10-2004 17:58:23
numero de caracteres string de una tabla davidgaldo Conexión con bases de datos 2 27-05-2004 15:34:14


La franja horaria es GMT +2. Ahora son las 12:31:42.


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