Hola, por favor trata de usar las etiquetas delphi para que tus codigos se vean mas claro como se ve a continuación:
Código Delphi
[-]while(fecha <= datetimepicker2.Date)do begin
if c<=5 then begin
for d:=0 to i do begin
if fecha =nohabil[d] then
j:=1; break;
end;
if j=0 then begin
year[r][c]:=fecha;
fecha:=fecha+1;
end
else begin
fecha:=fecha+1;
end;
c:=c+1;
end
else
fecha:=fecha+1;
r:=r+1;
c:=0;
listbox1.Clear;
end;
Saludos.