Portal SAMP
[Ajuda] Como verificar várias linhas em um arquivo.cfg - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Como verificar várias linhas em um arquivo.cfg (/showthread.php?tid=3538)



Como verificar várias linhas em um arquivo.cfg - Thif - 20/04/2023

Como verificar varias linhas dentro de um arquivo.cfg especifico e alterar apenas uma?

Estou construindo um pequeno sistema de armazenamento de dados utilizando DOF2 (por hora, pretendo mudar para MySQL).
Basicamente, quero verificar linhas dentro do Arquivo.cfg e alterar apenas uma.

Tipo:
Código PHP:
//Linha 1:
Membro1 True
//Linha 2:
Membro2 True
//Linha 3:
Membro3 False
//Linha 4:
Membro4 False 
 Basicamente, verificar a Linha1, 2 e assim por diante até encontrar False (linha que seria editada).

Eu estou utilizando uma verificação utilizando if(...) porem, tive de construir a verificação de linha por linha. Assim ficando não otimizado e deu muito trabalho (mesmo que essa estrutura possa ser utilizada em varias situações dependendo do valor definido pelas variáveis).

Att,
Thif.


RE: Como verificar várias linhas em um arquivo.cfg - Carlos Victor - 20/04/2023

Tenta assim:

Código PHP:
for(new iMAX_MEMBERSi++)
{
    
format(stringsizeof(string), "Membro%d"i);

    if(
DOF2_GetBool(file[], string) == false) {
        
//edita aqui
    
}




RE: Como verificar várias linhas em um arquivo.cfg - Thif - 27/04/2023

(20/04/2023 16:28)Carlos Victor Escreveu: Tenta assim:

Código PHP:
for(new iMAX_MEMBERSi++)
{
    
format(stringsizeof(string), "Membro%d"i);

    if(
DOF2_GetBool(file[], string) == false) {
        
//edita aqui
    
}


Eu ja havia tentado desta maneira, porem ela altera todas as linhas com false (ao inves de uma linha apenas), e, eu nao sei como mudar isto.


RE: Como verificar várias linhas em um arquivo.cfg - xbruno1000x - 27/04/2023

Basta adicionar o break.

Código:
for(new i; i < MAX_MEMBERS; i++)
{
    format(string, sizeof(string), "Membro%d", i);

    if(DOF2_GetBool(file[], string) == false) {
        //edita aqui
       break; //faz com que o looping seja parado e não altere todos os que sejam false.
    }
}