Funcion con ilimitados args
#1

Bueno holi, estoy haciendo una funcion que tiene una cantidad indeterminada de argumentos.

El problema es este:

їcomo hago para determinar el TIPO de argumento? Osea, mi problema es que yo tengo que tomar strings y enteros

IsNumeric no me sirve porque yo paso argumentos de una como enteros

Un ejemplo de lo que quiero hacer:

UpdateDBPlayerStat(playerid,"money",InfoJ[playerid][pDinero],"sexo",InfoJ[playerid][pSex]);


Mis preguntas son:
їEs posible hacer esto?
En caso contrario їCual es la mejor opcion?

їMejor pongo un array de strings que tome cada columna de la tabla separada por un espacio o una coma y con sscanf deformateo el string para tomar los nombres de cada columna a updatear y que los args indeterminados sean puros integers?
Reply
#2

Creo que lo mбs sencillo es que uses dos funciones distintas, una de enteros y la otra de strings.
Reply
#3

En este tuto, hay una parte donde se explica como crear funciones con parametros indefinidos. te ayudaran funciones como numargs, getarg. es algo avanzado. tambien dependiendo de lo q vas a hacer podes crearla como una macro.
Reply
#4

Quote:
Originally Posted by the_chaoz
Посмотреть сообщение
En este tuto, hay una parte donde se explica como crear funciones con parametros indefinidos. te ayudaran funciones como numargs, getarg. es algo avanzado. tambien dependiendo de lo q vas a hacer podes crearla como una macro.
Sin ofender, no es avanzado ni ahi, es programacion comun y corriente, solo que si sabes nada mas PAWN tal vez te resulte mas dificil, ademas de que tu explicacion esta muy incompleta y es demasiado breve en cuanto a los alcanzes de las funciones setarg getarg

Mi problema no esta en la funcion per se, sino en el algoritmo para diferenciar strings de numeros, y poder ordenarlos argumentos en el orden que me plazca, por ejemplo, que sea valido hacer esto

UpdateStat(playerid, "money","houseid",1,2);

tanto como hacer esto:

UpdateStat(playerid, "money",1,"houseid",2);
Reply
#5

depende para quien puede ser avanzado. no viene al caso.
para hacer lo que decis podes chequear si el 1 valor de un argumento es o no una ' " '. solo una idea.
Reply
#6

Quote:
Originally Posted by the_chaoz
Посмотреть сообщение
depende para quien puede ser avanzado. no viene al caso.
para hacer lo que decis podes chequear si el 1 valor de un argumento es o no una ' " '. solo una idea.
el problema es que un caracter es un integer internamente, podria buscar arrays y variables normales para diferenciarlos, pasa que estaba buscando algo que sea menos "negro" por asi decirlo jajaja

Igual dejen no importa, cualquier cosita le mando un MP a ******, ya se como seguir, gracias (:
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)