SA-MP Forums

SA-MP Forums (https://forum.sa-mp.com/index.php)
-   Plugin Development (https://forum.sa-mp.com/forumdisplay.php?f=18)
-   -   [Plugin] Directory 2.0 (https://forum.sa-mp.com/showthread.php?t=309220)

Terminator3 06/01/2012 08:42 PM

Directory 2.0
 
This is a continuation and refinement rather my previous plugin with that name klik

Functions:

DIR: DirOpen(const dirname[])
opens the directory to read it (You can open up to 32 folders at the same time)
  • const dirname[] - name of a directory

Return false if directory doesn't exist


DirClose(DIR:dir)
closes open directory
  • DIR:dir - id of a directory returned by DirOpen

Return true if directory has closed without any problems


DirRead(DIR:dir, name[])
Gets the name and type of element from directory
  • DIR:dir - id of a directory returned by DirOpen
  • name[] - return name of element

Return the element type*


DirRewind(DIR:dir)
Function moves a place to start reading a folder
  • DIR:dir - id of a directory returned by DirOpen

Returns true if the id of a directory is correct


DirCreate(const name[], mode = 420)
Creates a directory
  • const name[] - name of a directory
  • mode - chmod, unused on Windows

Returns true if the directory is correctly created


Rename(const oldname[], const newname[])
Renames a file / directory or move it to another location
  • const oldname[] - old name of a file/directory or the old localization
  • const newname[] - new name of a file/directory or the new localization

Returns true if the operation is performed correctly


CheckPath(const patch[])
Checks the type of element
  • const patch[] - name of file/directory

Returns the element type (directory, file)*


DirRemove(const name[], bool:empty = false)
Removes a directory and all subfolders and files inside
  • const name[] - name of a directory
  • bool:empty = false - if you know the directory is empty set this to true

Return 'true' if directory has been successfully removed


Chmod(const patch[], mode)
Sets the chmod of a directory/file
  • const patch[] - name of element
  • mode - mode, e.g. S_IREAD | S_IWRITE | S_IRGRP | S_IROTH or IntToOctal(644)

Windows
Linux
(names are the same in my dir.inc)

*Types of element (definitions):
type_unknown - not found or unknown type
type_dir - directory
type_file - file
type_other - other type

if you want to use chmod on Windows and you script gonna work only on Windows paste
pawn Code:
#define WIN32
//or
#define WIN
above
pawn Code:
#include <dir>

DOWNLOAD:
Windows .dll
Linus .so (on Ubuntu 11.04)
Includ .inc

and

soucre code

Mirror:
Direct download (all files)

Example:
pawn Code:
new str[100],
    type,
    DIR:xxx = DirOpen("."); // scriptfiles

if(!xxx)
    return print("directory not found");

type = DirRead(xxx, str);
while(str[0])
{
    printf("\'%s\' type: %d", str, type);
    type = DirRead(xxx, str);
}
DirClose(xxx);

Meta 06/01/2012 08:49 PM

AW: Directory 2.0
 
Looks good :o
I'll try it!

EDIT:
Quote:

Originally Posted by Terminator3 (Post 1612798)
DirCreate(const name[])
Rename(const oldname[], const newname[])
From older plugin, that's a functions from C, mkdir and rename, (return == 0)

Little mistake? :p

Jovanny 06/01/2012 08:51 PM

Respuesta: Directory 2.0
 
Good job, its useful

[Nikk] 06/01/2012 08:51 PM

Respuesta: Directory 2.0
 
Looks very nice men, i will try this

steki. 06/01/2012 08:54 PM

Re: Directory 2.0
 
Looks nice.

TheArcher 06/01/2012 09:33 PM

Re: Directory 2.0
 
It could be useful if this detect how many files are in the directory, what format is that file in the directory and such.

Babul 07/01/2012 03:29 AM

Re: Directory 2.0
 
hohoho! this plugin surely takes away some pain of scripting with .catalogue files, its really handy, thank you!
one question: do you intent to let the DirRead() output its content sorted? i could need that for easier browsing through numbered files :O)

[O.z]Caroline 07/01/2012 03:43 AM

Re: Directory 2.0
 
Very nice!

Terminator3 07/01/2012 08:42 AM

Re: Directory 2.0
 
Quote:

Originally Posted by Babul (Post 1613339)
hohoho! this plugin surely takes away some pain of scripting with .catalogue files, its really handy, thank you!
one question: do you intent to let the DirRead() output its content sorted? i could need that for easier browsing through numbered files :O)

DirRead (readdir from dirent.h) has already sorts files by name, just is some small difference on linux

EDIT:
small update

GangsTa_ 07/01/2012 10:55 AM

Re: Directory 2.0
 
That's nice, might be useful for some things.


All times are GMT. The time now is 04:41 AM.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.