Verfasst: 18.10.2006 12:51
ich hatte den überschreibungsschutz extra nicht in die procedure mit reingemacht, damit das jeder selber entscheiden kann.
aber bitte:
[gibt es irgendwelche nachteile daran, dass mit ReadFile() zu machen, und nicht mit Filesize() ?]
insofern "C:\test\rippchen\tempo.txt" nicht existiert, aber es die ordner bereits gibt, werden die dateien
C:\test\rippchen\tempo.txt
C:\test\rippchen\tempo(2).txt
C:\test\rippchen\tempo(3).txt
C:\test\rippchen\tempo(4).txt
erstellt.
<edit>
die proc gibt den dateinamen zurück wie er übergeben wurde, wenn sie nicht existiert. wenn sie aber schon existiert, wird der name mit klammern inkrementiert, bis ein 'unbesetzter' dateiname entsteht, und wird zurückgegeben.
nachteil:
aus z.b.datei(9).ext macht die proc (wenn datei exisiert) den namen datei(9)(1).ext
aber bitte:
[gibt es irgendwelche nachteile daran, dass mit ReadFile() zu machen, und nicht mit Filesize() ?]
Code: Alles auswählen
Procedure.s increaseFilename(file.s)
Protected path.s
Protected ext.s
Protected fullname.s
Protected name.s
If ReadFile(33,file)
CloseFile(33)
path=GetPathPart(file)
fullname.s=GetFilePart(file)
ext.s=GetExtensionPart(file)
name=Left( fullname, Len(fullname)-Len(ext)-1 )
i=2
While ReadFile(33, path + name + "(" + Str(i) + ")." + ext )
CloseFile(33)
i+1
Wend
file= path + name + "(" + Str(i) + ")." + ext
EndIf
ProcedureReturn file
EndProcedure
datei$="C:\test\rippchen\tempo.txt"
CreateFile(0, increaseFilename(datei$) )
CloseFile(0)
CreateFile(0, increaseFilename(datei$) )
CloseFile(0)
CreateFile(0, increaseFilename(datei$) )
CloseFile(0)
CreateFile(0, increaseFilename(datei$) )
CloseFile(0)
C:\test\rippchen\tempo.txt
C:\test\rippchen\tempo(2).txt
C:\test\rippchen\tempo(3).txt
C:\test\rippchen\tempo(4).txt
erstellt.
<edit>
die proc gibt den dateinamen zurück wie er übergeben wurde, wenn sie nicht existiert. wenn sie aber schon existiert, wird der name mit klammern inkrementiert, bis ein 'unbesetzter' dateiname entsteht, und wird zurückgegeben.
nachteil:
aus z.b.datei(9).ext macht die proc (wenn datei exisiert) den namen datei(9)(1).ext