Salut Cyb!
J'ai regardé le programme de démo; On va s'en servir comme base, c'est mieux, et plus rapide! Première étape: je doit simplifier au maximum ce prog pour que ce soit bien clair. Cela veut dire que j'enlève toutes les fonctions qui ne nous servent pas pour l'EMISSION, et j'automatise ces fonctions restantes. Après on remettra les fonctions utlisateurs quand la transmission sera au point...
ENLEVE('1 - Envoi d''une chaine de test vers le COM',NumCom,'.');
ENLEVE('2 - Lecture du COM',NumCom,'.');
GARDE('3 - Envoi vers le COM',Numcom,'.');
ENLEVE('4 - Changement de port.');
ENLEVE('5 - Configuration du port COM',NumCom,'.');
GARDE('ESC pour terminer');
La configuration du port COM se fait à l'initialisation du programme, avec les valeurs imposées par défaut...
Voilà la première modif de la procédure principle du program (MAIN) est finie, simplifiée et optimisée juste pour l'émission de données à partir du clavier. Si tu me suis toujours, maintenant on va s'occuper d'intégrer la gestion du fichier source, pour remplacer les données clavier par les données du disque...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 begin clrscr; NumCom:=1; { PORT COM [1..4] } br:=1200; { 1200..115200 bauds } p:='A'; { PARITE: [P,I,A,M,S] } ws:=8; { NBR OF BITS [7,8] } sb:=2; { NBR BIT STOP [1,2] } bs:=10000; { TAILLE DU BUFFER } OpenCom(Numcom,br,p,ws,sb,bs); window(1,1,80,25); clrscr; writeln('Utilise le COM',Numcom,' à ',br,' Bauds'); writeln('Parité "',p,'" ',ws,' Bits de données, ',sb, ' bit de stop'); writeln('Buffer de ',bs, ' octets'); writeln('Entrer le texte à envoyer vers le minitel (Esc pour finir).'); TestErreur; { Boucle d'EMISSION d'un byte, juqu'à la touche Echap } REPEAT car:=readkey; if(car<>#27)then ComOutChar(NumCom,car); UNTIL car=#27; if Cominready(numcom)then writeln('Caractère à lire.') { test l'état du buffer } else writeln('Buffer vide.'); CloseCom(NumCom); { Ferme le port } end.
Partager