ecco...il bello è che ho provato a mettere il deletefile dello stesso file nella prima unit(ho usato 5 form) e da li me lo cancella...ho provato a metterlo all'inizio di questa procedura per vedere se era un problema di controlli e continua a non cancellarlo...comunque ecco la procedura:
codice:
assignfile(f,'percorso file da cancellare');
reset(f);
assignfile(g,'percorso file di appoggio');
{$I-}
reset(g);
{$I+}
if ioresult<>0 then rewrite(g);
s1:=txtCanc.Text; {salva in s1 il nome del record da canc);
while not(eof(f)) do begin
x:='';y:='';
read(f,rec);
for i := 1 to length(s1) do begin
x:=x+upcase(s1[i]);
end;
for i := 1 to length(rec.nome) do begin
y:=y+upcase(rec.nome[i]);
end;
if x=y then begin
flag:=true;
{scrittura nella tabella,funziona}
if MessageDlg('Sicuro?',mtConfirmation,[mbYes, mbNo],0)=mrYes then begin
{copio in un file di "ripristino" le informazioni che vanno cancellate,funziona}
assignfile(r,'percorso file ripristino');
{$I-}
reset(r);
{$I+}
if ioresult<>0 then rewrite(r);
seek(r,filesize(r));
write(r,rit);
end;
end else begin
{copio tutte le info,tranne quella da cancellare nel file di appoggio,funziona}
seek(g,filesize(g));
write(g,farmacia);
end;
end;
closefile(f);
deletefile('percorso file originale');{non me lo cancella}
rename(g,'nome file originale');
end;