GARANTIR DESCONTO

Fórum Ajuda com ListBox- Delphi xe8 #548391

14/03/2016

0

Olá, sou novato no Delphi e 'cavando' no help vi p seguinte programa:

[code var
MyList: TStringList;
Index: Integer;

begin

MyList := TStringList.Create;
try
MyList.Add('Animals');
MyList.Add('Flowers');

MyList.Add('Cars');

MyList.Sort;
if MyList.Find ('Flowers', Index) then
begin
ListBox1.Items.AddStrings(MyList);
Label1.Caption := 'Flowers has an index value of' + IntToStr(Index);

end;

finally
MyList:= Free
end;
][/code]


O Delphi manda colocar um botão, uma listbox e um label, só que eu não sei onde esse código vai. É no procedimento do botão? Quando boto no procedimento do botão dá os seguintes erros de compilação:

[dcc32 Error] listbox.pas(52): E2010 Incompatible types: 'TStringList' and 'procedure, untyped pointer or untyped parameter'

[dcc32 Fatal Error] Project1.listbox.dpr(5): F2063 Could not compile used unit 'listbox.pas'

Minha dúvida é basicamente essa; se alguém puder ajudar agradeço.

Valew
Adriano Freitas

Adriano Freitas

Responder

Posts

14/03/2016

Marco Antônio

Adriano, bom dia. Aqui funciono com uma pequena alteração ao liberar o objeto criado da memória.
Respondendo a sua pergunta. Sim a rotina deverá ser colocada no procedimento do botão.

 procedure TForm1.Button1Click(Sender: TObject);
var
 MyList: TStringList;
 Index: Integer;

begin

MyList := TStringList.Create;

try
MyList.Add('Animals');
MyList.Add('Flowers');
MyList.Add('Cars');

MyList.Sort;

if MyList.Find ('Flowers', Index) then
   begin
     ListBox1.Items.AddStrings(MyList);
     Label1.Caption := 'Flowers has an index value of' + IntToStr(Index);
   end;

finally
MyList.Free; // <---- só mudei aqui
end;


//
end;

end;

Neste help o Delphi quis somente te exemplificar como passar toda uma lista de strings de um objeto para outro do mesmo tipo sem ter que ficar utilizando de loop
para isso.

Abc.
Responder

Gostei + 0

14/03/2016

Adriano Freitas

Adriano, bom dia. Aqui funciono com uma pequena alteração ao liberar o objeto criado da memória.
Respondendo a sua pergunta. Sim a rotina deverá ser colocada no procedimento do botão.

 procedure TForm1.Button1Click(Sender: TObject);
var
 MyList: TStringList;
 Index: Integer;

begin

MyList := TStringList.Create;

try
MyList.Add('Animals');
MyList.Add('Flowers');
MyList.Add('Cars');

MyList.Sort;

if MyList.Find ('Flowers', Index) then
   begin
     ListBox1.Items.AddStrings(MyList);
     Label1.Caption := 'Flowers has an index value of' + IntToStr(Index);
   end;

finally
MyList.Free; // <---- só mudei aqui
end;


//
end;

end;

Neste help o Delphi quis somente te exemplificar como passar toda uma lista de strings de um objeto para outro do mesmo tipo sem ter que ficar utilizando de loop
para isso.

Abc.







Valeu, irmão. Não ia adivinhar nunca...
Abraço
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar