[Include] [INC] Protioso Gerenciamento de Dados (PGD) 1.3F2 (06/12/09)
#1

Olб pessoal!

Hб um tempo atrбs queria fazer meu prуprio "gerenciamento de dados", pois era meio trabalhoso escrever e fazer leitura de arquivos... Tinha sempre que fazer um new File:tal, str, etc., e isso se repetia em todos meus scripts, jб usei alguns outros includes que faziam estб funзгo mas eu nгo gostava muito. Entгo em meio a esta situaзгo comecei a criar meu include, de inнcio fiz as funзхes que precisava usando o "formato" de arquivos padrгo (a partir de funзхes file.inc), mas depois de um tempo usando decidi adicionar umas funзхes de SQLite (a partir de funзхes a_sampdb.inc).
Depois de um bom tempo usando o include e ter passado para alguns amigos para testarem, decidi agregar mais algumas funзхes de SQLite.
No final de tudo acho que ficou um bom trabalho, desde funзхes simples atй funзхes complexas, tornando um script de uso para todos os gostos, e dentre uma das caracterнsticas dele, uma eu acho essencial que й, no formato file, seu modo de salvar as chaves, que garante mais seguranзa tornando impossнvel a criaзгo de duas chaves iguais (via PGD).

PGD й ideal para salvar e carregar os mais diversos dados! Desde registros de jogadores atй sistemas mais complexos.

Quote:
Salvando um valor inteiro (integer) de uma variбvel qualquer usando PGD:

pawn Code:
new VariavelQualquer; // No inнcio do script
public OnGameModeExit()
{
   VariavelQualquer = 2;
   pgd_EscreverInt("Meu arquivo.txt", "MeuValor", ":", VariavelQualquer);
   /* Obs.: Prefixo й o caractere que fica entre a chave e o valor neste caso no arquivo ficarб
   escrito assim: 'MeuValor':2. Note que 2 й o valor de 'VariavelQualquer' */

}
Carregando um valor inteiro (integer) para uma variбvel qualquer:

pawn Code:
// No inнcio do script jб criamos a variбvel 'VariavelQualquer', portando nгo adicionarei nesta parte (acompanhe o exemplo)
public OnGameModeInit()
{
   VariavelQualquer = pgd_CarregarInt("Meu arquivo.txt", "MeuValor", ":");
   printf("O valor de 'VariavelQualquer' й %d", VariavelQualquer);
}
Lembrando que as funзхes acima sгo apenas EXEMPLOS.


Dъvida frequente:
O que devo colocar em "prefixo"?
R: Como jб dito anteriormente "prefixo й o caractere que fica entre a chave e o valor (...)", entгo vai de SUA ESCOLHA o caractere do prefixo. Pode ser ":", "=", "!", "*"... Enfim... Lembre-se de que й necessбrio usar o MESMO CARACTERE que foi usado para salvar determinado valor em uma CHAVE para carregar o valor dela.
Como no exemplo acima foi usado o prefixo ":" para salvar o valor na chave "MeuValor", entгo para carregar deverб usar o mesmo prefixo: pgd_CarregarInt("Meu arquivo.txt", "MeuValor", ":");
Sendo assim, nгo hб problemas em criar duas chaves com o mesmo nome, desde que tenham PREFIXOS diferentes.
> Exemplo de registro usando PGD (Filterscript feito por [VGS]speliarmos_OC)



Quote:
Funзхes nativas (natives):

- FILE
pgd_CriarArquivo(nome_arquivo[]);
pgd_ApagarArquivo(nome_arquivo[]);
pgd_ArquivoExiste(nome_arquivo[]);
pgd_EscreverStr(arquivo[], chave[], prefixo[2] = ":", valor[]);
pgd_EscreverInt(arquivo[], chave[], prefixo[2] = ":", valor);
pgd_EscreverFloat(arquivo[], chave[], prefixo[2] = ":", Float:valor);
pgd_EscreverBool(arquivo[], chave[], prefixo[2] = ":", bool:valor);
pgd_CarregarStr(arquivo[], chave[], prefixo[2] = ":");
pgd_CarregarInt(arquivo[], chave[], prefixo[2] = ":");
pgd_CarregarBool(arquivo[], chave[], prefixo[2] = ":");
pgd_CarregarFloat(arquivo[], chave[], prefixo[2] = ":");
pgd_ChaveExiste(arquivo[], chave[], prefixo[2] = ":");
pgd_CopiarDados(arquivo_principal[], arquivo_destino[], bool:ad_a = true);
pgd_MudarValor(arquivo[], linha, c_linha_nova[]);
pgd_ApagarChave(arquivo[], chave[], prefixo[2] = ":");
pgd_ApagarLinha(arquivo[], linha);
pgd_EscreverArquivo(arquivo[], linha[], bool:comparar_igual = false);
pgd_RenomearArquivo(nome_antigo[], novo_nome[]);


- SQLite
pgd_SQLCriarDatabase(dbnome[]);
pgd_SQLApagarDatabase(dbnome[]);
pgd_SQLDatabaseExiste(dbnome[]);
pgd_SQLCriarTabela(dbnome[], tabela_nome[], coluna[]);
pgd_SQLLimparTabela(dbnome[], tabela_nome[]);
pgd_SQLVerificarColuna(dbnome[], tabela_nome[], where[]);
pgd_SQLInserirLivre(dbnome[], tabela_nome[], coluna_str[], dados[]);
pgd_SQLInserirStr(dbnome[], tabela_nome[], coluna[], dados[]);
pgd_SQLInserirInt(dbnome[], tabela_nome[], coluna[], dados);
pgd_SQLInserirFloat(dbnome[], tabela_nome[], coluna[], Float:dados);
pgd_SQLInserirBool(dbnome[], tabela_nome[], coluna[], bool:dados);
pgd_SQLEscreverStr(dbnome[], tabela_nome[], coluna[], where[], dados[]);
pgd_SQLEscreverInt(dbnome[], tabela_nome[], coluna[], where[], dados);
pgd_SQLEscreverFloat(dbnome[], tabela_nome[], coluna[], where[], Float:dados);
pgd_SQLEscreverBool(dbnome[], tabela_nome[], coluna[], where[], bool:dados);
pgd_SQLCarregarStr(dbnome[], tabela[], coluna[], where[]);
pgd_SQLCarregarInt(dbnome[], tabela[], coluna[], where[]);
pgd_SQLCarregarBool(dbnome[], tabela[], coluna[], where[]);
pgd_SQLCarregarFloat(dbnome[], tabela[], coluna[], where[]);
pgd_SQLValorExiste(dbnome[], tabela[], coluna[], where[]);
pgd_SQLApagarDados(dbnome[], tabela[], where[]);

Atenзгo! Para usar o include PGD й necessбrio o include PSF (Protioso String Funзхes) que vocк encontra facilmente AQUI.

Instalaзгo:
1°- Extraia o arquivo compactado na pasta do seu PAWNO;
2°- Escreva #include "PGD" no inнcio de seu script para poder adicionб-lo ao script. Apуs isso, desfrute das funзхes.

Configuraзгo:
Vocк pode configurar o arquivo PGD_USER_DEF.inc com valores que vocк preferir, lembrando que esses valores sгo focados para o uso em FILE. Nгo hб configuraзхes para SQLite nesta versгo pois nгo notei a necessidade.

Informaзгo e ajuda:
Se vocк tem dъvida em alguma funзгo, procure-a no arquivo PGD Manual.txt que fica dentro da pasta include/PGD. Lб todas as funзхes estгo listadas com uma breve explicaзгo.

> EXTRA: PGD Conversor (dini para PGD).

Download (PGD 1.3F2 - 4 de dezembro 2009):


(Nova versгo mais бgil e mais segura)
Atualizaзгo fortemente recomendada.


AVISO: nгo me responsabilizo por scripts obtidos por outras referкncias! Os originais e garantidos sгo apenas no link acima!
Reply
#2

Excelente. =)
Reply
#3

Faiz muito que nгo te vejo postando na comunidade Pawn/C++ Protioso, morreu e ressucitou somente agora ?
Reply
#4

Quote:
Originally Posted by [SD
BurN ]
Faiz muito que nгo te vejo postando na comunidade Pawn/C++ Protioso, morreu e ressucitou somente agora ?
O Jones tinha banido ele, mas depois desbaniu, mas acho que ele nгo quer mais voltar
Reply
#5

Nice!
Reply
#6

Quote:
Originally Posted by Toribio
Quote:
Originally Posted by [SD
BurN ]
Faiz muito que nгo te vejo postando na comunidade Pawn/C++ Protioso, morreu e ressucitou somente agora ?
O Jones tinha banido ele, mas depois desbaniu, mas acho que ele nгo quer mais voltar
Exatamente.
Reply
#7

muito bom :~
Reply
#8

Quote:
Originally Posted by grid
View Post
Excelente. =)
Exelente І
Reply
#9

Alguйm pode postar o link do download da Include?

Abraзos...
Reply
#10

Jб que ressuscitaram ...

Quote:
Originally Posted by John_Race
View Post
Alguйm pode postar o link do download da Include?

Abraзos...
Quote:
Originally Posted by Carl_Thuse
View Post
Tуpico de 2009..
O Download deve estar em decomposiзгo ¬¬
Euri.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)