Introdução:
Este sistema trabalha com Cache estilo Y_ini ou SSI e outros sistemas parecidos.
Possuí sistema de Leitura e Escrita atualmente mais rápido!
Velocidade:
Fini
Escritas por segundo: 087269
Leituras por segundo: 499040
Funções por segundo: +300.000
Dini
Escritas por segundo: 221
Leituras por segundo: 6355
Funções por segundo: 72
Praticidade:
Para usar é igual ao sistema SII, porém claro é um pouco mais rápido!
Use da seguinte forma:
Abrimos o arquivo:
Escrevemos e fazemos a leitura:
Fechamos o arquivo:
Desta forma ficando o código:
Este sistema trabalha com Cache estilo Y_ini ou SSI e outros sistemas parecidos.
Possuí sistema de Leitura e Escrita atualmente mais rápido!
Velocidade:
Fini
Escritas por segundo: 087269
Leituras por segundo: 499040
Funções por segundo: +300.000
Dini
Escritas por segundo: 221
Leituras por segundo: 6355
Funções por segundo: 72
Praticidade:
Para usar é igual ao sistema SII, porém claro é um pouco mais rápido!
Use da seguinte forma:
Abrimos o arquivo:
Escrevemos e fazemos a leitura:
Fechamos o arquivo:
Desta forma ficando o código:
Outras informações:
Base, caso queiram escrever os númeors deve formatar como string da seguinte forma
new str[3]; format(str,4,"%d",NUMERO_AQUI); Fini_SetStr("Teste",str);
Assim escrevemos o número no arquivo:
Códigos:
Fini:
#define maxtag (00244) #define maxfile (99999) #define maxname (00064) #define Fini_Exists fexist #define Fini_GetFloat(%0) floatstr(Fini_GetStr(%0)) static zNormal1, zNormal2, fStr[maxtag], fTag[maxtag], fFile[maxfile], File:zFopenFile, fName[maxname], iSource ; stock Fini_OpenFile(fname[]) { zFopenFile = fopen(fname,io_read); while(fread(zFopenFile,fStr)) strins(fFile,fStr,strlen(fFile),maxfile); fclose(zFopenFile); format(fName,maxname,"%s",fname); return true; } stock Fini_SaveFile() { fremove(fName); zFopenFile = fopen(fName,io_write) fwrite(zFopenFile,fFile); fclose(zFopenFile); return true; } stock Fini_CloseFile() { fFile[0] = '\0'; fName[0] = '\0'; return true; } stock Fini_GetStr(ftag[]) { zNormal1 = strfind(fFile,ftag,true); zNormal2 = (zNormal1 + (strlen(ftag))); strmid(fTag,fFile,zNormal2,(zNormal2 + maxtag),maxtag); zNormal2 = strfind(fTag,"\n",true); strmid(fStr,fTag,1,zNormal2 ,maxtag); return fStr; } stock Fini_SetStr(ftag[],fstr[]) { format(fTag,maxtag,"%s=%s",ftag,Fini_GetStr(ftag)); zNormal1 = strfind(fFile,ftag,true); if(zNormal1 != -1) { iSource = strlen( fTag ) ; format(fStr,maxtag,"%s=%s",ftag,fstr); strdel(fFile,zNormal1 ,(zNormal1 + iSource)); format(fStr,128,"%s",fStr); strins(fFile,fStr,zNormal1 ,128); } else { format(fStr,maxtag,"%s=%s\r\n",ftag,fstr); strins(fFile,fStr,strlen(fFile)); } return true; } stock Fini_Create(nFile[]) { if (Fini_Exists(nFile)) return false; new File:cFile = fopen(nFile,io_write); return fclose(cFile); } stock Fini_SetVal(ftag[],fval) { static Seting[24]; format(Seting,maxtag,"%d",fval); Fini_SetStr(ftag,Seting); return true; } stock Fini_SetFloat(ftag[],Float:fval) { static Seting[24]; format(Seting,maxtag,"%f",fval); Fini_SetStr(ftag,Seting); return true; } stock Fini_SetBool(ftag[],bool:fval) { static Seting[24]; format(Seting,maxtag,"%d",fval) Fini_SetStr(ftag,Seting); return true; } stock Fini_IsSet(ftag[]) { format(fTag,maxtag,"%s=%s",ftag,Fini_GetStr(ftag)); zNormal1 = strfind(fFile,ftag,true); if(zNormal1 != -1) return true; return false; } stock Fini_GetBool(ftag[]) { new Seting = strval(Fini_GetStr(ftag)); return Seting;}stock Fini_GetValue(ftag[]) { new Seting = strval(Fini_GetStr(ftag)); return Seting; }
Testes com dini:
public OnFilterScriptInit() { dini_Create("Dini.txt"); dini_Create("Fini.txt"); new Fini = GetTickCount(),FiniValue; Fini_OpenFile("Fini.txt"); while(GetTickCount() - Fini < 1000) { Fini_SetStr("Key1","Ok1"); Fini_GetStr("Key1"); FiniValue++; } Fini_SaveFile() Fini_CloseFile(); printf("Fini: %d",FiniValue); new Dini = GetTickCount(),DiniValue; while(GetTickCount() - Dini < 1000) { dini_Set("Dini.txt","Key1","Ok1"); dini_Get("Dini.txt","Key1"); DiniValue++; } printf("Dini: %d",DiniValue); return true; } }
Testes com funções:
public OnFilterScriptInit() { Fini_Create("Fini.txt"); #define SEGUNDOS 1 //coloque aqui o número de segundos para teste de funcoes new Fini = GetTickCount(), FiniValue ; if(!Fini_Exists("Fini.txt")) Fini_Create("Fini.txt"); Fini_OpenFile("Fini.txt"); while(GetTickCount() - Fini < (SEGUNDOS * 1000)) { Fini_SetStr ("DraKoN" , "Kitties" ); Fini_SetBool ("Boolean" , false ); Fini_SetFloat ("Floating" , 1.8 ); Fini_SetVal ("SAMP" , 199 ); FiniValue++; } printf("String-%s", Fini_GetStr ("DraKoN")); printf("Boool - %d", Fini_GetBool ("Boolean")); printf("Value - %i", Fini_GetValue("SAMP")); printf("Float - %f", Fini_GetFloat("Floating")); Fini_SaveFile(); Fini_CloseFile(); printf("Fini: %d Functions in %d Seconds",((FiniValue * 5) + 5) + 4,SEGUNDOS); return true; }
Versão atualizada:
Suporte em Geral: Dark Team PT
Sub-Desenvolvedor/Teste: JhonyTest
0 comentários:
Postar um comentário