bonsoir
je travaille sur 'c' en mode graphique, et j'ai besion de lire une chaine de caractére -c à d ,je doit utiliser l'équivalence de scanf() ou de gets() ,j'ai cherché ,mais j'ai rien trouver !! , quelqu'un pourrait m'aidé SVP
merci d'avance ;)
Version imprimable
bonsoir
je travaille sur 'c' en mode graphique, et j'ai besion de lire une chaine de caractére -c à d ,je doit utiliser l'équivalence de scanf() ou de gets() ,j'ai cherché ,mais j'ai rien trouver !! , quelqu'un pourrait m'aidé SVP
merci d'avance ;)
Quel OS, quel C, quel mode graphique ?
Si tu veux un peu d'aide il faut nous en dire un peu plus :P
[Edit : grilled]
bsr
je suis débutant, en programmation en c , je sais que j'ai pas bien expliqué le problème , donc je fait un Exemple :
sur ce code ,le gets(Nom); emplace le curseur o point(0,0)Code:
1
2
3
4
5
6 outtextxy(120,140,"N.B : Chemin doit tre correcte pour obtenir de Bon Resultat"); outtextxy(140,160,"Exemple => c:\\Exemple.txt"); outtextxy(160,180,"Veuillez Tapper Son Chemin ( Extention : <.txt> ) : "); gets(Nom); //????
car le gest fonctionne en mode normal -et moi ,je veux travailler en mode graphique ,j'ai pensé de faire
mais le problème est toujours làCode:
1
2
3 gotoxy(160,300); gets(Nom); //????
merci pour vos réponses ;)
En gros, tu cherches à faire un getsxy ?
Sous le vieux Microsoft QuickC, il y avait une fonction _settextposition().
N'y a-t-il pas un équivalent sous Borland, genre gotoxy() ?
Enfin, rien n'empêche de positionner le curseur puis demander à l'utilisateur de taper quelque chose...
Si c'était possible sous QuickC, c'est forcément possible sous Borland, qui est plus complet.
Je ne connais que très peu conio mais il me semble que gettext peu faire ça.
@ssmario2
Tu mixes les bibliothèques conio et bgi. Possible mais pas très "joli".
Si je me souviens bien:
conio gère l'écran en mode caractère (ex 80x25) et leurs attributs (couleur, couleur de fond, clignotant, ...). Donc on travaille avec des caractères et on peut retrouver la valeur du caractère en mémoire
bgi gère l'écran en mode graphique (pixel). On peut que dessiner. C'est au programme de gérer une liste des objects (textes, courbes, polygones, ellipses) à dessiner
Ce que j'essaie de dire et que le texte (en mode BGI) n'est pas mémoriser quelques parts. Donc si on veut avoir une gestion de la saisie, c'est au programmeur de la gérer
C'est un exemple très imparfait mais il donne une idée de comment faire. La gestion de la saise (Touche ENTER, DEL, déplacement charriot, ...) incombe au programme.Code:
1
2
3
4
5
6
7
8
9
10
11 char c; char str[20]; outtextxy(pos_x, pos_y, "Saisie: "); do { c = getch(); str[i] = c; str[i+1] = '\0'; outtextxy(pos_x + offset + width_chr*i, pos_y, &str[i]); } while (c<>ENTER); str[i] = '\0';
@jowo: Je pense qu'il y a confusion sur ce que veut faire l'utilisateur.
- Tu sembles penser qu'il veut lire le texte à l'écran,
- Je pense qu'il veut demander une chaîne à l'utilisateur, mais à une certaine position sur l'écran.
merci pour vos réponses
En mode graphique , c'est pas possible de lire un entier ou un caractère, c pour ça ,j'ai fait comme ça :
parce que , y a pas de possibilité pour écrire le texte dans une position précise ,j'ai utilisé des tabulations et des sauts de lignes (pas de problèmes pour la démarche du programme ) (donc je pense que le problème est résolu !!!)Code:
1
2
3
4
5
6
7
8
9 outtextxy(120,100,"\tN.B : Chemin doit tre correcte pour obtenir de Bon Resultat"); outtextxy(120,120,"\n\n\tExemple => c:\\Exemple.txt"); outtextxy(120,140,"\n\n\tVeuillez Tapper Son Chemin ( Extention : <.txt> ) : "); printf("\n\n\n\n\n\n\n\n\n\n\n"); printf("\t\t\t >> "); gets(Nom);
:king: merci :king: