(********************************************************************* ** Disk-Edit-Funktionen ERASE und CHANGENAME (Rename) ** *********************************************************************) procedure erase; procedure killfile; (* FAT wird nicht geschrieben ! *) var gruppe,next : integer; begin gruppe:=startgruppe; dirbuf[diroff]:=$E5; repeat next:=fat_eintrag(actdrv,gruppe); fat_setzen(actdrv,gruppe,0); gruppe:=next; until gruppe>=$FF8; rwsector(actdrv,dirsec,true,addr(dirbuf)); end; var antwort : string14; begin generate_suchname; while length(suchname)=0 do begin write('Dateiname f}r ERASE : '); readln(suchname); end; suchname:=expand(suchname); scan_msdir(true); if not gefunden then writeln(nofile) else if wildcard(suchname) then begin repeat write('Wirklich l|schen (J/N) ? '); readln(antwort); until length(antwort)>0; if antwort[1] in ['J','j'] then begin while gefunden do begin killfile; scan_msdir(false); end; writefat(actdrv); end; end else begin killfile; writefat(actdrv); end; end; procedure rename; var neuname : string14; begin suchname:=copy(befehl,1,14); i:=pos(' ',befehl); if i=0 then neuname:='' else neuname:=copy(befehl,succ(i),14); i:=pos(' ',suchname); if i>0 then delete(suchname,i,14); i:=pos(' ',neuname); if i>0 then delete(neuname,i,14); while length(suchname)=0 do begin write('Alter Dateiname : '); readln(suchname); end; while length(neuname)=0 do begin write('Neuer Dateiname : '); readln(neuname); end; suchname:=expand(suchname); neuname:=expand(neuname); if wildcard(suchname) or wildcard(neuname) then writeln('Wildcards unzul{ssig !') else begin scan_msdir(true); move(neuname[1],dirbuf[diroff],11); rwsector(actdrv,dirsec,true,addr(dirbuf)); end; end;