PDA

Ver la Versión Completa : Ordenar TStringList


eennzzoo
28-06-2014, 20:57:49
Hola, tengo un txt con los siguientes datos:

A02 A00 A01
.
.
.
Quisiera ordenar la primer linea y que me quede A00 A01 A02

Gracias.

ecfisa
29-06-2014, 00:13:02
Hola eennzzoo.


String SortString(String Str)
{
TStringList *TS = new TStringList;

TS->DelimitedText = Str;
TS->Sort();
Str = "";
for(int i=0;i<TS->Count;i++) Str += TS->Strings[i] + ' ';
delete TS;
Str.SetLength(Str.Length()-1);

return Str;
}


Ejemplo de uso:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStrings *TS = new TStringList;
TS->LoadFromFile("tu_archivo.txt");

ListBox1->Items->Add(TS->Strings[0]); // A02 A00 A01
TS->Strings[0] = SortString(TS->Strings[0]); // ordenar
ListBox1->Items->Add(TS->Strings[0]); // A00 A01 A02
...
delete TS;
}


Saludos :)

eennzzoo
29-06-2014, 00:51:53
Hola eennzzoo.


String SortString(String Str)
{
TStringList *TS = new TStringList;

TS->DelimitedText = Str;
TS->Sort();
Str = "";
for(int i=0;i<TS->Count;i++) Str += TS->Strings[i] + ' ';
delete TS;
Str.SetLength(Str.Length()-1);

return Str;
}


Ejemplo de uso:

void __fastcall TForm1::Button1Click(TObject *Sender)
{
TStrings *TS = new TStringList;
TS->LoadFromFile("tu_archivo.txt");

ListBox1->Items->Add(TS->Strings[0]); // A02 A00 A01
TS->Strings[0] = SortString(TS->Strings[0]); // ordenar
ListBox1->Items->Add(TS->Strings[0]); // A00 A01 A02
...
delete TS;
}


Saludos :)

Gracias como siempre capo.