SA-MP Forums Archive
[Ajuda] Problemas de formataзгo de string - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Problemas de formataзгo de string (/showthread.php?tid=610274)



Problemas de formataзгo de string - pWesley - 22.06.2016

To com um problema na formataзгo de string, como podem ver no link da imagem: http://i.imgur.com/pCjrbwH.jpg

Eu vou deixar o cуdigo aqui para analisarem.
PHP Code:
new gArchive[64], sString[64], lString[256];
format(gArchive, 64, "/Playlists/%s.cfg", pName[playerid]);
if(
DOF2_FileExists(gArchive))
{
    for(new 
i = 0; i < MAX_SONGS; ++i)
    {
        
format(sString, 64, "Song%d", i);
        
format(SongData[playerid][i], 64, DOF2_GetString(gArchive, sString));
        
format(lString, 256, "Link%d", i);
        
format(LinkData[playerid][i], 256, DOF2_GetString(gArchive, lString));
    }
} 
PHP Code:
MEGAString[0] = EOS;
new 
rString[64];
strcat(MEGAString, "Nome da mъsica\n");
for(new 
i; i < MAX_SONGS; ++i)
{
    
format(rString, 64, "%s\n", SongData[playerid][i]);
    
strcat(MEGAString, rString);
}
ShowPlayerDialog(playerid, DIALOGO_RADIO+3, DIALOG_STYLE_TABLIST_HEADERS, "Sua playlist", MEGAString, "Selecionar", "Voltar"); 



Re: Problemas de formataзгo de string - zSuYaNw - 22.06.2016

Pela lуgica era para funciona, teste:

PHP Code:
        new rString[64];
    
format((MEGAString[0] = '\0', MEGAString), sizeof(MEGAString), "Nome da mъsica\n");
    for(new 
i; i < MAX_SONGS; ++i)
    {
        
format(rString, 64, "%s\n", SongData[playerid][i]);
        
strcat(MEGAString, rString);
    }
    
ShowPlayerDialog(playerid, DIALOGO_RADIO+3, DIALOG_STYLE_TABLIST_HEADERS, "Sua playlist", MEGAString, "Selecionar", "Voltar"); 



Re: Problemas de formataзгo de string - pWesley - 22.06.2016

Continua a mesma coisa.


Re: Problemas de formataзгo de string - zSuYaNw - 22.06.2016

Algo errado nгo estб certo, testei aqui com apenas a janela do console e funcionou. Como vocк estб armazenando a string SongData?

PHP Code:

#include a_samp

// DEBUG
#define MAX_SONGS 5
#define playerid 0
new MEGAString[256];
new 
SongData[MAX_PLAYERS][MAX_SONGS][32];
//

main(){
        


    
//
    
SongData[playerid][0] = "Hello";
    
SongData[playerid][1] = "SAMP";
    
SongData[playerid][2] = "FORUM";
    
SongData[playerid][3] = "BRASIL";
    
SongData[playerid][4] = "EUA";
    
//

    
new rString[64];
    
format((MEGAString[0] = '\0', MEGAString), sizeof(MEGAString), "Nome da mъsica\n");


    for(new 
i; i < MAX_SONGS; ++i)
    {
        
format(rString, 64, "%s\n", SongData[playerid][i]);
        
strcat(MEGAString, rString);
    } 

    
printf(MEGAString);


    
format((MEGAString[0] = '\0', MEGAString), sizeof(MEGAString), "Nome da mъsica\n");
    for(new 
i; i < MAX_SONGS; ++i)
    {
        
format(rString, 64, "%s\n", SongData[playerid][i]);
        
strcat(MEGAString, rString);
    } 

    
printf(MEGAString);

    return 
1;
} 



Re: Problemas de formataзгo de string - pWesley - 22.06.2016

To armazenando dessa forma:
PHP Code:
new gArchive[64], sString[64], lString[256];
format(gArchive, 64, "/Playlists/%s.cfg", pName[playerid]);
if(
DOF2_FileExists(gArchive))
{
    for(new 
i = 0; i < MAX_SONGS; ++i)
    {
        
format(sString, 64, "Song%d", i);
        
format(SongData[playerid][i], 64, DOF2_GetString(gArchive, sString));
        
format(lString, 256, "Link%d", i);
        
format(LinkData[playerid][i], 256, DOF2_GetString(gArchive, lString));
    }
} 
@TУPICO
Resolvi o problema, era na variбvel que eu criei. Faltou definir o tamanho da string.


Re: Problemas de formataзгo de string - zSuYaNw - 22.06.2016

Quote:
Originally Posted by pWesley
View Post
To armazenando dessa forma:
PHP Code:
new gArchive[64], sString[64], lString[256];
format(gArchive, 64, "/Playlists/%s.cfg", pName[playerid]);
if(
DOF2_FileExists(gArchive))
{
    for(new 
i = 0; i < MAX_SONGS; ++i)
    {
        
format(sString, 64, "Song%d", i);
        
format(SongData[playerid][i], 64, DOF2_GetString(gArchive, sString));
        
format(lString, 256, "Link%d", i);
        
format(LinkData[playerid][i], 256, DOF2_GetString(gArchive, lString));
    }
} 
@TУPICO
Resolvi o problema, era na variбvel que eu criei. Faltou definir o tamanho da string.
Como eu havia suspeitado, recriei seu codigo em forma de debug e funcionou perfeitamente!

Bons estudos hahaha