forse non ho capito il codice che hai scritto; non vorrei sbagliare suggerimento ma credo che nel tuo caso sia inutile usare il 'do while'.
codice:
for i:=5 downto 1 do
begin
if i= 5 then
begin
stringgrid1.cells[1,i]:=' ---->';
stringgrid1.cells[1,i+1]:='';
stringgrid1.cells[2,i]:=inttostr(spinedit1.value);
end;
if i= 4 then
begin
stringgrid1.cells[1,i]:=' ---->';
stringgrid1.cells[1,i+1]:='';
stringgrid1.cells[2,i]:=inttostr(spinedit1.value);
end;
if i= 3 then
begin
stringgrid1.cells[1,i]:=' ---->';
stringgrid1.cells[1,i+1]:='';
stringgrid1.cells[2,i]:=inttostr(spinedit1.value);
end;
if i= 2 then
begin
stringgrid1.cells[1,i]:=' ---->';
stringgrid1.cells[1,i+1]:='';
stringgrid1.cells[2,i]:=inttostr(spinedit1.value);
end;
if i= 1 then
begin
stringgrid1.cells[1,i]:=' ---->';
stringgrid1.cells[1,i+1]:='';
stringgrid1.cells[2,i]:=inttostr(spinedit1.value);
end;
end;