SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 12 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 12 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

    [Tutorial] File Functions [PT-BR]

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11378
    Moedas : 1031967
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    [Tutorial] File Functions [PT-BR] Empty [Tutorial] File Functions [PT-BR]

    Mensagem por Weslley_Script Qua 5 Abr 2023 - 12:22

    Esse tutorial й voltado para quem quer aprender ou tem curiosidade de mexer com arquivos atravйs da linguagem Pawn, deixando claro que irei me basear nas principais funзхes, аs quais sгo indispensбveis.

    Eu vou trabalhar a maior parte do Tutorial com exemplos, pois a intenзгo й TIRAR dъvidas e nгo AUMENTБ-LAS!

    Primeiramente, vamos verificar se um arquivo existe?
    fexist:
    * Verifica se um determinado existe.

    Com diretуrio padrгo - scriptfiles
    Код:

    Código:
    if(fexist("ForumSamp.ini"))


    ForumSamp = Nome do arquivo.
    .ini = extenзгo de arquivo.

    Com diretуrio padrгo - scriptfiles:
    Код:

    Código:
    if(fexist("ForumSamp.ini"))
    {
     // Caso exista, imprime no console a msg abaixo
     print("Arquivo existe");
    }
    else
    {
     // Caso NГO exista, imprime no console a msg abaixo
     print("Arquivo nгo existe");
    }


    Com outro diretуrio:
    Код:

    Código:
    if(fexist("ContasDoForum/ForumSamp.ini"))


    ContasDoForum = Pasta.
    ForumSamp = Nome do arquivo.
    .ini = Extenзгo de arquivo.

    OBS: Lembrando que essa funзгo nгo faz leitura de caracteres especiais, portanto, nгo insira acentos em arquivos!

    fopen:
    * Abre determinado arquivo com ou sem parвmetros adicionais [MODO: ler / escrever / adicionar / ler & escrever].

    Para criar e definir um valor а uma variбvel de arquivos, cuja funзгo й abrir um arquivo, utiliza-se:
    Код:

    Código:
    new File:Variavel;


    io_read: [MODO LER]
    Deixa o arquivo especificado suscetнvel а leitura.
    Код:

    Código:
    fopen("ForumSamp.ini", io_read);


    io_write: [MODO ESCREVER]
    Deixa o arquivo especificado suscetнvel а escrita.
    Код:

    Código:
    fopen("ForumSamp.ini", io_write);


    io_append: [MODO ADICIONAR]
    Deixa o arquivo especificado suscetнvel а escrita.
    Код:

    Código:
    fopen("ForumSamp.ini", io_append);


    io_readwrite: [MODO LER & ESCREVER]
    Deixa o arquivo especificado suscetнvel а leitura e escrita.
    Код:

    Código:
    fopen("ForumSamp.ini", io_readwrite);


    Observaзхes dessa funзгo:
    Nгo ocasiona crash independente da existкncia de um determinado arquivo, simplesmente abre e prepara determinado arquivo para o modo especificado.
    Os crash's resultantes da existкncia de um determinado arquivo estгo relacionados аs funзхes derivadas dos modos: ler, escrever, adicionar e ler & escrever.

    fclose:
    * Fecha determinado arquivo.

    OBS: Lembre-se sempre de fechar o arquivo apуs ter concluнdo alguma aзгo com o mesmo.

    Nesse exemplo abaixo deixei claro que o que deve ser fechado й a funзгo que abriu o arquivo (fopen).
    Код:

    Código:
    fclose(fopen("ForumSamp.ini"));


    Lendo um arquivo:
    * Essa funзгo й exclusiva para leitura do arquivo e nгo gera qualquer alteraзгo no mesmo.

    Exemplo №: Fiz um loop de 50 voltas, ou seja, vai ser lido 50 linhas em um determinado arquivo e serб impresso no console cada linha.

    OBS: Se o arquivo nгo existir o servidor tomarб crash!

    Utilizamos um loop para getar os valores de todas as linhas!
    Код:

    Código:
    new
      File:Arquivo, //Definimos a Variбvel Arquivo
     String[100] // Definimos a Variбvel String e nela serб inserido cada linha e deverб conter, no mбximo, 100 caracteres por linha.



    Código:
    ;

    Arquivo = fopen("ForumSamp.ini", io_read); // Abrimos o arquivo e definimos seu modo para READ [ LER ]

    for(new i = 0; i < 50; i ++)
    {
     fread(Arquivo, String);
     printf(String);
    }




    Código:
    fclose(Arquivo); // LEMBRE-SE DE FECHAR O ARQUIVO


    Exemplo І: Fiz um loop que darб a quantia de voltas NECESSБRIAS, conforme a quantidade de linhas sem precisar especificar o nъmero de voltas.
    Код:

    Código:
    new
      File:Arquivo, //Definimos a Variбvel Arquivo
     String[100], // Definimos a Variбvel String e nela serб inserido cada linha e deverб conter, no mбximo, 100 caracteres por linha.
    ;

    Arquivo = fopen("ForumSamp.ini", io_read); // Abrimos o arquivo e definimos seu modo para READ [ LER ]

    for(new i = 0; i < fread(Arquivo, String); i ++)
    {
     printf(String);
    }




    Código:
    fclose(Arquivo); // LEMBRE-SE DE FECHAR O ARQUIVO


    Escrevendo em um arquivo:
    * Esta funзгo apaga quaisquer informaзхes contidas no arquivo e substitui o mesmo com as novas informaзхes. (Quebra de linha nгo funciona nesse caso)

    OBS: Diferente de io_read, o arquivo й criado se ainda nгo existir, PORЙM, se o arquivo for criado em um diretуrio diferente de scriptfiles e o mesmo nгo existir, o servidor tomarб crash.

    OBS І: Independente se adicionar os parвmetros para quebra de linha nгo funcionarб, pois, o arquivo terб suas informaзхes anteriores resetadas e serб adicionado novas informaзхes no mesmo.
    Код:

    Código:
    new
     File:Arquivo //Definimos a Variбvel Arquivo
    ;

    Arquivo = fopen("ForumSamp.ini", io_write); // Abrimos o arquivo e definimos seu modo para WRITE [ ESCREVER ]

    fwrite(Arquivo, "Hello World!!!"); // Mensagem que serб escrita em arquivo

    fclose(Arquivo); // LEMBRE-SE DE FECHAR O ARQUIVO


    Adicionando em um arquivo:
    * Essa funзгo nгo altera os dados anteriores do arquivo, somente adiciona mais informaзхes dentro do mesmo.

    OBS: Diferente de io_read, o arquivo й criado se ainda nгo existir, PORЙM, se o arquivo for criado em um diretуrio diferente de scriptfiles e o mesmo nгo existir, o servidor tomarб crash, exatamente igual o caso de io_write.

    \r\n = Quebra de linha em arquivos de texto.
    Код:

    Código:
    new
      File:Arquivo //Definimos a Variбvel Arquivo
    ;

    Arquivo = fopen("ForumSamp.ini", io_append); // Abrimos o arquivo e definimos seu modo para APPEND [ ADICIONAR ]

    fwrite(Arquivo, "Hello World!!!\r\n"); // Mensagem que serб escrita em arquivo, juntamente com a quebra de linha.

    fclose(Arquivo); // LEMBRE-SE DE FECHAR O ARQUIVO


    Lendo e Escrevendo em um arquivo:
    * Essa funзгo lк e escreve dentro de um arquivo. Funзгo io_write io_read io_append.

    Semelhanзa com io_read: Faz a leitura do arquivo.
    Semelhanзa com io_write: Escreve no arquivo.
    Semelhanзa com io_append: Escrever informaзхes dentro do arquivo e (opcionalmente) mantem os dados anteriores.

    Precisamos criar um loop, pois esse loop farб a leitura de um arquivo e respectivamente irб escrever dentro do mesmo, assim como io_append.
    Код:

    Código:
    new
      File:Arquivo, //Definimos a Variбvel Arquivo
     String[100] // Definimos a Variбvel String e nela serб inserido cada linha e deverб conter, no mбximo, 100 caracteres por linha.
    ;

    Arquivo = fopen("ForumSamp.ini", io_readwrite); // Abrimos o arquivo e definimos seu modo para READWRITE [ LER & ESCREVER ]

    for(new i = 0; i < 50; i ++)
    {
     fread(Arquivo, String);
     printf(String);
    }

    fwrite(Arquivo, "Hello World!!!\r\n"); // Msg com quebra de linha

    fclose(Arquivo); // LEMBRE-SE DE FECHAR O ARQUIVO


    Alternando entre os modos:
    Podemos utilizar mais modos em uma mesma funзгo:
    Код:

    Código:
    new
     File:Arquivo, //Definimos a Variбvel Arquivo.
     String[100] // Definimos a Variбvel String e nela serб inserido cada linha e deverб conter, no mбximo, 100 caracteres por linha.
    ;

    Arquivo = fopen("ForumSamp.ini", io_append); // Abrimos o arquivo e definimos seu modo para APPEND [ ADICIONAR ]
    fwrite(Arquivo, "Adicionar\r\n");

    fclose(Arquivo); // LEMBRE-SE DE FECHAR O ARQUIVO

    Arquivo = fopen("ForumSamp.ini", io_read); // Abrimos o arquivo e definimos seu modo para READ [ LER ]

    for(new i = 0; i < 50; i ++)
    {
     fread(Arquivo, String);
     printf(String);
    }




    Código:
    fclose(Arquivo); // LEMBRE-SE DE FECHAR O ARQUIVO


    Vк-se que abri o arquivo e apуs a execuзгo da minha funзгo, o arquivo foi fechado. Utilizei fclose 2x apуs abrir o arquivo tambйm 2x.


    P.S: Se alguйm quiser complementar o tutorial, fique а vontade.


    Creditos: Final



    [Tutorial] File Functions [PT-BR] D07Xwqb
    [Tutorial] File Functions [PT-BR] Yjab9HN

      Data/hora atual: Sáb 27 Abr 2024 - 23:51