Memo1.lines Quero ordena numeros em um campo memo

Delphi

18/06/2004

Tenho dois memos , em um é gerado numeros alatorios, e no outro tais numeros aleaórios devem ser ordenados , quando vou fazer a ordenação, acho o maior valor dos numeros aleatorios,mas não to conseguindo fazer a ordenação com os numeros posteriores , so consigo joga op maior valor no memo2 ,o resto fica sem ser jogado, como devo fazer isso? Não conheço muito delphi ,tem um mes que to trabalhando com o mesmo, mechia com C, em C ,,,eu faço,,,mas o delphi é facil e dificil ao mesmo tempo se vc não tem o conhecimento dos componentes ,funções , preciso disso , pra ontem,,,,realmente ,,pra hoje meio dia ,,,vo manda o codigo que consegui fazer ate agora ,,

aximo : integer;
i : integer;
maior : integer;
result : integer;

begin
maior:=0;
result:=0;
for maximo:=0 to memo11.Lines.Count -1 do
edit1.Text:= IntToStr(maximo+1);

memo11.Lines[maior] := memo11.Lines[0];

for i:= 1 to memo11.Lines.Count -1 do
begin
if memo11.Lines[i] > memo11.Lines[maior] then
maior:=i
end;
edit.Text:=(memo11.Lines[maior]);
memo12.Lines[result]:= memo11.Lines[maior];
end;//begin principal

end.


:oops:


Deryck

Deryck

Curtidas 0

Respostas

Xanatos

Xanatos

18/06/2004

var
StrList: TStringList;
i: integer;
begin
  StrList:= TStringList.Create;
  for i:=0 to Memo1.Lines.Count-1 do
     StrList.Add(Memo1.Lines.Strings[i]);

  StrList.Sort;

  Memo1.Lines.Clear;
  for i:=0 to StrList.Count-1 do
     Memo1.Lines.Add(StrList.Strings[i]);
end;



GOSTEI 0
Marcelino

Marcelino

18/06/2004

Prezado deryck

Tente o seguinte :

procedure TForm1.BitBtn1Click(Sender: TObject);
var slst_Teste:TStringList;
i:Integer;
begin
try
// Criar uma string list para carregar o conteudo do Memo1
slst_Teste := TStringList.Create;
for i:=0 to Memo1.Lines.Count-1 do
slst_Teste.Add(Memo1.Lines[i]);

// Classifica a StringList
slst_Teste.Sorted := True;

// Limpa a Memo2
Memo2.Lines.Clear;
// Descarrega o conteudo da StringList Classificado para a Memo2
for i:=0 to slst_Teste.Count-1 do
Memo2.Lines.Add(slst_Teste[i]);
finally
slst_Teste.Free;
end;

end;


[]s


GOSTEI 0
POSTAR