Difference between revisions of "Blitz:Dos.include.ab3"

From Amiga Coding
Jump to: navigation, search
Line 49: Line 49:
  
 
This function does not try to write to the file, so it won't create a blank file if the filename doesn't exist. Instead, the DOS error code for "Object not found" (205) will be returned if the specified file doesn't exist.
 
This function does not try to write to the file, so it won't create a blank file if the filename doesn't exist. Instead, the DOS error code for "Object not found" (205) will be returned if the specified file doesn't exist.
 +
 +
===dos_CheckLib===
 +
This function can be used to check if a particular library is present and of an appropriate version. It is important to check that libraries of the correct version exist before using them, otherwise crashes can occur. This function will return True (-1) if the specified library exists and has the version number specified or above, or False (0) otherwise:
 +
<code>If dos_CheckLib("Workbench.library", 44) = False
 +
  NPrint "This program requires at least Workbench 3.5 to work!"
 +
  End
 +
End If</code>
 +
Internal
 +
 +
[[Category:Blitz Basic / AmiBlitz|Blitz]]
 +
[[Category:Advancing With Blitz|Advancing With Blitz]]
 +
[[Category:AmiBlitz Includes|AmiBlitz Includes]]

Revision as of 12:32, 5 November 2015

The dos.include.ab3 Include file contains some useful functions for handling paths, directories and general DOS-related tasks.

Path Handling

dos_AddPart

This function adds the two given string arguments together and returns the result as an AmigaDOS-legal path. Very useful for adding a filename onto a directory name to produce the full path, but without having to worry about whether the path string ends in :, / or just the drawer name: fullpath$ = dos_AddPart{"Workbench:System", "Format"} fullpath2$ = dos_AddPart{"Workbench:System/", "Format"} Both examples above will return the string "Workbench:System/Format".

dos_PathPart

This function returns the part of the given string that constitutes the directory in which the target of the given path resides. Useful for getting the directory of a file: MyDirectory$ = dos_PathPart{"Workbench:System/Format"} Will return the path "Workbench:System".

dos_FilePart

Similar to dos_PathPart{} above, but returns the filename instead: MyFile$ = dos_FilePart{"Workbench:System/Format"} Will return the string "Format".

dos_GetProgDir

This function returns the full path to your program. This can be useful to determine the absolute path to any files or directories in your program's directory: MyDir$ = dos_GetProgDir{"Projects:MyProgram"} The string argument given is only used when the program is run directly from the editor.

File Checking

dos_Exist

This function checks if the given file exists, and returns True (-1) if it does or False (0) otherwise: result.l = dos_Exist{"Workbench:System/Format"} This should return True unless someone has moved the Format command on your system...

dos_IsDir

This function checks if the given path is a directory, and returns True (-1) if so. If the path is a file or doesn't exist, dos_IsDir will return False (0): result.l = dos_IsDir("SYS:System/Format") This will return False (0).

dos_Check

This function tries to open a file for reading and close it again. It will return True(-1) if everything worked ok, or the DOS error code if it failed. This means it's important to check for a result equal to True instead of just a non-zero result. For example: If dos_Check("Files:Test-File")

 NPrint "File ready"

Else

 NPrint "File error!"

End If This will always say "File Ready" because the result will either be true (-1), or a numerical value corresponding to the DOS error code. The correct way to do this is: If dos_Check("Files:Test-File")

 NPrint "File ready"

Else

 NPrint "File error!"

End If

This function does not try to write to the file, so it won't create a blank file if the filename doesn't exist. Instead, the DOS error code for "Object not found" (205) will be returned if the specified file doesn't exist.

dos_CheckLib

This function can be used to check if a particular library is present and of an appropriate version. It is important to check that libraries of the correct version exist before using them, otherwise crashes can occur. This function will return True (-1) if the specified library exists and has the version number specified or above, or False (0) otherwise: If dos_CheckLib("Workbench.library", 44) = False

 NPrint "This program requires at least Workbench 3.5 to work!"
 End

End If Internal