03.06.2012, 04:49
Bien, pues leyendo el post del plugin Sscanf de ******, me doy cuenta que existe la posibilidad de asginar parametros a los componentes de un enumerador.
Bien, el ejemplo que da ****** es el siguiente:
Bien, yo quise implementar esto para leer los parбmetros desde un Archivo X y asignarlos al enumerador.
El problema esta en que los parбmetros escritos dentro del archivo, estan separados por '|', por lo tanto no asigna los parбmetros a las variables del enumerador.
Aquн esta como lo hice yo...
їAlguna idea sobre como lograr que funcione y asigne los parametros correctamente?
Bien, el ejemplo que da ****** es el siguiente:
pawn Код:
enum E_DATA
{
E_DATE_C, Float:E_DATA_X, E_DATA_NAME[32], E_DATA_Z
}
main
{
new var[E_DATA];
sscanf("1 12.0 Bob c", "e<ifs[32]c>", var);
}
El problema esta en que los parбmetros escritos dentro del archivo, estan separados por '|', por lo tanto no asigna los parбmetros a las variables del enumerador.
Aquн esta como lo hice yo...
pawn Код:
enum Enumerador
{
EsInteger,
EsString[25],
Float:EsFloat
}
new Info[Numero][Enumerador];
forward LeerArchivo();
public LeerArchivo()
{
new Data[256], Hash = 1, File: File = fopen("Archivo.cfg", io_read);
if(File)
{
do
{
new ASD[Enumerador];
fread(File, Data);
sscanf(Data, "p<|>e<is[25]f>", ASD);
printf("Integer:[%i], String:[%s], Float:[%f]", Info[Hash][EsInteger], Info[Hash][EsString], Info[Hash][EsFloat]);
}
while(Hash < Max_Var);
fclose(File);
}
}
//El Archivo esta asн: 1|String|123.123
//Y lo que imprime en la consola es asн: Integer:[0], String:[], Float:[0.00000]