Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-09-2015
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
Problemas con alineacion con sprintf

Buenas amigos, estoy intentando guardar en un archivo una serie de strings compuesta por dos cadenas y la quiero con un formato de dos columnas ambas alineadas a la izquierda. He probado esto:
Código PHP:
lista->Add(AnsiString().sprintf("%.20s%s"ListBoxPalabras->Items->operator [](x), MemoSopa->Lines->operator [](x))); 
Pero se me descuadra la segunda columna, osea, la primera cadena tiene como maximo 15 caracteres y tiene que ir alineada a la izquierda y la segunda cadena tiene que empezar en la posicion 21 independientemente del tamaño de la primera cadena. ¿que hago mal? ¿podeis ayudarme?
Se que con un bucle y añadiendo espacios hasta llegar a 20 se solucionaria pero quiero hacerlo bien y creo que es mas correcto usar sprintf.
Responder Con Cita
  #2  
Antiguo 17-09-2015
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 aguml.
Cita:
Empezado por aguml Ver Mensaje
... osea, la primera cadena tiene como maximo 15 caracteres y tiene que ir alineada a la izquierda y la segunda cadena tiene que empezar en la posicion 21 independientemente del tamaño de la primera cadena.
Por si te sirve, te pongo un ejemplo (que no hace uso de sprintf) y que agrega todas las cadenas del ListBox y el Memo a otro ListBox, respetando que las segundas cadenas se encuentren en la posición 21:
Código PHP:
{
  
TListBoxlb static_cast<TListBox*>(ListBoxPalabras);
  
TMemome static_cast<TMemo*>(MemoSopa);

  if (
lb->Items->Count == || me->Lines->Count == 0) return;

  
AnsiString s1;
  
int i 0;
  for(
int i 0lb->Items->Count && me->Lines->Counti++) {
   
s1 lb->Items->Strings[i];
   
s1 += AnsiString().StringOfChar(' '20 s1.Length());
   
lista->Items->Add(s1me->Lines->Strings[i]);
  }

Si trabajas en interfaz gráfica tendrías que poner en el ListBox (receptor de las cadenas encolumnadas) una fuente no truetype por ejemplo "Currier".

Saludos
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 17-09-2015 a las 15:46:11.
Responder Con Cita
  #3  
Antiguo 17-09-2015
Toni Toni is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona - España
Posts: 364
Poder: 22
Toni Va por buen camino
Hola aguml,

Prueba de esta forma creo que es lo que buscas:

Código PHP:
lista->Add(AnsiString().sprintf("%-20s%s"ListBoxPalabras->Items->operator [](x), MemoSopa->Lines->operator [](x))); 
__________________
Saludos,

Bitman
Responder Con Cita
  #4  
Antiguo 17-09-2015
Avatar de aguml
aguml aguml is offline
Miembro
 
Registrado: may 2013
Posts: 885
Poder: 11
aguml Va por buen camino
Gracias por las respuestas. Toni esa era la forma jejeje.
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
Problemas con alineacion de TEdits y Manifiesto aguml C++ Builder 0 24-07-2014 20:20:46
Alineacion QrDBtext Viky Impresión 2 17-12-2009 20:57:15
Alineación en StringGrid CamiloU OOP 10 03-06-2006 00:26:34
alineacion de un memo Choclito Varios 5 02-05-2006 08:24:46
alineacion de 2 StringGrid miguel_fr OOP 6 17-06-2004 15:50:09


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


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