[Ajuda] Getar .ini em pastas.
#1

Gostaria de ajuda em como criar um comando que getasse os .ini de uma pasta.
Exemplo:

Nome_da_Pasta/
sexo.ini
sexo2.ini


Checaria se existe ARQUIVOS nessa pasta, e getaria TODOS os arquivos dela..

Alguйm sabe se й possнvel eu fazer isso e como ??
Reply
#2

Olб Ricop522.

Abaixo um simples exemplo de como fazer isto:
Caso queira saber mais sobre isso, veja no link abaixo, possui um sistema de login - registro - salvamento e carregamento de dados desta maneira que vocк estб dizendo.
[FBM] Falcon's Base para Modes


pawn Код:
new arquivo[60];
new nome[24];

GetPlayerName(playerid, nome, 24);
format(arquivo, 60, "/Contas/%s.ini", nome);
if(!dini_Exists(arquivo)) dini_Create(arquivo);
dini_IntSet(arquivo, "Dinheiro", GetPlayerMoney(playerid));
Atenciosamente,
Falcon.
Reply
#3

Obrigado pela reposta.
Porйm, nгo й esse o objetivo do que eu pedi,
Eu gostaria de saber o seguinte, й getar o nome dos arquivos .ini sem saber o que tem lб dentro.
Ex:
Pastas/

Se tiver qualquer coisa .ini lб dentro, eu gostaria de getar.
Ty
Reply
#4

Sua resposta estб aqui amigo.

dini_Get ( para getar algo do .ini )

dini_Set ( para setar alguem no .ini )

dini_Int ( para carregar .ini )

dini_IntSet ( para salvar .ini )

Espero ter ajudado.

By: Miqueias
Reply
#5

Eu entendi sua pergunta .


A resposta para ela vai depender se vocк sabe o nome dos arquivos que podem ficar na pasta ou nгo .


Por exemplo, se vocк sabe que uma pasta Exemplo sу pode conter os arquivos de nome sexo.ini e sexo2.ini, entгo basta fazer:

pawn Код:
stock PastaCheia(pasta[])
{
    if(!strcmp(pasta,"Exemplo",true))
    {
        if(fexist("/Exemplo/sexo.ini") || fexist("/Exemplo/sexo2.ini"))
        {
            return 1;
        }
    }
    return 0;
}

Agora, se vocк nгo sabe o que hб na pasta (muito comun em caso de querer checar uma pasta onde guardam dados de jogadores), entгo sua saнda serб a funзгo abaixo, mas...a otimizaзгo do funcionamento dela vai depender da sua sorte, pois, deve-se checar todos os possнveis nomes de arquivos =X.


pawn Код:
stock PastaCheia(pasta[])
{
    #define Possiveis_Palavras  50 //Troque 50 pela quantidade de possнveis nomes de arquivos
    new string[128];
    for(new x = 0; x <= Possiveis_Palavras; x++)
    {
        format(string, sizeof(string), "/%s/%s%s%s%s%s%s%s%s%s%s",pasta, random(127), random(127)
        ,random(127), random(127), random(127), random(127), random(127), random(127), random(127), random(127)
        ,random(127), random(127), random(127), random(127), random(127), random(127), random(127), random(127)
        ,random(127), random(127), random(127), random(127));
        if(fexist(string))
        {
            return 1;
        }
    }
    return 0;
}

E para "Getar" o nome dos arquivos, poderia-se usar format ou fazer a igualaзгo de variбveis, claro, envolvendo arrays de 5 milhхes de cells por exemplo, pois sгo incontбveis as possibilidades de nomes de arquivos xD.



Fora essa nгo hб outra maneira, a nгo ser que a cada jogador que logar vocк guarde o nome dele dentro de um ъnico arquivo e use os dados desse arquivo para detectar o nome dele, mas nesse caso vocк jб saberia que o arquivo dele existe .


Tambйm hб este plugin, que, se eu me lembro bem, tem algumas funзхes que sу funcionam com pastas vazias, tente uma adaptaзгo em relaзгo б isso : https://sampforum.blast.hk/showthread.php?tid=92246


Espero ter ajudado .
Reply
#6

Isso ai rjjj, entendeu.

Valeu .
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)