dFile
A leggyorsabb fájl és könyvtár kezelõ.
Mi ez?
Ez egy új fájlkezelõ rendszer,mely nem csupán a fájlokat,de a könyvtárakat is képes kezelni!
Figyelem: A fájl rendszer a scriptfiles mappába lett korlátozva néhány hiba elkerülése végett!
Miért ez?
A rendszer nagyon egyszerû és egyértelmû,hasonló a funkciói a többi fájlkezelõhöz de nem tartalmaz felesleges dolgokat!
Még van egy nagy elõnye: Ez a LEGGYORSABB fájlkezelõ rendszer! Hogy miért? Mivel egy pluginra alapul.
Ki készítette?
A plugint JaTochNietDan készítette.
/*
* Dfile 1.0.6
* Minden jog fenttartva! ˆ By: DrAkE
*
* Tulajdonos : DrAkE
* Idõ : 2011.01.27
*
* A függvény szabadon terjeszthetõ.
* És természetesen szabadon használható
* Köszönet:
* ChuckNorris - Tesztelés, segítség
* Fade - Tesztelés, segítség
* Y_Less - boolstr függvény
* JaTochNietDan - FileManager
*
* Külön köszönet:
* Thiadmer - PAWN.
* SA:MP Csapat múlt, jelen, jövõ - SA:MP.
*/
Összehasonlítás y_ini-vel:
Funkciók:
dfile_Create - Fájl létrehozása.Paraméterek:
(fajl[])
fajl[] karakterlánc típusú paraméter a fájl neve.
dfile_Delete - Fájl törlése.
(fajl[])
fajl[] a törlendõ fájl neve.
dfile_Open - Fájl megnyitása.
(fajl[])
fajl[] a fájl neve/helye.
dfile_CreateDirectory - Könyvtár létrehozása.
(mappa[])
mappa[] a könyvtár neve,helye.
dfile_DeleteDirectory - Könyvtár törlése.
(mappa[])
mappa[] a könyvtár neve,helye.
dfile_DirectoryExists - Ellenörzi hogy az adott mappa létezik-e
mappa[]
mappa[] az adott mappa ellenörzése.
dfile_WriteString - Karakterlánc írása adott fájlba.
(parameter[], ertek[])
parameter[] melyik kulcshoz írjon,
ertek[] mit.
Példa:
kulcs=ertek
dfile_WriteInt - Egész szám írása adott fájlba.
(parameter[], ertek[])
parameter[] melyik kulcshoz írjon,
ertek[] mit.
Példa:
kulcs=ertek
dfile_WriteBool - logikai ( igaz=hamis ) érték írása adott fájlba.
(parameter[], bool:ertek)
parameter[] melyik kulcshoz írjon,
bool:ertek mit. (false/true)
Példa:
kulcs=true
dfile_WriteFloat - Lebegõpontos szám írása fájlba.
(parameter[], ertek[])
parameter[] melyik kulcshoz írjon,
ertek[] mit.
Példa:
kulcs=ertek
dfile_ReadString - karakterlánc olvasása fájlból.
(parameter[])
parameter[] melyik kulcs értékét.
dfile_ReadInt - Egész szám olvasása fájlból.
(parameter[])
parameter[] melyik kulcs értékét.
dfile_ReadFloat - Lebegõpontos szám olvasása fájlból.
(parameter[])
parameter[] melyik kulcs értékét.
dfile_ReadBool - Bool érték olvasása fájlból.
(parameter [])
parameter [] paraméter értéke.
dfile_MoveFile - Fájl mozgatása adott mappába.Fontos a kiterjesztés és hogy a célmappa létezzen!
(fajl[], cel[])
fajl[] melyik fájlt mozgassa,
cel[] hova.
dfile_RenameFile - Fájl átnevezése. Fontos a kiterjesztés megadása!
(reginev[], ujnev[])
reginev[] melyik fájlt kivánod átnevezni.
ujnev[] a kívánt fájl új neve.
dfile_SaveFile - Értékek mentése adott fájlba.
fajl[]
fajl[] az adatok melyik fájlba mentõdjenek.
dfile_FileExists - Ellenörzi hogy az adott fájl létezik-e
fajl[]
fajl[] az adott fájl ellenörzése.
dfile_ParseString - Összehasonlítja a paramétert és a bevitt karakterláncot.
(parameter[], ertek[])
parameter[] a kulcs neve,
ertek[] az érték,amivel összehasonlítja a kulcs értékét.
dfile_ParseInt - Összehasonlítja a paramétert és a bevitt egész szám értékét.
(parameter[], ertek[])
parameter[] a kulcs neve,
ertek[] az érték,amivel összehasonlítja a kulcs értékét.
dfile_ParseFloat - Összehasonlítja a paramétert és a bevitt lebegõpontos szám értékét.
(parameter[], ertek[])
parameter[] a kulcs neve,
ertek[] az érték,amivel összehasonlítja a kulcs értékét.
dfile_ParseBool - Összehasonlítja a paramétert és a bevitt logikai érték értékét.
(parameter[], ertek[])
parameter[] a kulcs neve,
ertek[] az érték,amivel összehasonlítja a kulcs értékét.
dfile_IsSet - Ellenörzi hogy a paraméternek van-e értéke.
(parameter[])
parameter[] a kulcs neve
dfile_UnSet - Törli a paraméter értékét.
(parameter[])
parameter[] a kulcs neve
dfile_MultiSet - Több érték írása fájlba.
(tipusok[], {Float,_}:...)
tipusok[] - paraméterek típusa.
Lehetséges típusok:
- \"s\" - string
- \"d\" - integer
- \"b\" - boolean
- \"f\" - float
dfile_MultiGet - Több élrték lekérdezése egy fájlból.
(tipusok[], {Float,_}:...)
tipusok[] - paraméterek típusa.
Lehetséges típusok:
- \"s\" - string
- \"d\" - integer
- \"b\" - boolean
- \"f\" - float
Teszt script:
#include <a_samp>
#include <dfile>
#include <YSI\\y_ini>
#define FILTERSCRIPT
new gInt, formalas[128];
#define fDFILE \"DFILE_Test.txt\"
#define fYINI \"YINI_Test.txt\"
#define WRITES 1000
#define READS 100000
public OnFilterScriptInit()
{
print(\"\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\");
print(\"---------------------\");
print(\"Writing Tests Started\");
new
initialTick,
DFILE_tick,
YINI_tick;
print(\"-Testing dFile\");
//dFile Write
{
dfile_Create(fDFILE);
dfile_Open(fDFILE);
initialTick=GetTickCount();
for(new i;i<WRITES;i++)format(formalas, sizeof(formalas), \"%d\", i), dfile_WriteInt(formalas, i);
dfile_SaveFile();
dfile_CloseFile();
DFILE_tick=GetTickCount()-initialTick;
}
print(\"-Testing Yini\\n\");
//Yini Write
{
new
INI:file = INI_Open(fYINI);
initialTick=GetTickCount();
for(new i;i<WRITES;i++)format(formalas, sizeof(formalas), \"%d\", i), INI_WriteInt(file, formalas, i);
INI_Close(file);
YINI_tick=GetTickCount()-initialTick;
}
printf(\"\\n-nTest Results %d Writes\\n\", WRITES);
printf(\" - dFile:\\t%d\", DFILE_tick);
printf(\" - Yini:\\t%d\", YINI_tick);
print(\"---------------------\\n\\n\");
print(\"---------------------\");
print(\"Reading Tests Started\");
print(\"-Testing dFile\");
{
dfile_Create(fDFILE);
dfile_Open(fDFILE);
initialTick=GetTickCount();
for(new i;i<READS;i++)dfile_ReadInt(\"0\");
DFILE_tick=GetTickCount()-initialTick;
}
print(\"-Testing Yini\\n\");
{
new
INI:file = INI_Open(fYINI);
initialTick=GetTickCount();
for(new i;i<READS;i++)
{
INI_Load(fYINI);
}
INI_Close(file);
YINI_tick=GetTickCount()-initialTick;
}
printf(\"\\n- Test Results %d Reads\\n\", READS);
printf(\" - dFile:\\t%d\", DFILE_tick);
printf(\" - Yini:\\t%d\\n\\n\", YINI_tick);
print(\"---------------------\");
}
INI:filename[](name[], value[])
{
INI_Int(\"TEST_TAG\", gInt);
return 0;
}
Használat:
#include <a_samp>
#include <dfile>
main()
{
new valtozo1[3][128], valtozo2[2], float:valtozo3, bool:valtozo4;
dfile_Create(\"teszt.ini\");
dfile_Open(\"teszt.ini\");
dfile_WriteString(\"Parameter0\", \"teszt1234234\");
dfile_WriteInt(\"Parameter1\", 999999999);
dfile_WriteFloat(\"Parameter2\", 0.97398457987);
dfile_WriteBool(\"Parameter3\", true);
dfile_MultiSet(\"ssddfbs\",
\"teszt\", \"valami\",
\"teszt2\", \"tesztide\",
\"teszt3\", 30,
\"teszt4\", 50,
\"teszt5\", 36.23425,
\"teszt6\", true,
\"teszt7\", \"megintvalami\"
);
dfile_MultiGet(\"ssddfbs\",
\"teszt\", valtozo1[0],
\"teszt2\", valtozo1[1],
\"teszt3\", valtozo2[0],
\"teszt4\", valtozo2[1],
\"teszt5\", valtozo3,
\"teszt6\", valtozo4,
\"teszt7\", valtozo1[2]
);
dfile_SaveFile();
printf(\"%s|%s|%d|%d|%f|%b|%s\", valtozo1[0], valtozo1[1], valtozo2[0], valtozo2[1], valtozo3, valtozo4, valtozo1[2]);
dfile_Open(\"teszt.ini\");
printf(\"%s\", dfile_ReadString(\"Parameter0\"));
printf(\"%d\", dfile_ReadInt(\"Parameter1\"));
printf(\"%f\", dfile_ReadFloat(\"Parameter2\"));
printf(\"%d\", dfile_ReadBool(\"Parameter3\"));
printf(\"%d\", dfile_ParseString(\"Parameter0\", \"teszt1234234\"));
printf(\"%d\", dfile_ParseInt(\"Parameter1\", 345));
printf(\"%d\", dfile_ParseFloat(\"Parameter2\", 0.973984));
printf(\"%d\", dfile_ParseBool(\"Parameter3\", true));
dfile_CloseFile();
}
Letöltés:
v1.0.5:
Letöltésv1.0.6:
Letöltésv1.0.9:
Letöltésv1.1.0:
Letöltésv1.1.1: LetöltésFrissitések:
Frissített funkciók:
- dfile_WriteString - Nem írta felül a paraméter értékét ha az már létezett!
Új függvények kerültek be:
- dfile_FileExists
- dfile_DirectoryExists
- dfile_RenameFile
- dfile_IsSet
- dfile_UnSet
- dfile_MultiSet
- dfile_MultiGet
Néhány funkció megváltozott:
- dfile_Open - most már a fájl tartalmát is beolvassa
- dfile_ReadString - nem kell megadni a fájl helyét/nevét
Egyéb:
- Nem kell hozzá plugin ha nem akarod!
Leírás by ChuckNorris.