[Include] F_INI By F1N4L
#1

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!
Reply
#2

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...
Reply
#3

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
Reply
#4

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.
Reply
#5

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...
Reply
#6

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.
Reply
#7

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.
Reply
#8

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.
Reply
#9

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
Reply
#10

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...
Reply


Forum Jump:


Users browsing this thread: 3 Guest(s)