Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Ordenar texto en un memo (https://www.clubdelphi.com/foros/showthread.php?t=31976)

Jad 23-05-2006 17:27:41

Ordenar texto en un memo
 
Hola Foro,

Me gustaría saber si el componente memo tiene algun método para ordenar el texto que tiene. Quiero ordenar palabras.

Ejemplo, si tengo

zapato
amor
gato

quisiera verlo como

amor
gato
zapato

Gracias por su atención ;)

Alberto.

Neftali [Germán.Estévez] 23-05-2006 17:46:39

Crea un StringList ordenado. Pasa los datos de Memo.Lines al StringList con:
Código Delphi [-]
  
  ST.AddStrings(Memo1.Lines);

Y vuelve a volcar esto sobre el memo. El StringList te las habrá ordenado correctamente.


Completo sería algo así:

Código Delphi [-]
  
  // Crear
  ST := TStringList.Create();
  ST.Sorted := True;
  // Asignar
  ST.AddStrings(Memo1.Lines);
  // Retornarlas al Memo
  Memo1.Lines.Clear;
  Memo1.Lines.AddStrings(ST.Strings);
  // Liberar
  ST.Free;

Northern 23-05-2006 17:54:22

:confused: creo que no, y si utilizas un TStringList o cualquier otro control o componente ?....ordenar palabras se puede enfocar de diferentes maneras, quieres ordenarlas en tiempo real o cuando tu le das la orden.....:confused:

Jad 23-05-2006 21:24:56

StringList
 
Hola de nuevo,

Para ordenar el memo puedo usar el componente TStringList que mencionan pero no lo veo en la paleta de componentes, y la instrucción

ST= TStringList->New(); //equivalente a ST:=TStringList.Create();

me da error porque ST no está definida. Si pongo

TStringList ST;

me dice que debo usar new.

Algún tip más, por favor. :eek:

Alberto

reevil 23-05-2006 22:38:22

utiliza el componente TListBox, como ya te dijo neftali, copias el texto, ordenas (con la propiedad sort del listbox) y vuelves a colocar tu texto en el memo

saludos

Jad 24-05-2006 04:32:58

Funciona
 
Gracias Neftali & Northern, ya funciona pero tuve que cambiar el ST.Strings por ST.Items

Until nex happy time :D

Alberto

Neftali [Germán.Estévez] 24-05-2006 10:47:58

Cita:

Empezado por reevil
utiliza el componente TListBox, como ya te dijo neftali

Bueno, yo no dije un TListBox (que es un componente visual), dije un TStringList, que es una clase que no utiliza componente, aunque al final es lo mismo.

Seguramente lo del TStringList no te funcionaba, porque faltaba definir la variable, cosa que no puse, porque imaginé que lo haría tú.

Código Delphi [-]
var
  TS:TStringList;
begin
  ...


La franja horaria es GMT +2. Ahora son las 10:05:34.

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