# Fonction PCODE ID = 780042428
REGISTRE POINTEUR pt_valeurIN

REGISTRE ENTIER taille
REGISTRE ENTIER indice
REGISTRE ENTIER puissance
REGISTRE POINTEUR pt_val
REGISTRE ENTIER total
REGISTRE ENTIER erreur

pt_val = "pt_val"
total = 0
puissance = 1

pt_valeurIN = depilerPOINTEUR()

#recuperation taille champIN
taille = i_strlen(pt_valeurIN)

#test si champIN trop long
SI (taille > 9)
ALORS
	RETOUR -1
FINSI
indice = 1
POINT BOUCLE_PUISSANCE_MAX
SI indice < taille
ALORS
	puissance = puissance * 10
	indice = indice + 1
	SAUT BOUCLE_PUISSANCE_MAX
FINSI


#conversion
indice = -1

POINT DEBUT_BOUCLE_ASCIItoINT
indice = indice + 1
SI (indice < taille)
ALORS
	i_get_sub_str(pt_valeurIN, indice, indice, pt_val)
	SI i_strcmp(pt_val,"0") == 0
	ALORS
		SAUT BOUCLE_ASCIItoINT
	FINSI

	SI i_strcmp(pt_val,"1") == 0
	ALORS
		total = total + (1 * puissance)
		SAUT BOUCLE_ASCIItoINT
	FINSI

	SI i_strcmp(pt_val,"2") == 0
	ALORS
		total = total + (2 * puissance)
		SAUT BOUCLE_ASCIItoINT
	FINSI

	SI i_strcmp(pt_val,"3") == 0
	ALORS
		total = total + (3 * puissance)
		SAUT BOUCLE_ASCIItoINT
	FINSI

	SI i_strcmp(pt_val,"4") == 0
	ALORS
		total = total + (4 * puissance)
		SAUT BOUCLE_ASCIItoINT
	FINSI

	SI i_strcmp(pt_val,"5") == 0
	ALORS
		total = total + (5 * puissance)
		SAUT BOUCLE_ASCIItoINT
	FINSI

	SI i_strcmp(pt_val,"6") == 0
	ALORS
		total = total + (6 * puissance)
		SAUT BOUCLE_ASCIItoINT
	FINSI

	SI i_strcmp(pt_val,"7") == 0
	ALORS
		total = total + (7 * puissance)
		SAUT BOUCLE_ASCIItoINT
	FINSI

	SI i_strcmp(pt_val,"8") == 0
	ALORS
		total = total + (8 * puissance)
		SAUT BOUCLE_ASCIItoINT
	FINSI

	SI i_strcmp(pt_val,"9") == 0
	ALORS
		total = total + (9 * puissance)
		SAUT BOUCLE_ASCIItoINT
	FINSI

	RETOUR -1

POINT BOUCLE_ASCIItoINT
	puissance = puissance / 10
	SAUT DEBUT_BOUCLE_ASCIItoINT

FINSI

RETOUR total
