04.03.2013, 15:51
(
Последний раз редактировалось Parka; 23.04.2014 в 11:22.
Причина: Agregue strdel y strfind.
)
Introduccion
El uso de estas 4 funciones son importante en nuestro aprendizaje ya que
son utilizadas en muchas cosas tal que el dominio de estas funciones
es Obligatorio.
Desarrollo
1°- Concepto y Explicacion de Format o Formato
Format: Le da formato a una cadena para incluir variables y otras cadenas en su interior.
format(output[], len, const format[], {Float,_}:...);
output:
la cadena para generar el resultado. (mejor conocido como Array)
len:
La longitud mбxima de salida. (mejor conocido como el tamaсo del Array)
format:
La cadena de formato.
Float:
Nъmero indefinido de argumentos de cualquier etiqueta.
Operador Significado
%b Inserta un numero Binario.
%c Inserta un solo carбcter.
%d Inserta un Numero entero (conjunto).
%f Inserta un Numero Floatante (float).
%i Inserta un entero.
%s Inserta una Cadena(string).
%x Inserta un Numero hexadecimal.
%% Inserta el literal '%'
Ejemplo De Uso:
2°- Concepto y Explicacion de strcmp
Strcmp: Compara dos cadenas para ver si son iguales.
Nota Importante:
- Strcmp consiste en tomar cada uno de los caracteres de una cadena,
y restar su cуdigo ASCII con el cуdigo ASCII del carбcter en la otra serie.
-Asн que digamos que quieres comparar la cadena "hola" con la cadena "hola" (que es lo mismo).
Esto es lo que strcmp harб:
- Toma el primer carбcter ('h') y lo resta con el carбcter de la segunda cadena ('h').
- Si los caracteres son los mismos, el resultado de la sustracciуn serб 0 (null).
- Si las 2 cadenas no son iguales el uno al otro, strcmp devuelve el resultado de las restas.
strcmp(const string1[], const string2[], bool:ignorecase, length);
string1:
La primera cadena a comparar.
string2:
La segunda cadena a comparar.
ignorecase:
Cuando se establece en true, el caso no importa. - HolA es el mismo que Hola.
Cuando se establece en false, el caso importa. - HolA no es lo mismo que Hola.
length es (opcional):
Cuando esta longitud estб definida, los primeros x caracteres serбn comparados
- haciendo "Hola" y "Hola No" con una longitud de 4 a decir que es la misma cadena.
Ejemplo De Uso:
Resultado:
3°- Concepto y Explicacion de Strmid
Strmid: Extrae un rango de caracteres de una cadena.
strmid( dest[], const source[], start, end, maxlength=sizeof dest);
dest:
La cadena para almacenar los caracteres extraнdos.
source:
La cadena de la que se pueden extraer caracteres.
start:
La posiciуn del primer carбcter.
end:
La posiciуn del ultimo carбcter.
maxlength:
La longitud del destino. (Serб el tamaсo de dest por defecto)
Ejemplo De Uso:
Resultado:
4°- Concepto y Explicacion de strcat
strcat: Esta funciуn concatena (une) dos cadenas en la referencia de destino.
strcat(dest[],const source[],maxlength=sizeof string);
dest:
La cadena para almacenar las dos cadenas concatenadas pulg
source:
La cadena de origen.
maxlength:
La longitud mбxima del destino.
Ejemplo De Uso:
Resultado:
5°- Concepto y Explicacion de Strdel
Strdel: Eliminar parte de una cadena.
Strdel(string[], start, end);
string: La parte de la cadena a borrar.
start: La posiciуn del Primer carбcter que desea eliminar.
end: La posiciуn del ъltimo carбcter que desea eliminar.
6°- Concepto y Explicacion de Strfind
Strfind: Bъsqueda de una subcadena en una cadena.
Comentario Parka:
A decir verdad no me habнa topado con esta funciуn
pero ahora que la leo y entiendo me parece muy ъtil
e Importante para muchas de mis ideas.
Strfind(const string[],const sub[],bool:ignorecase=false,pos=0);
string:
La cadena que desea buscar (El Pajar).
sub:
La cadena que desea buscar (La Aguja).
ignorecase (Opcional): Cuando se establece en true, el caso no importa - Hola es el mismo que HoLa. Cuando es false, no es lo mismo.
Position (Opcional): El desplazamiento para iniciar la bъsqueda.
Bueno ese fue todo mi tutorial aquel que no entienda o dude puede preguntar.
El uso de estas 4 funciones son importante en nuestro aprendizaje ya que
son utilizadas en muchas cosas tal que el dominio de estas funciones
es Obligatorio.
Desarrollo
1°- Concepto y Explicacion de Format o Formato
Format: Le da formato a una cadena para incluir variables y otras cadenas en su interior.
format(output[], len, const format[], {Float,_}:...);
output:
la cadena para generar el resultado. (mejor conocido como Array)
len:
La longitud mбxima de salida. (mejor conocido como el tamaсo del Array)
format:
La cadena de formato.
Float:
Nъmero indefinido de argumentos de cualquier etiqueta.
Operador Significado
%b Inserta un numero Binario.
%c Inserta un solo carбcter.
%d Inserta un Numero entero (conjunto).
%f Inserta un Numero Floatante (float).
%i Inserta un entero.
%s Inserta una Cadena(string).
%x Inserta un Numero hexadecimal.
%% Inserta el literal '%'
Ejemplo De Uso:
pawn Код:
public OnPlayerSpawn(playerid)
{
new Nombre[MAX_PLAYER_NAME]; // la variable que guardara el nombre del Jugador.
new Str[128]; // la cadena que nos generara el resultado.
GetPlayerName(playerid, Nombre, sizeof(Nombre));// la funcion que nos dira el nombre del jugador
format(Str, sizeof(Str), "Has Spawneado %s[%d]", Nombre, playerid); // el format que le dara un nuevo formato al texto obteniendo el nombre y el id del usuario.
SendClientMessage(playerid, -1, Str);// el Mensaje donde se mostrara el nuevo formato de Str.
return 1;
}
2°- Concepto y Explicacion de strcmp
Strcmp: Compara dos cadenas para ver si son iguales.
Nota Importante:
- Strcmp consiste en tomar cada uno de los caracteres de una cadena,
y restar su cуdigo ASCII con el cуdigo ASCII del carбcter en la otra serie.
-Asн que digamos que quieres comparar la cadena "hola" con la cadena "hola" (que es lo mismo).
Esto es lo que strcmp harб:
- Toma el primer carбcter ('h') y lo resta con el carбcter de la segunda cadena ('h').
- Si los caracteres son los mismos, el resultado de la sustracciуn serб 0 (null).
- Si las 2 cadenas no son iguales el uno al otro, strcmp devuelve el resultado de las restas.
strcmp(const string1[], const string2[], bool:ignorecase, length);
string1:
La primera cadena a comparar.
string2:
La segunda cadena a comparar.
ignorecase:
Cuando se establece en true, el caso no importa. - HolA es el mismo que Hola.
Cuando se establece en false, el caso importa. - HolA no es lo mismo que Hola.
length es (opcional):
Cuando esta longitud estб definida, los primeros x caracteres serбn comparados
- haciendo "Hola" y "Hola No" con una longitud de 4 a decir que es la misma cadena.
Ejemplo De Uso:
pawn Код:
/// en este caso lo usaremos de la siguiente manera
/// si un jugador se conecta con el nombre de Cesar_******
/// llama a OnPlayerConnect y strcmp verifica si es igual si es asi lo banea
public OnPlayerConnect(playerid)
{
new Nombre[MAX_PLAYER_NAME];
new Str[128];
GetPlayerName(playerid, Nombre, sizeof(Nombre));
if( strcmp("Cesar_******", Nombre, true ) == 0 )
{
format(Str, sizeof(Str), "%s[%d] Ha sido expulsado del servidor razon: Nombre Prohibido", Nombre, playerid);
SendClientMessageToAll(-1, Str);
Ban(playerid);
return 1;
}
return 1;
}
3°- Concepto y Explicacion de Strmid
Strmid: Extrae un rango de caracteres de una cadena.
strmid( dest[], const source[], start, end, maxlength=sizeof dest);
dest:
La cadena para almacenar los caracteres extraнdos.
source:
La cadena de la que se pueden extraer caracteres.
start:
La posiciуn del primer carбcter.
end:
La posiciуn del ultimo carбcter.
maxlength:
La longitud del destino. (Serб el tamaсo de dest por defecto)
Ejemplo De Uso:
pawn Код:
/// en este caso lo usaremos de la siguiente manera
/// si un jugador se conecta con parte del nombre "Cesar"
/// llama a OnPlayerConnect y strcmp verifica si es igual si es asi lo banea.
public OnPlayerConnect(playerid)
{
new Nombre[MAX_PLAYER_NAME];
new Str[128];
GetPlayerName(playerid, Nombre, sizeof(Nombre));
if( strmid( Nombre, "Cesar", 0, 24, 24))
{
format(Str, sizeof(Str), "%s[%d] Ha sido expulsado del servidor razon: Parte del Nombre Prohibido", Nombre, playerid);
SendClientMessageToAll(-1, Str);
Ban(playerid);
}
return 1;
}
4°- Concepto y Explicacion de strcat
strcat: Esta funciуn concatena (une) dos cadenas en la referencia de destino.
strcat(dest[],const source[],maxlength=sizeof string);
dest:
La cadena para almacenar las dos cadenas concatenadas pulg
source:
La cadena de origen.
maxlength:
La longitud mбxima del destino.
Ejemplo De Uso:
pawn Код:
public OnPlayerConnect(playerid)
{
new strons[400];
strcat(strons,"Hola Forums Samp Este es mi tutorial.\n");
strcat(strons,"Hola Forums Samp Este es mi tutorial.\n");
strcat(strons,"Hola Forums Samp Este es mi tutorial.");
ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "Tutorial", strons, "Aceptar", "");
return 1;
}
5°- Concepto y Explicacion de Strdel
Strdel: Eliminar parte de una cadena.
Strdel(string[], start, end);
string: La parte de la cadena a borrar.
start: La posiciуn del Primer carбcter que desea eliminar.
end: La posiciуn del ъltimo carбcter que desea eliminar.
pawn Код:
CMD:test(playerid,params[])
{
new string[26] = "Hola Amigo De Forums Samp";// La Cadena con texto agregado.
strdel(string, 4, sizeof string); // eliminare desde string 4 el ultimo string.
SendClientMessage(playerid, -1, string); // Como resultado solo se mostrara "Hola".
return 1;
}
6°- Concepto y Explicacion de Strfind
Strfind: Bъsqueda de una subcadena en una cadena.
Comentario Parka:
A decir verdad no me habнa topado con esta funciуn
pero ahora que la leo y entiendo me parece muy ъtil
e Importante para muchas de mis ideas.
Strfind(const string[],const sub[],bool:ignorecase=false,pos=0);
string:
La cadena que desea buscar (El Pajar).
sub:
La cadena que desea buscar (La Aguja).
ignorecase (Opcional): Cuando se establece en true, el caso no importa - Hola es el mismo que HoLa. Cuando es false, no es lo mismo.
Position (Opcional): El desplazamiento para iniciar la bъsqueda.
pawn Код:
/*
En el pajar por asн decirlo buscaremos las Letras.
/text A
/text B
/text C
y con seguridad y testeado aparecerб el mensaje.
*/
CMD:text(playerid,params[])
{
if(sscanf( params, "s[128]", params[0])) return 1;/// usare sscanf y zcmd para hacer funciуn de bъsqueda.
if(strfind("A B C", params[0], true) != -1)/// -1 = "Porque" -1 = seria como 'no encontrado'
{
SendClientMessage(playerid, -1, "Se dio la funciуn strfind satisfactoriamente..!");/// si el text a buscar es valido nos dira esto.
}
else
{
SendClientMessage(playerid, -1, "No se dio la funciуn strfind..!");/// si el text a buscar es invalido nos dirб esto.
}
return 1;
}