[Ajuda] Problemas de formataзгo de string
#1

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"); 
Reply
#2

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"); 
Reply
#3

Continua a mesma coisa.
Reply
#4

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;
} 
Reply
#5

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.
Reply
#6

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
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)