User Tools

Site Tools


creating_20temporary_20files_20and_20directories

This is an old revision of the document!


Creating temporary files and directories

by Jon Ripley, August 2007

The FNtempfile function creates and returns the name of a unique file in the current temporary directory. You should ensure that you delete this file when you no longer require it.

      file$ = FNtempfile
      REM ...
      SYS "DeleteFile", file$


The FNtempdir function creates and returns the name of a unique directory in the current temporary directory. You should ensure that you delete this directory when you no longer require it.

      dir$ = FNtempdir
      REM ...
      SYS "RemoveDirectory", dir$


The “RemoveDirectory” call requires that the directory to be deleted is empty. To delete a non-empty directory use the PROCremovedirectory function as demonstrated:

      dir$ = FNtempdir
      REM ...
      PROCremovedirectory(dir$)


The code for the FNtempfile, FNtempdir and PROCremovedirectory functions referenced in this article are listed below:

      DEF FNtempfile
      LOCAL T%
      DIM T% LOCAL 255
      SYS "GetTempPath", 256, T%
      SYS "GetTempFileName", $$T%, "tmp", 0, T%
      = $$T%
      DEF FNtempdir
      LOCAL T%
      DIM T% LOCAL 255
      SYS "GetTempPath", 256, T%
      SYS "GetTempFileName", $$T%, "tmp", 0, T%
      SYS "DeleteFile", $$T%
      SYS "CreateDirectory", $$T%, 0
      IF $$T% > "" $$T% += "\"
      = $$T%
      DEF PROCremovedirectory(D$)
      IF D$ = "" THEN ENDPROC
      LOCAL shfo{}
      DIM shfo{hWnd%, wFunc%, pFrom%, pTo%, fFlags%, fAborted%, hNameMaps%, sProgress%}
      IF RIGHT$(D$,1) = "\" THEN D$ = LEFT$(D$)
      D$ += CHR$0 + CHR$0
      shfo.hWnd% = @hwnd%
      shfo.wFunc% = 3
      shfo.pFrom% = !^D$
      shfo.fFlags% = 20
      SYS "SHFileOperation", shfo{}
      ENDPROC


The string “tmp” passed to “GetTempFileName” is a prefix for the temporary file name which you may change to any three character string, perhaps to be distinctive to your application.

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies
creating_20temporary_20files_20and_20directories.1522502354.txt.gz · Last modified: 2024/01/05 00:18 (external edit)