Делфи. На форме StringGrig, необходима сортировка методом Шелла (вставки) по дате (ключ к дате: data)
мой код сейчас выглядит так:
(на скрине видно, что дата отсортирована, но только по числу, а необходимо чтобы было по-человечески)
...
var
H1, i1, j1, N1, s1, p1: Integer;
zap3, zap4: bibl;
begin
if TabSheet2.Visible = True then
s1:=0;
p1:=0;
reset(bf);
N1 := filesize(bf);
seek(bf,0);
H1:= N1 div 2;
while H1<>0 do
begin
for j1:=H1 to N1-1 do
begin
i1:= j1-H1;
seek(bf, j1);
read(bf, zap3);
repeat
seek(bf, i1);
read(bf, zap4);
inc(s1);
if zap3.data < zap4.data then
begin
seek(bf, i1+H1);
write(bf, zap4);
inc(p1);
i1:=i1-H1;
end
else
break;
until (i1<0);
seek(bf, i1+H1);
write(bf, zap3);
end;
H1:= H1 div 2;
end;