Bennu Game Development

Foros en Español => Recursos => Topic started by: Erkosone on January 19, 2013, 04:47:47 AM

Title: [CODE] String tokenizer.
Post by: Erkosone on January 19, 2013, 04:47:47 AM
Os dejo unas funciones que sirven a modo genérico para cualquier programa, se trata de un string tokenizer.


La primera función retorna el número de tokens que contiene el string pasado como parámetro, y la segunda devuelve el token solicitado.
Osea, con strTokenCount() podemos saber el número de "palabras" que contiene un string, y con strGetToken() recuperamos la palabra indicada como parámetro.
A disfrutarlas!


Usos comunes:
- Leer una linea de un archivo de texto y separar palabra a palabra la información leida para usarla como uno prefiera..
- En mi caso, leer de un archivo puntos de control con el formato:  x "espacio" y y poder separar facilmente los datos.







// Funciones de apoyo para simular un string tokenizer de java..
//---------------------------------------------------------
function strtokencount( string str_ );
private
   int strSize;
   int tokensSize;
begin
   strSize = strlen( str_ );
   
   if(strSize == 0)
      Return(0);
   end
   
   for(x=0; x<strSize; x++)
      if(str_
Title: Re:[CODE] String tokenizer.
Post by: Erkosone on January 19, 2013, 04:49:09 AM
No sale bien.. lo dejo en un txt.
Title: Re:[CODE] String tokenizer.
Post by: Outlaw on January 19, 2013, 12:50:53 PM
Parece útil la verdad, ¡gracias Erko!
Title: Re:[CODE] String tokenizer.
Post by: Erkosone on January 19, 2013, 04:45:15 PM
Vaya.. no conocía la función SPLIT() de bennuGD, la cosa cambia bastante usandola jeje.. sorry.. este viejo divero no está al día de todo lo que tiene este lenguaje  ::)
Así está bastante mejor.



function strTokenCount( string str_ );
private
   string tokenList[256];
   int tokens;
begin
   tokens = split(" ",str_,&tokenList,256);
   Return(tokens);
end
//--------------------------------------------------------------
function strGetToken(string str_, int tokenNumber_, string * outToken_);
private
   string tokenList[256];
   int tokens;
begin
   tokens = split(" ",str_,&tokenList,256);
   *outToken_ = tokenList[tokenNumber_-1];
   return(0);
end
Title: Re:[CODE] String tokenizer.
Post by: SplinterGU on January 19, 2013, 05:28:32 PM
bueno, iba a sugerir exactamente lo mismo...
Title: Re:[CODE] String tokenizer.
Post by: Erkosone on January 19, 2013, 05:30:45 PM
La he descubierto leyendo la wiki, es bastante útil.
Title: Re:[CODE] String tokenizer.
Post by: DCelso on January 19, 2013, 06:22:23 PM
 ;D. Ya ves yo tb la iba a sugerir . Que sería de mi sin el split para hacer .inis.  :)