FileFunctions v0.1b -
RyDeR` - 03.05.2011
FileFunctions v0.1b
This plugin allows you to manage files. There are some interresting features:
- Lots of functions
- More filemodes available
- Slightly faster than SA-MP I/O
- Allows you to manage files not only limited in 'scriptfiles' but over your whole server directory (starting from the root)
- Usage is very similar and working is exact the same like SA:MP I/O
- Using a 'File' tag for file index.
- ...
Natives- File: fileOpen(const fileName[], io_FileMode: fileMode);
- If the file has been succesfully opened the function will return a pointer to a file object that is used to identify the handle on all further operations involving it. Otherwise, a null pointer is returned.
- File: fileReOpen(File: handle, const fileName[], io_FileMode: fileMode);
- If the file was succesfully reopened, the function returns a pointer to an object identifying the handle. Otherwise, a null pointer is returned.
- fileClose(File: handle);
- If the handle is successfully closed, a zero value is returned. On failure, EOF (-1) is returned.
- fileRemove(const fileName[]);
- If the file is successfully removed, a true value is returned. On failure, a null pointer is returned.
- fileExists(const fileName[]);
- Checks if a files exists.
- If the file exists, a true value is returned. On failure, a null pointer is returned.
- fileMove(const currentFilePath[], const newFilePath[]);
- Moves a file. It can be used to rename a file too.
- If the file is succesfully moved, a true value is returned. On failure, a null pointer is returned.
- fileRewind(File: handle);
- Sets the position indicator associated with handle to the beginning of the file.
- If the file that has to be rewind exists, a true value is returned. On failure, a null pointer is returned.
- fileWrite(File: handle, const string[]);
- Writes the string to the current position of the handle.
- The total number of elements successfully written is returned.
- fileRead(File: handle, buffer[], const size = sizeof(buffer));
- Reads the file starting from the current position of the handle and stores the data in the buffer. Reads line by line.
- If reading is succesful, a true value will be returned. On failure, a null pointer is returned.
- filePutChar(File: handle, value);
- Writes a character to the handle and advances the position indicator.
- If there are no errors, the same character that has been written is returned. On failure, EOF (-1) is returned.
- fileGetChar(File: handle);
- Returns the character currently pointed by the internal file position indicator of the specified handle.
- If there are no errors, the character read is returned as an integer value. On failure, EOF (-1) is returned.
- fileSeek(File: handle, position, seek_Origin: origin);
- Sets the position indicator associated with the stream to a new position defined by adding offset to a reference position specified by origin.
- If there are no errors, a true value is returned. Otherwise, a null pointer is returned.
- fileLength(File: handle);
- On success, the current value of the position indicator is returned.
- If there are no errors, the size of the file will return in bytes. On failure, EOF (-1) is returned.
Changelog
0.1b:
- Initial release.
Download
Download (Source + Include + .dll) (Windows)
Download (Source + .so) (Linux)
Note(s)
- You must have
Microsoft .NET Framework 4 installed to run this.
- This is a beta version and may contain bugs. Please report if you find one.
- Credits go to
this site where I got many useful information from.
Re: FileFunctions v0.1b -
CJ101 - 03.05.2011
Cool, but would be nice to be able to remove specific lines from files too.
Update:
You would be the sexiest person in SA-MP if you integrated a INI system into this too.
Re: FileFunctions v0.1b -
Zh3r0 - 03.05.2011
Nice job RyDeR.
How about some functions to check folders, for example?
Re: FileFunctions v0.1b -
fissekarl - 03.05.2011
Nice
Re: FileFunctions v0.1b -
1337connor - 03.05.2011
Suggestion:
FileRename(const currentName[], const newName[]);
Would be useful for /setname
Re: FileFunctions v0.1b -
RyDeR` - 03.05.2011
@cj101:
Great idea, I'll add that ASAP!
@Zh3r0:
Thanks Zh3r0! Oh, a function like "directoryExists" or something?
@fissekarl:
Sure, you will be able to do that when I add the proposal from cj101. Check the topic for updates.
@1337connor:
"fileMove(const currentFilePath[], const newFilePath[]);" does the thing that you want
Re: FileFunctions v0.1b -
GaGlets(R) - 03.05.2011
Thank you! You made my minute x]
Re: FileFunctions v0.1b -
Ricop522 - 03.05.2011
I love that
Re: FileFunctions v0.1b -
=WoR=Varth - 03.05.2011
Good work
Re: FileFunctions v0.1b -
Calgon - 03.05.2011
You should create a function for fileRename() for people who won't be able to understand how fileMove() works.
Re: FileFunctions v0.1b -
1337connor - 03.05.2011
fileMove("/Players/name.ini","/Players/newname.ini");
If I'm correct.
Re: FileFunctions v0.1b -
RyDeR` - 03.05.2011
Quote:
Originally Posted by 1337connor
fileMove("/Players/name.ini","/Players/newname.ini");
If I'm correct.
|
Yes, you have to keep the path and just change the filename.
Re: FileFunctions v0.1b -
Calgon - 03.05.2011
Yes, I realize how it's done, I use 'mv' on Linux a lot of the time, but newbie scripters are going to use this and this is just going to lead to a million questions in this thread.
Re: FileFunctions v0.1b -
serman - 04.05.2011
Good Work
Re: FileFunctions v0.1b -
QuaTTrO - 04.05.2011
Ryder can you make a example ?
Re: FileFunctions v0.1b -
CookieCrusher - 04.05.2011
Nice , Maybe i'll use this one day if needed :P
Re: FileFunctions v0.1b -
RyDeR` - 04.05.2011
Quote:
Originally Posted by __[ShaDoW]__
Ryder can you make a example ?
|
I'm completely rewriting the system. I will add examples for in the next update, stay tuned.
Re: FileFunctions v0.1b -
[MWR]Blood - 04.05.2011
Very nice and useful release!
Re: FileFunctions v0.1b -
xir - 04.05.2011
https://sampforum.blast.hk/showthread.php?tid=92246
isnt it the same thing?
Re: FileFunctions v0.1b -
xir - 05.05.2011
Can I ask what's the difference? Because it's not limited to scriptfiles either?