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 14-03-2008
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Cool Completar Cadenas a un largo Fijo

Hola como estan?
Tengo algo que no me sale

Capas sea algo simple pero me esta sacando canas

Cargo en un Memo los nombres y apellido desde un DataSet

por ejemplo Asi

Código Delphi [-]
DataSet.First;
While not DataSet.Eof do
    begin
        Memo.Lines.Add(DataSet.FieldByName('Campo1').AsString + ' - ' +         DataSet.FieldByName('Campo1').AsString);
        DataSet.Next;
    end;

pero lo que me queda en el memo es algo asi

PEPE ' - ' LUI
MANUEL ' - ' FERNANDEZ
ETC

lo que quise hacer es asignarle una cantidad de espacios detras del primer nombre dependiendo del length de la Campo1

Ejemplo

Código Delphi [-]
 
Function CompletaEspacio(MyCadena:String; iCant:Integer):String;
var i:Integer;
begin
  Result := MyCadena;
    for i := (iCant - Length(MyCadena)) to iCant do
        Result := Result + ' ';

end;

Donde iCant es una cantidad fija que mandaba como parametro como limite de largo del Campo1

pero lo que obtengo en el memo es algo asi
Código Delphi [-]
 
PEPE         ' - ' LUI
MANUEL ' - ' FERNANDEZ
y lo que necesito es que me quede asi
Código Delphi [-]
  
PEPE     ' - ' LUI
MANUEL ' - ' FERNANDEZ
Saluda Atte Neeruu

Última edición por Neeruu fecha: 14-03-2008 a las 01:51:24.
Responder Con Cita
  #2  
Antiguo 14-03-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Puedes usar Format:
Código Delphi [-]
Function CompletaEspacio(MyCadena:String; iCant:Integer):String;
var s:String;
   
begin
  Str(iCant,s);
  Result := Format('%s'+s,[MyCadena]);
  // %s acepta un parametro numerico que indica el ancho del campo 
end;
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #3  
Antiguo 14-03-2008
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Cool Completar cadenas a un largo fijo

Hola gracias por tu respuesta pero no me anda, mira como queda:

00001530 -- SALVA JUAN RAMON15 -- $ 8.00 -- $ 4.00 -- $ 4.00
00001581 -- AGUILAR ISABEL15 -- $ 79.92 -- $ 14.00 -- $ 65.92
00001582 -- AGUILAR ISABEL15 -- $ 79.92 -- $ 14.00 -- $ 65.92

ahi donde esta el '15' es donde deberia completar para que quede asi

Código Delphi [-]
00001530 -- SALVA JUAN RAMON -- $ 8.00 -- $ 4.00 -- $ 4.00
00001581 -- AGUILAR ISABEL      -- $ 79.92 -- $ 14.00 -- $ 65.92
00001582 -- AGUILAR ISABEL      -- $ 79.92 -- $ 14.00 -- $ 65.92



haber si me puedes ayudar

Saluda Atte Neeruu

Última edición por Neeruu fecha: 14-03-2008 a las 02:27:52.
Responder Con Cita
  #4  
Antiguo 14-03-2008
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Cool Completar Cadenas a un largo Fijo

Fijate en el mensaje anterior cuando lo estaba escribiendo puso todo alineado y cuando postee quedo las dos lineas de abajo mas a la derecha


porqueeeeeee pasa eso!!!??? GRRRR!!!!!
Responder Con Cita
  #5  
Antiguo 14-03-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
porque el código normalmente utiliza fuentes "no proporcionales" y las fuentas del sitio web del club usa fuentes proporcionales. Una fuente proporcional es aquella en la que cada caracter ocupa un especio proporcional a su anchura, por el contrario una fuente "monoespaciada" ocupa la misma anchura para cualquier caracter. De manera que por ejemplo una "M" ocupa el mismo espacio que una "I" en una fuenta de estas últimas pero no en una fuente proporcional.

Por cierto que en diseño web la medida "em" se refiere al ancho de una letra "M" en la fuente que se esté utilizando.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #6  
Antiguo 14-03-2008
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Cool Completar Cadenas a un largo fijo

Gracias pero ahora como hago para poder alinar los textos!!!

tendria que saber el la diferencia de ancho entre las cadenas para poder aplicar esa diferencia y alinear....?????como se el ancho de letra???


Saluda Atte Neeruu
Responder Con Cita
  #7  
Antiguo 14-03-2008
keyboy keyboy is offline
Miembro
 
Registrado: oct 2004
Posts: 367
Poder: 20
keyboy Va por buen camino
En un memo, con fuente proporcional, no lo vas a poder hacer (o sí, pero reinventando la rueda), en todo caso, quizá un RichEdit aunque tampoco estaría seguro.

Si quieres presentar información en columnas ¿por qué no usas otro tipo de controles? Un DBGrid, un StringGrid, un ListView, un ValueListEditor, etc.

Bye
Responder Con Cita
  #8  
Antiguo 14-03-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Usa el memo con fuente Courier, que es monoespaciada.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #9  
Antiguo 15-03-2008
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Cool Completar Cadenas a un largo Fijo

Gracias y mil gracias AzidRain!!!!


Te agaradesco el dato!!!! ahora queda como queria!!!!

Y una consulta mas!!
Cuales, aparte de la que mensionas, son las letras monoespaciada??



Saluda Atte Neeruu
Responder Con Cita
  #10  
Antiguo 15-03-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Con fuentes proporcionales, puedes averigual el ancho así

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #11  
Antiguo 15-03-2008
Neeruu Neeruu is offline
Miembro
 
Registrado: oct 2007
Posts: 485
Poder: 17
Neeruu Va por buen camino
Cool Completar Cadenas a un largo fijo

Gracias Lepe muy utileas las funciones que posteaste pero que unidad agrego para esta funcion

'GetDeviceContext'


Saluda Atte Neeruu
Responder Con Cita
  #12  
Antiguo 15-03-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
tengo otras funciones en ese archivo, y los uses que tengo son estos:
Código Delphi [-]
uses Graphics,sysutils, types, windows, ShellApi;

Yo diría que es uno de los dos últimos, pero sin delphi a mano no me aseguro.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
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
tamaño fijo de un edit victorsc Varios 3 02-03-2008 16:35:13
Valor de trackbar fijo pennylane OOP 2 06-07-2007 17:56:49
Como Transormar un string largo a Integer largo RodoRodo Varios 1 27-06-2007 02:26:29
Columna con un texto fijo fjolivares Firebird e Interbase 3 14-02-2005 21:12:35
ActionToolBar fijo walrus OOP 0 13-09-2004 02:33:32


La franja horaria es GMT +2. Ahora son las 08:06:39.


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