problema con unas variables ...
#1

Buenas a todos,

tengo unas variables tipo string con datos, con el mismo nombre solo que el ultimo caracteres son nъmeros, ejemplo:

Код:
new lista_variable_0[][];
new lista_variable_1[][];
new lista_variable_2[][];
/// etc ...
Код:
for (new p=0; p<sizeof lista_variable_0; p++){ // acб obtengo la cantidad de arrays
	format(s, sizeof s, "%s",s,lista_variable_0[p]); //acб los datos del array
hasta ahi esta todo bien , pero lo que no se como podrнa hacer es cambiar los nombres de las variables directamente en estas solas lineas, osea los nъmeros corresponden a un listitem.

intente de la siguiente forma pero me tira error que no estoy utilizando las variable,

Код:
new data[20];
format(data, sizeof data, "lista_variable_%d", listitem); //acб cambio el nombre de la variable

for (new p=0; p<sizeof data; p++){ // aca obtengo la cantidad de arrays
	format(s, sizeof s, "%s",s,data[p]); //aca los datos del array
ojala me entiendan y me puedan ayudar.
saludos.


PD: +30 rep. para la respuesta mas rбpida.
Reply
#2

I believe you cannot.
Reply
#3

No entiendo muy bien que quieres hacer, pero quizбs esto te sirva (creo que es lo que quieres hacer)

PHP код:
new lista_variable[10][10][128];
    
format(lista_variable[0][0], 128"0, 0, Texto: dialogo 0, opcion 0");
    print(
lista_variable[0][0]);
    
    
format(lista_variable[0][1], 128"0, 1, Texto: dialogo 0, opcion 1");
    print(
lista_variable[0][1]);
    
    
format(lista_variable[1][3], 128"1, 3, Texto: dialogo 1, opcion 3");
    print(
lista_variable[1][3]); 
Reply
#4

Quote:
Originally Posted by wintronic
Посмотреть сообщение
No entiendo muy bien que quieres hacer, pero quizбs esto te sirva (creo que es lo que quieres hacer)

PHP код:
new lista_variable[10][10][128];
    
format(lista_variable[0][0], 128"0, 0, Texto: dialogo 0, opcion 0");
    print(
lista_variable[0][0]);
    
    
format(lista_variable[0][1], 128"0, 1, Texto: dialogo 0, opcion 1");
    print(
lista_variable[0][1]);
    
    
format(lista_variable[1][3], 128"1, 3, Texto: dialogo 1, opcion 3");
    print(
lista_variable[1][3]); 
no es lo que quiero, yo quiero hacerlo todo en una linea.
Reply
#5

todo el que
Reply
#6

Supongo que quieres hacer algo tal que asн:

pawn Код:
main()
{
    new lista_variable[3][2][128];

    for ( new i = 0; i < sizeof lista_variable; i++ )
    {
        format(lista_variable[i][0], sizeof lista_variable[][], "Muestra %i", i);
        format(lista_variable[i][1], sizeof lista_variable[][], "Muestra %i", i);

        printf("%s | %s", lista_variable[i][0], lista_variable[i][1]);
    }
}
Consola:
Код:
Muestra 0 | Muestra 0
Muestra 1 | Muestra 1
Muestra 2 | Muestra 2
Reply
#7

Una vez lo intente pero de ninguna manera fue posible.
Reply
#8

Nunca lo he intentado pero no creo que pueda hacer eso. Hazlo de 3 dimensiones y en vez de usar el nъmero de listitem en el nombre de la variable lo usas en el primer slot para identificar cuбl quieres usar.

Код:
variable[listitem][][]
Reply
#9

ya lo se que lo mas fбcil seria arrays dimensional , pero ....

lo que quiero hacer es lo siguiente, las variables contienen nombres y cada variable sera para un dialog por eso es que cree las variables por separado por que necesito saber el size de cada variable para los dialog y no crear listitem de mas., por eso el bucle del ejemplo principal.

no se me ocurre como lo podrнa hacer .

PD: el gran problema es solo que necesito obtener el size de todas las variables mediante un solo bucle , ese es todo el problema.
Reply
#10

Imposible. Los nombres de las variables son solo inteligibles por seres humanos a la hora de editar, no son elementos literales, son solo para distinguirlas unas de otras, pues al compilar, estas se convierten en direcciones de memoria fijadas. Haz el arreglo de tres dimensiones.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)