Para hacerlo gráficamente, pon un listbox con los valores 01, 02, 03 ... 23, 24 y otro listbox vacío.
Un botón y listo:
Código Delphi
[-]
procedure TForm1.Button1Click(Sender :TObject);
var
iItems, iValor :integer;
begin
Randomize;
iItems := lbSource.Items.Count;
while iItems>0 do
begin
iValor := Random(iItems);
lbTarget.Items.Add( lbSource.Items[iValor] );
lbSource.Items.Delete(iValor);
iItems := lbSource.Items.Count;
end;
end;