GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Quentin_Mysterio le 16 Août 2009, 17:13:05

Titre: Probléme date de naissance
Posté par: Quentin_Mysterio le 16 Août 2009, 17:13:05
Bonjour, dans le godfather j'aimerais savoir comment limiter les characters de la date de naisssances

Par exemple limiter a sa 15/01/1980 =8Caractéres

Mais je sais pas comment faire :/

Si vous pourriez m'expliquez comment faire

Merci

(J'ai deja chercher sur samp)
Titre: Re : Probléme date de naissance
Posté par: hardcoder le 16 Août 2009, 17:37:19
Tu n'as pas dû chercher beaucoup...Pour fixer le problème soit tu utilise strlen(), soit tu supprime gf.pwn et gf.amx et tu n'oublie pas de vider la corbeille, afin d'éradiquer toutes traces de ce gamemode de m*rde.
Titre: Re : Probléme date de naissance
Posté par: Quentin_Mysterio le 16 Août 2009, 19:03:22
C'est bien mais tu n'expliques rien ni comment utiliser le strlen...
Titre: Re : Re : Probléme date de naissance
Posté par: Ssk le 16 Août 2009, 20:23:18
C'est bien mais tu n'expliques rien ni comment utiliser le strlen...

if(strlen( ton array) != 9) // 9 pour le /0 a la fin ;)
{
// ton code ici
}
Titre: Re : Probléme date de naissance
Posté par: Quentin_Mysterio le 16 Août 2009, 22:57:07
Merci l'a j'ai compris ^^
Titre: Re : Probléme date de naissance
Posté par: Syg le 17 Août 2009, 11:04:32
Attention, strlen renvoie la taille de la chaîne de caractères passée en paramètre et ne compte pas le \0 (zéro binaire de fin de chaîne).

Exemple :
strlen ("Bonjour") vaut 7 (et non pas 8 comme le dit sasuke78200)

++
Syg
Titre: Re : Probléme date de naissance
Posté par: S!m le 17 Août 2009, 16:06:24
Salut,

et puis je serais porté de plutôt faire le test suivant:

if(strlen(ton_string) >= 9)
{
    ....ton code
}

dans le code de sasuke si le joueur écrit 10 caractères, ça passe, pas le mien

++Sim++
Titre: Re : Probléme date de naissance
Posté par: Syg le 17 Août 2009, 17:04:23
Dans mon post précédent j'ai réagi à ce qu'avais dit sasuke78200.

Maintenant, quand je regarde le premier post de Quentin_Mysterio, il dit : "15/01/1980 =8Caractéres". Cette chaîne en comporte 10 caractères lisible (et 1 caractère de fin de chaîne qui faut prendre en compte lors de la déclaration).

Donc pour tester si la chaîne entrée par un joueur fait la bonne taille, il faudra écrire :

if(strlen(Ta_Chaine) <= 10)
{
    /* La taille de la chaîne est correcte */
}
else
{
    /* La chaîne est trop grande */
}

++
Syg
Titre: Re : Probléme date de naissance
Posté par: S!m le 17 Août 2009, 21:48:27
Salut,

tant qu'a améliorer, ne serait-il pas plus judicieux de tester chacune des valeurs?
car franchement, simplement tester la taille de la chaine....que faire si le joueur écrit: 1543/20/10
il s'agit d'un texte valide...

Donc, on récupère le jour, le mois, et l'année, puis on test si ces valeurs sont acceptables (mois entre 1 et 12, jour dépend du mois et de l'année, année bah le mec ne peut pas avoir moins d'un certains âge et plus de 100 ans serait légèrement étrange....)
du même coup tu pourrais assigner un skin selon l'âge (un vieux pour plus de 60 ans, un homme mature pour 40 - 60....)

++Sim++
Titre: Re : Probléme date de naissance
Posté par: Ssk le 17 Août 2009, 21:56:57
Pour l' anne fait attention a bien regarde l' annee actuel et puis de verifie si l annee entrer n' est pas plus grande que celle actuel