[ Darth @ 15.04.2004. 19:36 ] @
Zdravo svima. Imam jedan problem sto se tice visestrukog brisanja tekstualnih datoteka. Naime, napisao sam proceduru za brisanje, koja mi se cini logicnom. Ali kada je upotrebim u programu, moze da obrise samo prvi fajl posle pravi gresku. Isto radi ako sam u programu prethodno napravio novi fajl. Evo kako ta procedura izgleda: procedure brisi; procedure ime(var s:string); var p:boolean; i,b:integer; begin p:=true; i:=0; b:=0; repeat inc(i); p:=((s>='0')and(s<='9'))or((s>='A')and(s<='Z'))or((s>='a')and(s<='z')); if p=false then b:=i; until (i>length(s))or(p=false); delete(s,b,length(s)-b+1); end; label del; var l:string; k:text; c:char; begin del: clrscr; textcolor(15); write('Enter the file name for deleting:'); readln(l); ime(l); l:=l+'.txt'; assign(k,l); {$I-} reset(k); {$I+} if ioresult<>0 then begin writeln; writeln('Specified file does not exist!'); writeln('Press any key to retype or <ESC> to return'); c:=readkey; if ord(c)=27 then exit; goto del; end else begin close(k); write('Are you sure you want to delete ',l,'? (Y/N)'); c:=readkey; if(c='Y')or(c='y')or(ord(c)=13) then erase(k); end; end; Evo sta radi: kada se drugi put pozove, jednostavno preskace readln(l) gde treba da ucita ime i stalno izbacuje poruku da fajl ne postoji. Nadam se da ce neko uspeti da mi da odgovor. Unapred havla, Bojan |