Galera, boa tarde to com uma duvida to tentando imprimir , so que aparece erro tipo I/O erro 53
o codigo e o seguinte: procedure Tfrmprincipal.btnimprimirClick(Sender: TObject); var F:TextFile; y,z,x:Byte; begin y:=0;z:=0;x:=0; if ComboBox1.Text='' then begin MessageDlg('Impressora não selecionada.',MtError,[mbOk],0); ComboBox1.DroppedDown:=True; ComboBox1.Setfocus; Exit; end; // if if Application.MessageBox('Esta opção imprimi a Ficha dos '+#13+'funcionários em uma impressora '+#13+ 'Verifique se a impressora está ok '+ 'Deseja Continuar ...','Atenção',MB_ICONQUESTION+ MB_YESNO+MB_DEFBUTTON1)=idyes then begin Cursor:=crHourGlass; StatusBar1.SimpleText:='Aguarde a geração do relatório...'; qryFicha2.Close; qryFicha2.Open; qryFicha2.First; while not qryFicha2.Eof do begin y:=y+1; try AssignFile(f,ComboBox1.Text);// para txt colocar o path no lugar do ComboBox1 Rewrite(f); //a seta do erro fica marcado nessa linha; except begin ShowMessage('Código do Erro: CL045IM'+#13+ 'Erro na impressora.'); exit; end; // except end; // try Write(f); WriteLn(f,' '+qryInfoNome_Empresa.Value); WriteLn(f,'Nome: '+qryFicha2Nome.Value+ ' mes de apuracao: '+qryFicha2Mes.value); WriteLn(f,' Dia: H. Noturna H.Extra Dia: H. Noturna H.Extra'); WriteLn(f,' '+IntToStr(qryFicha2DIA1.Value)+' '+TimeToStr(qryFicha2H_NOTURNA1.value)+' '+TimeToStr(qryFicha2H_EXTRA1.value)+' '+IntToStr(qryFicha2DIA16.Value)+' '+TimeToStr(qryFicha2H_NOTURNA16.value)+' '+TimeToStr(qryFicha2H_EXTRA16.value)); WriteLn(f,' '+IntToStr(qryFicha2DIA2.Value)+' '+TimeToStr(qryFicha2H_NOTURNA2.value)+' '+TimeToStr(qryFicha2H_EXTRA2.value)+' '+IntToStr(qryFicha2DIA17.Value)+' '+TimeToStr(qryFicha2H_NOTURNA17.value)+' '+TimeToStr(qryFicha2H_EXTRA17.value)); WriteLn(f,' '+IntToStr(qryFicha2DIA3.Value)+' '+TimeToStr(qryFicha2H_NOTURNA3.value)+' '+TimeToStr(qryFicha2H_EXTRA3.value)+' '+IntToStr(qryFicha2DIA18.Value)+' '+TimeToStr(qryFicha2H_NOTURNA18.value)+' '+TimeToStr(qryFicha2H_EXTRA18.value)); WriteLn(f,' '+IntToStr(qryFicha2DIA4.Value)+' '+TimeToStr(qryFicha2H_NOTURNA4.value)+' '+TimeToStr(qryFicha2H_EXTRA4.value)+' '+IntToStr(qryFicha2DIA19.Value)+' '+TimeToStr(qryFicha2H_NOTURNA19.value)+' '+TimeToStr(qryFicha2H_EXTRA19.value)); WriteLn(f,' '+IntToStr(qryFicha2DIA5.Value)+' '+TimeToStr(qryFicha2H_NOTURNA5.value)+' '+TimeToStr(qryFicha2H_EXTRA5.value)+' '+IntToStr(qryFicha2DIA20.Value)+' '+TimeToStr(qryFicha2H_NOTURNA20.value)+' '+TimeToStr(qryFicha2H_EXTRA20.value)); WriteLn(f,' '+IntToStr(qryFicha2DIA6.Value)+' '+TimeToStr(qryFicha2H_NOTURNA6.value)+' '+TimeToStr(qryFicha2H_EXTRA6.value)+' '+IntToStr(qryFicha2DIA21.Value)+' '+TimeToStr(qryFicha2H_NOTURNA21.value)+' '+TimeToStr(qryFicha2H_EXTRA21.value)); WriteLn(f,' '+IntToStr(qryFicha2DIA7.Value)+' '+TimeToStr(qryFicha2H_NOTURNA7.value)+' '+TimeToStr(qryFicha2H_EXTRA7.value)+' '+IntToStr(qryFicha2DIA22.Value)+' '+TimeToStr(qryFicha2H_NOTURNA22.value)+' '+TimeToStr(qryFicha2H_EXTRA22.value)); WriteLn(f,' '+IntToStr(qryFicha2DIA8.Value)+' '+TimeToStr(qryFicha2H_NOTURNA8.value)+' '+TimeToStr(qryFicha2H_EXTRA8.value)+' '+IntToStr(qryFicha2DIA23.Value)+' '+TimeToStr(qryFicha2H_NOTURNA23.value)+' '+TimeToStr(qryFicha2H_EXTRA23.value)); WriteLn(f,' '+IntToStr(qryFicha2DIA9.Value)+' '+TimeToStr(qryFicha2H_NOTURNA9.value)+' '+TimeToStr(qryFicha2H_EXTRA9.value)+' '+IntToStr(qryFicha2DIA24.Value)+' '+TimeToStr(qryFicha2H_NOTURNA24.value)+' '+TimeToStr(qryFicha2H_EXTRA24.value)); WriteLn(f,' '+IntToStr(qryFicha2DIA10.Value)+' '+TimeToStr(qryFicha2H_NOTURNA10.value)+' '+TimeToStr(qryFicha2H_EXTRA10.value)+' '+IntToStr(qryFicha2DIA25.Value)+' '+TimeToStr(qryFicha2H_NOTURNA25.value)+' '+TimeToStr(qryFicha2H_EXTRA25.value)); WriteLn(f,' '+IntToStr(qryFicha2DIA11.Value)+' '+TimeToStr(qryFicha2H_NOTURNA11.value)+' '+TimeToStr(qryFicha2H_EXTRA11.value)+' '+IntToStr(qryFicha2DIA26.Value)+' '+TimeToStr(qryFicha2H_NOTURNA26.value)+' '+TimeToStr(qryFicha2H_EXTRA26.value)); WriteLn(f,' '+IntToStr(qryFicha2DIA12.Value)+' '+TimeToStr(qryFicha2H_NOTURNA12.value)+' '+TimeToStr(qryFicha2H_EXTRA12.value)+' '+IntToStr(qryFicha2DIA27.Value)+' '+TimeToStr(qryFicha2H_NOTURNA27.value)+' '+TimeToStr(qryFicha2H_EXTRA27.value)); WriteLn(f,' '+IntToStr(qryFicha2DIA13.Value)+' '+TimeToStr(qryFicha2H_NOTURNA13.value)+' '+TimeToStr(qryFicha2H_EXTRA13.value)+' '+IntToStr(qryFicha2DIA28.Value)+' '+TimeToStr(qryFicha2H_NOTURNA28.value)+' '+TimeToStr(qryFicha2H_EXTRA28.value)); WriteLn(f,' '+IntToStr(qryFicha2DIA14.Value)+' '+TimeToStr(qryFicha2H_NOTURNA14.value)+' '+TimeToStr(qryFicha2H_EXTRA14.value)+' '+IntToStr(qryFicha2DIA29.Value)+' '+TimeToStr(qryFicha2H_NOTURNA29.value)+' '+TimeToStr(qryFicha2H_EXTRA29.value)); WriteLn(f,' '+IntToStr(qryFicha2DIA15.Value)+' '+TimeToStr(qryFicha2H_NOTURNA15.value)+' '+TimeToStr(qryFicha2H_EXTRA15.value)+' '+IntToStr(qryFicha2DIA30.Value)+' '+TimeToStr(qryFicha2H_NOTURNA30.value)+' '+TimeToStr(qryFicha2H_EXTRA30.value)); WriteLn(f,' '+IntToStr(qryFicha2DIA31.Value)+' '+TimeToStr(qryFicha2H_NOTURNA31.value)+' '+TimeToStr(qryFicha2H_EXTRA31.value)); WriteLn(f,'Total de Horas Noturnas: '+qryFicha2T_HNOTURNA.value+' Total de Horas Extras: '+qryFicha2T_EXTRA.value); WriteLn(f,'Total de Horas Trabalhadas: '+qryFicha2T_HDIURNA.value+' Total de Horas a Menor: '+qryFicha2H_MENOR.Value); (* esse código abaixo é pra pular 3 linhas depois de imprimir 3 fichas *) z:=(y div 3); x:=(z * 3); if (x = y) then begin writeLn(f,''); writeLn(f,''); writeLn(f,''); System.Close(f); qryFicha2.Next; end else begin System.Close(f); qryFicha2.Next; end; end;// while qryFicha2.Close; qryFicha2.Open; qryFicha2.First; y:=0; end; // if da pergunta end; se puderem galera me auxiliem;