// name : Input_xy
// desc : Récupère une saisie au clavier
// author : Lightness1024! (lightness1024@aol.com)
// prototyp: short Input_xy (short x, short y, short maxlen, char* buffer);
//---------------------------------------------------------------------------------------------
short Input_xy (short x, short y, short maxlen, char* buffer)
{
/* --entrees:
x : position x de l'affichage
y : position y de l'affichage
maxlen : taille max en caracteres de l'entree
buffer : pointer vers chaine de sortie
-- sortie:
le nombre de caracères entrés par l'utilisateur (0 <= sortie <= maxlen)
NOTE:
-Cette fonction affiche a l'ecran ce que l'utilisateur saisi au clavier et le stoque dans la variable buffer
elle nécessite les headers kbd.h et stdio.h incluent dans le projet.
-Prévoyez un espace suffisant pour afficher le texte saisi, soit minimum maxlen+2 caractères.
ATTENTION:
-la taille de la chaine de sortie doit dépasser maxlen de 1 au moins !!
*/
short Key = 0;
short len = 0;
buffer[0] = '';
while( Key != 13 ) {
printf_xy( x, y, "%sx5f ", buffer );
Key = GKeyIn( 0, 0 );
switch( Key ) {
case 257:
if( len > 0 ) {
len --;
buffer[len] = '';
}
break;
case KEY_ESC:
buffer[0] = '';
return 0;
case 13:
break;
default:
if( len < maxlen ) {
buffer[len] = Key;
len ++; // j'incrémente dans une ligne séparée pour éviter un effet de bords (side effect)
buffer[len] = '';
}
}
}
return len;
}
ben voila si vous en avez besoin ya aucune contrainte d'utilisation, vous pouvez meme supprimer les commentaires si ca vous chante @#

[edit]Edité par Lightness1024 le 04-01-2002 à 15:11:17[/edit]