home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 April / PCWorld_2005-04_cd.bin / software / vyzkuste / autoit / autoit-v3-setup.exe / Include / File.au3 < prev    next >
Text File  |  2005-02-01  |  6KB  |  177 lines

  1. #include-once
  2.  
  3. ; ------------------------------------------------------------------------------
  4. ;
  5. ; AutoIt Version: 3.0
  6. ; Language:       English
  7. ; Description:    Functions that assist with files and directories.
  8. ;
  9. ; ------------------------------------------------------------------------------
  10.  
  11.  
  12. ;===============================================================================
  13. ;
  14. ; Description:      Returns the number of lines in the specified file.
  15. ; Syntax:           _FileCountLines( $sFilePath )
  16. ; Parameter(s):     $sFilePath - Path and filename of the file to be read
  17. ; Requirement(s):   None
  18. ; Return Value(s):  On Success - Returns number of lines in the file
  19. ;                   On Failure - Returns 0 and sets @error = 1
  20. ; Author(s):        Tylo <tylo@start.no>
  21. ; Note(s):          It does not count a final @LF as a line.
  22. ;
  23. ;===============================================================================
  24. Func _FileCountLines($sFilePath)
  25.     Local $N = FileGetSize($sFilePath) - 1
  26.     If @error Or $N = -1 Then Return 0
  27.     Return StringLen(StringAddCR(FileRead($sFilePath, $N))) - $N + 1
  28. EndFunc   ;==>_FileCountLines
  29.  
  30.  
  31. ;===============================================================================
  32. ;
  33. ; Description:      Creates or zero's out the length of the file specified.
  34. ; Syntax:           _FileCreate( $sFilePath )
  35. ; Parameter(s):     $sFilePath - Path and filename of the file to be created
  36. ; Requirement(s):   None
  37. ; Return Value(s):  On Success - Returns 1
  38. ;                   On Failure - Returns 0 and sets:
  39. ;                                @error = 1: Error opening specified file
  40. ;                                @error = 2: File could not be written to
  41. ; Author(s):        Brian Keene <brian_keene@yahoo.com>
  42. ; Note(s):          None
  43. ;
  44. ;===============================================================================
  45. Func _FileCreate($sFilePath)
  46.     ;==============================================
  47.     ; Local Constant/Variable Declaration Section
  48.     ;==============================================
  49.     Local $hOpenFile
  50.     Local $hWriteFile
  51.     
  52.     $hOpenFile = FileOpen($sFilePath, 2)
  53.     
  54.     If $hOpenFile = -1 Then
  55.         SetError(1)
  56.         Return 0
  57.     EndIf
  58.     
  59.     $hWriteFile = FileWrite($hOpenFile, "")
  60.     
  61.     If $hWriteFile = -1 Then
  62.         SetError(2)
  63.         Return 0
  64.     EndIf
  65.     
  66.     FileClose($hOpenFile)
  67.     Return 1
  68. EndFunc   ;==>_FileCreate
  69.  
  70.  
  71. ;===============================================================================
  72. ;
  73. ; Description:      Reads the specified file into an array.
  74. ; Syntax:           _FileReadToArray( $sFilePath, $aArray )
  75. ; Parameter(s):     $sFilePath - Path and filename of the file to be read
  76. ;                   $aArray    - The array to store the contents of the file
  77. ; Requirement(s):   None
  78. ; Return Value(s):  On Success - Returns 1
  79. ;                   On Failure - Returns 0 and sets @error = 1
  80. ; Author(s):        Jonathan Bennett <jon at hiddensoft com>
  81. ; Note(s):          None
  82. ;
  83. ;===============================================================================
  84. Func _FileReadToArray($sFilePath, ByRef $aArray)
  85.     ;==============================================
  86.     ; Local Constant/Variable Declaration Section
  87.     ;==============================================
  88.     Local $hFile
  89.     
  90.     $hFile = FileOpen($sFilePath, 0)
  91.     
  92.     If $hFile = -1 Then
  93.         SetError(1)
  94.         Return 0
  95.     EndIf
  96.     
  97.     $aArray = StringSplit( FileRead($hFile, FileGetSize($sFilePath)), @LF)
  98.     
  99.     FileClose($hFile)
  100.     Return 1
  101. EndFunc   ;==>_FileReadToArray
  102.  
  103.  
  104. ;===============================================================================
  105. ;
  106. ; Description:      Writes the specified text to a log file.
  107. ; Syntax:           _FileWriteLog( $sLogPath, $sLogMsg )
  108. ; Parameter(s):     $sLogPath - Path and filename to the log file
  109. ;                   $sLogMsg  - Message to be written to the log file
  110. ; Requirement(s):   None
  111. ; Return Value(s):  On Success - Returns 1
  112. ;                   On Failure - Returns 0 and sets:
  113. ;                                @error = 1: Error opening specified file
  114. ;                                @error = 2: File could not be written to
  115. ; Author(s):        Jeremy Landes <jlandes@landeserve.com>
  116. ; Note(s):          If the text to be appended does NOT end in @CR or @LF then
  117. ;                   a DOS linefeed (@CRLF) will be automatically added.
  118. ;
  119. ;===============================================================================
  120. Func _FileWriteLog($sLogPath, $sLogMsg)
  121.     ;==============================================
  122.     ; Local Constant/Variable Declaration Section
  123.     ;==============================================
  124.     Local $sDateNow
  125.     Local $sTimeNow
  126.     Local $sMsg
  127.     Local $hOpenFile
  128.     Local $hWriteFile
  129.     
  130.     $sDateNow = @YEAR & "-" & @MON & "-" & @MDAY
  131.     $sTimeNow = @HOUR & ":" & @MIN & ":" & @SEC
  132.     $sMsg = $sDateNow & " " & $sTimeNow & " : " & $sLogMsg
  133.     
  134.     $hOpenFile = FileOpen($sLogPath, 1)
  135.     
  136.     If $hOpenFile = -1 Then
  137.         SetError(1)
  138.         Return 0
  139.     EndIf
  140.     
  141.     $hWriteFile = FileWriteLine($hOpenFile, $sMsg)
  142.     
  143.     If $hWriteFile = -1 Then
  144.         SetError(2)
  145.         Return 0
  146.     EndIf
  147.     
  148.     FileClose($hOpenFile)
  149.     Return 1
  150. EndFunc   ;==>_FileWriteLog
  151.  
  152. ;===============================================================================
  153. ;
  154. ; Function Name:    _TempFile()
  155. ; Description:      Generate a name for a temporary file. The file is guaranteed
  156. ;                   not to already exist in the user's %TEMP% directory.
  157. ; Parameter(s):     None.
  158. ; Requirement(s):   None.
  159. ; Return Value(s):  Filename of a temporary file which does not exist.
  160. ; Author(s):        Dale (Klaatu) Thompson
  161. ; Notes:            None.
  162. ;
  163. ;===============================================================================
  164. Func _TempFile()
  165.    Local $s_TempName
  166.    
  167.    Do
  168.       $s_TempName = "~"
  169.       While StringLen($s_TempName) < 8
  170.          $s_TempName = $s_TempName & Chr(Round(Random(97, 122), 0))
  171.       Wend
  172.       $s_TempName = @TempDir & "\" & $s_TempName & ".tmp"
  173.    Until Not FileExists($s_TempName)
  174.    Return ($s_TempName)
  175. EndFunc
  176.  
  177.