Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Dividir lista en tres columnas (https://www.clubdelphi.com/foros/showthread.php?t=13757)

DarkByte 30-08-2004 14:40:25

Dividir lista en tres columnas
 
¡Buenas!.

Estoy intentando hacer un programa, en el cual tengo una lista grande de tipo ListBox. Quiero coger y hacer de tres línea, una, haciendo cuatro columnas.

Esas columnas, las podría poner por ejemplo, en un TMemo para luego pasarla a un archivo txt.

Me conformo con que me guiéis para conseguir poner en cada línea tres palabras. Si la solución se puede hacer con las primeras letras de cada columna alineada, mejor, en caso contrario, me conformo con las tres palabras en una linea.

Gracias por adelantado.

Código:

ListBox                Transformarlo en:

texto                  texto  texto  texto
texto                  texto  texto  texto
texto
texto
texto
texto
texto
texto


roman 30-08-2004 15:33:48

¿No te sirve la propiedad Columns?

// Saludos

DarkByte 30-08-2004 15:51:21

Me explico mejor, estoy intentando pasar el listado a través de TCP desde mi ordenador viejo al ordenador nuevo. Y como lo tengo que enviar línea por línea..., no puedo hacer nada con Columns o cosas así.

roman 30-08-2004 15:55:39

Te puedes hacer una rutina que haga lo que quieres, algo como:

Código Delphi [-]
var
  I: Integer;
  Line: String;

begin
  for I := 0 to ListBox1.Count - 1 do
  begin
    if Line = ''
      then Line := Line + ListBox1.Items[i]
      else Line := Line + #9 + ListBox1.Items[i];

    if (I + 1) mod 3 = 0 then
    begin
      Memo1.Lines.Add(Line);
      Line := '';
    end;
  end;
end;

Pero no entiendo por qué has de enviarlo línea por línea. ¿No puedes simplemente mandar ListBox.Items.Text de una sóla vez?

// Saludos

DarkByte 30-08-2004 16:25:08

Porque creo que .Text tiene límite de carácteres, ¿me equivoco?.

roman 30-08-2004 16:28:20

Cita:

Empezado por DarkByte
Porque creo que .Text tiene límite de carácteres

:confused:

Text simplemente te da el contenido del ListBox en un solo strings incluyendo los cambios de línea correspondientes a las líneas.

// Saludos


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

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