30.09.2013, 00:05
Como eu nunca fiz uma include .ini na vida, estou estudando a Dini.
Porйm, eu estou tentando fazer um SetString e compila tudo certo, porйm os meus debugs indicam que para no While.
Alguйm sabe resolver ? Eu irei postar esta include aqui para vocкs!
Obrigado.
Porйm, eu estou tentando fazer um SetString e compila tudo certo, porйm os meus debugs indicam que para no While.
Alguйm sabe resolver ? Eu irei postar esta include aqui para vocкs!
Obrigado.
pawn Код:
stock bCini_SetarTexto(arquivo[],linha[],valor[])
{
if(strlen(linha) == 0 || strlen(linha)+strlen(valor)+2 > 128)
{
return 0;
}
new File:File2,File:File3; new bool:Set = true; File2 = fopen(arquivo,io_read);
format(bCiniFiles,sizeof(bCiniFiles),"%s",arquivo);
fremove(bCiniFiles);
if(!File2)
{
return 0;
}
while(fread(File2,bCiniFiles))
{
if(!Set && bCiniFiles[strlen(linha)] == '=' && !strcmp(bCiniFiles,linha,true,strlen(linha)))
{
format(bCiniFiles,sizeof(bCiniFiles),"%s=%s",linha,valor); Set = true;
}
else
{
NovaLinha(bCiniFiles);
}
}
fwrite(File3,bCiniFiles);
fwrite(File3,"\r\n");
if(!Set)
{
format(bCiniFiles,sizeof(bCiniFiles),"%s=%s",linha,valor);
fwrite(File3,bCiniFiles);
fwrite(File3,"\r\n");
}
fclose(File2);
fclose(File3);
return 0;
}
stock NovaLinha(linha[])
{
if(linha[0] == 0)
{
return;
}
if(linha[strlen(linha)-1] == '\n' || linha[strlen(linha)-1] == '\r')
{
linha[strlen(linha)-1] = 0;
if(linha[0] == 0)
{
return;
}
if(linha[strlen(linha)-2] == '\n' || linha[strlen(linha)-2] == '\r')
{
linha[strlen(linha)-2] = 0;
}
}
}