F_INI By F1N4L -
F1N4L - 05.05.2016
Antes de postar: "Mais uma include de salvamento. PQP!", saibam que foi apenas para
estudo.
PS: Essa include nгo foi baseada em scripts de terceiros.
F_FILES v1.5 By F1N4L
Recursos atй o momento:
Mбximo de linhas por arquivo:
Код:
#define MAX_FILE_LINES 25
Mбximo de caracteres por linha:
Код:
#define MAX_LINE_CHARS 128
Caractere que irб dividir a palavra-chave do valor.
Senha=123
PS: O caractere de divisгo pode ser alterado em qualquer circunstвncia, sem causar conflitos com os arquivos. Apenas tenha em mente que quanto mais caracteres, maior o delay de escrita/leitura
Код:
#define DIVISION "="
Os arquivos nгo precisam ser abertos. Cada funзгo abre automaticamente e foi inserido ainda uma verificaзгo em cada ma destas funзхes para evitar crash, ao invйs de crashar o servidor, serб impresso no console cada erro. (exceto quando uma pasta nгo for criada, o crash й imediato)
Macros para encurtar as funзхes:
Код:
#define F_Exists F_Ex
#define F_WriteInt F_WIn
#define F_WriteStr F_WSt
#define F_WriteFloat F_WFl
#define F_WriteBool F_WBo
#define F_ReadInt F_RIn
#define F_ReadStr F_RSt
#define F_ReadFloat F_RFl
#define F_ReadBool F_RBo
#define F_Create F_Cr
#define F_Backup F_Ba
#define F_FindKey F_FKe
#define F_AddStr F_ASt
Escreve somente inteiros em uma determinada palavra-chave.
Macro: F_WIn
F_WriteInt(
file[],
key[],
value);
Escreve somente textos em uma determinada palavra-chave.
Macro: F_WSt
F_WriteStr(
file[],
key[],
value[]);
Escreve somente float em uma determinada palavra-chave.
Macro: F_WFl
F_WriteFloat(
file[],
key[],
Float:value);
Escreve somente valores booleanos em uma determinada palavra-chave.
Macro: F_WBo
F_WriteBool(
file[],
key[],
bool:value);
Faz a leitura de inteiros em uma determinada palavra-chave.
Macro: F_RIn
F_ReadInt(
file[],
key[]);
Faz a leitura de textos em uma determinada palavra-chave.
Macro: F_RSt
F_ReadStr(
file[],
key[]);
Faz a leitura de float em uma determinada palavra-chave.
Macro: F_RFl
F_ReadFloat(
file[],
key[]);
Faz a leitura de valor booleano em uma determinada palavra-chave.
Macro: F_RBo
F_ReadBool(
file[],
key[]);
Verifica se o arquivo existe.
Macro: F_Ex
F_Exists(
file[])
Cria determinado arquivo.
Macro: F_Cr
F_Create(
file[]);
Faz um backup de determinado arquivo, renomeando-o para 'FileName_RandomNumber.fback'.
Macro: F_Ba
F_Backup(
file[]);
Faz uma busca para verificar se existe determinada palavra-chave com/sem case sensitive.
Macro: F_FKe
F_FindKey(
file[],
key[],
true/
false);
Adiciona uma linha de texto em determinado arquivo. Pode ser utilizado como salvamento de logs.
Macro: F_ASt
F_AddStr(
file[],
str[]);
Mantive o DEBUG da include, onde imprime no console cada funзгo chamada. Mais para frente serб removido.
Irei adicionar mais algumas funcionalidades e vou pedir, com sinceridade, que vcs postem dicas para melhoria, pois, sempre tive curiosidade nessa parte de manipular arquivos e agora eu estou conseguindo.
Download:
PASTEBIN
Quero crнticas / dicas e sugestхes de vocкs!
Re: F_INI By F1N4L -
3War - 05.05.2016
Bacana cara,porem,no que ela й melhor em comparaзгo as outras?
Enfim,parabйns cara! Alias as "palavras chave" ficou muito sugestivas,isso facilita o uso...
Re: F_INI By F1N4L -
F1N4L - 05.05.2016
Quote:
Originally Posted by 3War
Bacana cara,porem,no que ela й melhor em comparaзгo as outras?
Enfim,parabйns cara! Alias as "palavras chave" ficou muito sugestivas,isso facilita o uso...
|
Obrigado, @3War.
Quando а diferenзa, deixei claro na primeira linha do post que foi apenas para estudo, simplesmente para aprender a manipular arquivos via pawn.
@topic
TУPICO ATUALIZADO
Re: F_INI By F1N4L -
LockedLucas - 05.05.2016
Nгo te entendo, vocк diz que salvamento em banco de dados й melhor do que em ini ou qualquer outro, ai tu vai e cria uma include que salva em ini, mesmo que essa include foi mais pra estudo como vocк disse, fica sem sentido.
Re: F_INI By F1N4L -
3War - 05.05.2016
Quote:
Originally Posted by LockedLucas
Nгo te entendo, vocк diz que salvamento em banco de dados й melhor do que em ini ou qualquer outro, ai tu vai e cria uma include que salva em ini, mesmo que essa include foi mais pra estudo como vocк disse, fica sem sentido.
|
uma coisa nгo tem nada ver com a outra,nem todo mundo usa banco de dados por mais que seja melhor,ainda tem pessoas que preferem salvamento em arquivos...
Re: F_INI By F1N4L -
LockedLucas - 05.05.2016
Quote:
Originally Posted by 3War
uma coisa nгo tem nada ver com a outra,nem todo mundo usa banco de dados por mais que seja melhor,ainda tem pessoas que preferem salvamento em arquivos...
|
Nunca vi um grande servidor alйm de um br ai que ainda tem salvamento em ini, mas existes mitos e lendas que dizem que ele vai passar pra banco de dados pq nй nй.
Quote:
Originally Posted by F1N4L
Jб viu algo que outro alguйm jб fez e tentou fazer o mesmo sу pra aprender?
Sem dъvida nгo troco banco de dados por arquivos de texto, porйm em servidores de grande porte, eles com certeza mesclam BD com INI para nгo sobrecarregar o BD.
Eu desenvolvi essa include pelo simples motivo de aprender a fazer uma.
Essa include, para mim, tem o mesmo significado do dcmd. Algo a que aprender e se aprofundar.
|
Sim jб vi algo que outro alguйm jб fez e tentei fazer sу para aprender.
Й vocк estб certo sobre o bagui de ter criado sу pelo fato de querer aprender, mas tipo criar algo que digamos '' seja ruim '' na minha humilde opiniгo nгo vale a pena, porque vocк sу vai estб perdendo tempo criando algo inъtil saka sendo que esse tempo vocк poderia estб gastando fazendo algo '' surpreendente '' ou sla, mas de qualquer forma parabйns ai e espero que vocк vб longe em programaзгo, boa sorte.
Re: F_INI By F1N4L -
F1N4L - 05.05.2016
Quote:
Originally Posted by LockedLucas
Sim jб vi algo que outro alguйm jб fez e tentei fazer sу para aprender.
Й vocк estб certo sobre o bagui de ter criado sу pelo fato de querer aprender, mas tipo criar algo que digamos '' seja ruim '' na minha humilde opiniгo nгo vale a pena, porque vocк sу vai estб perdendo tempo criando algo inъtil saka sendo que esse tempo vocк poderia estб gastando fazendo algo '' surpreendente '' ou sla, mas de qualquer forma parabйns ai e espero que vocк vб longe em programaзгo, boa sorte.
|
Opiniгo й opiniгo, nгo preciso de justificativas, cada um tem a sua e ponto!
Muito obrigado mesmo pelo apoio, desejo o mesmo para vc! XD
Mesmo eu criando isso e sabendo que ngm vб utilizar, pra mim й um passo a frente com relaзгo a programaзгo.
Re: F_INI By F1N4L -
zSuYaNw - 05.05.2016
Manipulaзгo de arquivos com PAWN sу precisas de duas funзгo, Ler e Escrever.
Vocк estб tendo vбrias funзхes que iriam se resumir nessas duas funзхes
pawn Код:
stock F_AddInt(file[], line[], Key[])
return strval(F_WriteStr(file, line, key));
mesmo assim, bom trabalho.
Re: F_INI By F1N4L -
3War - 05.05.2016
Quote:
Originally Posted by LockedLucas
Nunca vi um grande servidor alйm de um br ai que ainda tem salvamento em ini, mas existes mitos e lendas que dizem que ele vai passar pra banco de dados pq nй nй.
|
Anda vendo muitos arquivos dos servidores parceiro kk.Normalmente hoje em dia estгo fazendo mesclagem entre BD e INI como o f1n4l disse.Eu mesmo estou fazendo isso.
Alias estou nesse momento trocando a parte de dini do meu servidor pela include do f1n4l.Achei mais interessante kkk
Quote:
Originally Posted by zSuYaNw
Manipulaзгo de arquivos com PAWN sу precisas de duas funзгo, Ler e Escrever.
Vocк estб tendo vбrias funзхes que iriam se resumir nessas duas funзхes
pawn Код:
stock F_AddInt(file[], line[], Key[]) return strval(F_WriteStr(file, line, key));
mesmo assim, bom trabalho.
|
com esse seu comentario podem deletar todas includes de manipulaзгo agora kkkkk
Re: F_INI By F1N4L -
LockedLucas - 05.05.2016
Quote:
Originally Posted by 3War
Anda vendo muitos arquivos dos servidores parceiro kk.Normalmente hoje em dia estгo fazendo mesclagem entre BD e INI como o f1n4l disse.Eu mesmo estou fazendo isso.
|
Nгo й que eu esteja vendo, mas jб joguei nos maiores servidores que eu conheзo br, que no caso sгo 3, cvr,tsaa,citzen.
Desses ai sу o cvr e o tsaa sгo em banco de dados e o citzen parece que eles iram passa pra mysql...