On 16.11.2013 02:03, Timothy Groves wrote:
This produces bad results, as it currently sits. What am I doing wrong?

Here's the code I *actually* have in the method:

var
   index,
   last : integer;
begin
   last := length (t_volumes) - 1;
   index := 0;
   while ((t_volumes [index] <> t_current_volume) and (index < last)) do
       inc (index);
   if (index < last) then begin
     t_volumes [index] := t_volumes [last];
   t_volumes [last].Destroy;
   end;
   SetLength (t_volumes, last);
end;

Martin already said the necessary points, but I'd like to say you a note not related to your problem: if you use "High(t_volumes)" you get the value of the highest index of the array, so you could replace your "last" with that. Just saying...

Regards,
Sven
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to