На форме 2 Button, 1 ListBox, 1 Memo:  
Code
unit Unit1; 
 interface 
 uses 
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
    Dialogs, StdCtrls; 
 type 
    TForm1 = class(TForm) 
      Edit1: TEdit; 
      Button1: TButton; 
      ListBox1: TListBox; 
      Button2: TButton; 
      Memo1: TMemo; 
      procedure Button1Click(Sender: TObject); 
      procedure Button2Click(Sender: TObject); 
    private 
      { Private declarations } 
    public 
      { Public declarations } 
    end; 
 var 
    Form1: TForm1; 
    arr: array of string; 
 implementation 
 {$R *.dfm} 
 procedure TForm1.Button1Click(Sender: TObject); 
 begin 
 ListBox1.Items.Add(Edit1.Text) //Добавляем из Эдит в ListBox строки 
 end; 
 procedure TForm1.Button2Click(Sender: TObject); 
 var 
 i: integer; 
 begin 
 setLength(arr, ListBox1.Items.Count); // размер массива изменяем на каунт листа 
 for i:= 0 to ListBox1.Items.Count - 1 do 
 arr[i] := ListBox1.Items.Strings[i];   // присваиваем массиву значения лист бокса 
 Memo1.Clear; //чистим мемо для последнего вывода 
 for i:= 0 to ListBox1.Items.Count -1{Размер то массива равен, значит пишем это}  do 
 Memo1.Lines.Add(arr[i]); 
 end; 
 end.
 Сначала, нажимая на первую кнопку, мы загружаем ListBox строками из Edit. 
 Потом нажимая на вторую кнопку, мы загружаем в массив все строки ListBox'а, а после, вторым циклом выводим из массива в Memo. 
 добавлю: 
 я автора тоже не понял  ну простые "куски" предлагаю)
 ну простые "куски" предлагаю)