1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| // cette fonction reçoit les paramètres d'entrée et les examine un a un pour :
// 1 - vérifier qu'ils sont valides
// 2 - les stocker au bon endroit
bool Application::checkParams(std::list<std::string>& params)
{
// on prend chaque paramètre
for(std::list<std::string>::iterator it = params.begin(); it != params.end(); it++)
{
// et on le checke
if (!checkParam(*it))
{
return false;
}
}
return true;
}
// Cette fonction reçoit un paramètre et :
// 1 - détermine de quel type il est
// 2 - vérifie s'il est valide
// 3 - le stocke
bool Application::checkParam(const std::string& param)
{
bool isAValidParam = false;
try
{
// ici on essaie d'interpréter le paramètre comme une date de création
checkDateCreation(param);
isAValidParam = true;
}
catch (...)
{
// si on échoue c'est que ce n'était pas une date ou pas une date valide
// mais ce n'est pas grave
}
try
{
// ici on essaie d'interpréter le paramètre comme un nom d'auteur
checkNomDeLAuteur(param);
isAValidParam = true;
}
catch (...)
{
// si on échoue c'est que ce n'était pas un nom d'auteur
// mais ce n'est pas grave
}
try
{
// ici on essaie d'interpréter le paramètre comme une taille de fichier
checkTaille(param);
isAValidParam = true;
}
catch (...)
{
// si on échoue c'est que ce n'était pas une taille de fichier
// mais ce n'est pas grave
}
// si un seul des try précédent n'a pas échoué, isAValidParam est vrai
// sinon isAValidParam est faux
return isAValidParam;
} |
Partager