home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 22
/
CD_ASCQ_22_0695.iso
/
win
/
fr
/
yrtrace
/
mntctrl.byr
< prev
next >
Wrap
Text File
|
1995-04-21
|
9KB
|
234 lines
REM -------------------------------------------------------------
REM Macro de contr⌠le de YRTRACE via le Minitel
REM (c) D. Heiderich 1994
REM -------------------------------------------------------------
MULTITASK ON
CLEARALL
DECLARE "BELL"=7
Z=ISCOMOPEN REM Conservez Z
IF Z=1 THEN GOTO 5
A$="Un minitel doit Ωtre sur COM2 pour utiliser ce programme. Continuer ?"
IF YESNO(A$,"YRBASIC")=NO THEN END
CHOICE A:"1200 bauds,4800 bauds,9600 bauds,Abandonner":"Vitesse de transmission"
IF A=3 THEN END
REM PRINT "PrΘparez votre MINITEL (Fnct T+A et vitesse)":"Communication"
IF A=0 THEN COPEN "COM2:1200,e,7,1"
IF A=1 THEN COPEN "COM2:4800,e,7,1"
IF A=2 THEN COPEN "COM2:9600,e,7,1"
5 REM ----------------------- fin initialisation -------------------"
FOR I=1 TO 25
CPRINT ""
NEXT
CPRINT "------------------------------------------------------------"
CPRINT "* * *** *** **** **** * **** (c) D.Heiderich 1994"
CPRINT " * * * * * * * * * * * TACHE DE FOND DE YRTRACE"
CPRINT " * *** * * **** **** * * ------------------------"
CPRINT " * * * * * * * * * * Pour obtenir le menu : "
CPRINT " * * * * * * * **** * **** tapez 'm' sur le minitel"
CPRINT "--YRBASIC v1.0 -YRTRACE v3.1--------------------------------"
GOSUB 1000
REM ------------------ BOUCLE MINITEL ---------------------------
10 CGETCHAR A
IF A=-1 THEN GOTO 10
CPRINT
REM --- MENU PRINCIPAL
IF A=109 THEN GOSUB 1000 REM m(enu)
IF A=120 THEN GOTO 20 REM x (sortie)
IF A=100 THEN GOSUB 1010 REM d(Θpart)
IF A=102 THEN GOSUB 1020 REM f(in)
IF A=116 THEN GOSUB 1030 REM t (1er plan on)
IF A=121 THEN GOSUB 1040 REM y (1er plan off)
IF A=104 THEN GOSUB 1050 REM h (cacher) h(ide)
IF A=106 THEN GOSUB 1060 REM j (monter)
IF A=105 THEN GOSUB 1070 REM i(coniser)
IF A=111 THEN GOSUB 1080 REM o (agrandir)
IF A=101 THEN GOSUB 1090 REM e(fface)
IF A=97 THEN GOSUB 1100 REM a(jout)
REM --- MENU WINDOWS
IF A=119 THEN GOSUB 2000 REM w(indows) menu
IF A=76 THEN GOSUB 2010 REM L(ancer) une application
IF A=83 THEN GOSUB 2020 REM S(Θlectionner) une application
IF A=70 THEN GOSUB 2030 REM F(fermer)
IF A=69 THEN GOSUB 2040 REM E(envoyer) un message
IF A=87 THEN GOSUB 2050 REM Envoyer un message a la fΩnetre active
IF A=88 THEN GOSUB 2060 REM Envoyer WM_COMMANDE a la fenΩtre active
GOTO 10 REM ------------ fin de la boucle ------------------------
20 CPRINT ""
CPRINT "Quitter le programme Basic ? O/N (majuscules):",
30 CGETCHAR A
IF A=79 THEN GOTO 40
IF A=78 THEN GOTO 10
IF A!-1 THEN GOSUB 4000
GOTO 30
40 CPRINT ""
CPRINT "A BIENTOT."
IF Z=0 THEN CCLOSE REM la communication est fermΘe si elle n'Θtait pas ouverte
END
1000 REM --------------------- MENU ---------------------------
GOSUB 4000 REM Beep
CPRINT ""
CPRINT " ******************"
CPRINT "********************** MENU PRINCIPAL **********************"
CPRINT "* ****************** *"
CPRINT "* d / f : DEPART / FIN DE LA RECEPTION DES MESSAGES *"
CPRINT "* t / y : METTRE / ENLEVER YRTRACE du 1er plan *"
CPRINT "* h / j : CACHER / MONTRER YRTRACE *"
CPRINT "* i / o : ICONISER / AGRANDIR YRTRACE *"
CPRINT "* e : EFFACER LA LISTE *"
CPRINT "* a : AJOUT D'UN TEXTE DANS LA LISTE *"
CPRINT "************************************************************"
CPRINT "* w : MENU DE COMMANDE DE WINDOWS *"
CPRINT "************************************************************"
CPRINT "* x : Quitter le programme YRBASIC *"
CPRINT "************************************************************"
RETURN
1010 REM -------------------- DΘpart -------------------------
YRRUN ON
YRADDLINE "*** YRBASIC: DΘpart rΘception des messages ***"
CPRINT "DEPART DE LA CAPTURE DES MESSAGES"
RETURN
1020 REM --------------------- fin ---------------------------
YRRUN OFF
YRADDLINE "*** YRBASIC: ArrΩt rΘception des messages ***"
CPRINT "ARRET DE LA CAPTURE DES MESSAGES"
RETURN
1030 REM --------------- mettre du 1er plan -------------------
SHOWWINDOW HWINDOW,SWTOP
YRADDLINE "*** YRBASIC: YRTRACE est au 1er plan***"
CPRINT "YRTRACE est au 1er plan"
RETURN
1040 REM -------------- Enlever du 1er plan -------------------
SHOWWINDOW HWINDOW,SWNOTOP
YRADDLINE "*** YRBASIC: YRTRACE n'est pas au 1er plan***"
CPRINT "YRTRACE n'est pas au 1er plan"
RETURN
1050 REM ----------------- Cacher -----------------------------
SHOWWINDOW HWINDOW,SWHIDE
YRADDLINE "*** YRBASIC: est cachΘ***"
CPRINT "YRTRACE CACHE"
RETURN
1060 REM ----------------- Montrer ----------------------------
SHOWWINDOW HWINDOW,SWSHOW
YRADDLINE "*** YRBASIC: YRTRACE montrΘ***"
CPRINT "YRTRACE MONTRE"
RETURN
1070 REM ----------------- Iconiser ---------------------------
SHOWWINDOW HWINDOW,SWMINIMIZE
YRADDLINE "*** YRBASIC: YRTRACE εconisΘ***"
CPRINT "YRTRACE ICONISE"
RETURN
1080 REM ----------------- Agrandir ---------------------------
SHOWWINDOW HWINDOW,SWRESTORE
YRADDLINE "*** YRBASIC: YRTRACE agrandit***"
CPRINT "YRTRACE AGRANDIT"
RETURN
1090 REM ----------------- efface -----------------------------
YRCLEARLIST
CPRINT "YRTRACE : LISTE EFFACEE"
RETURN
1100 REM ----------------- Ajoute une ligne --------------------
CINPUT "LIGNE A AJOUTER:",C$
YRADDLINE C$
RETURN
2000 REM ----------------- Menu Windows ------------------------
CPRINT ""
CPRINT ""
CPRINT ""
CPRINT "************************************************************"
CPRINT "* * * * * * *** ** * * *** *"
CPRINT "* * * * * * * * * * * * * *"
CPRINT "* * * * * ** * * * * * * * * ** *"
CPRINT "* * * * * ** * * * * * * * WINDOWS *"
CPRINT "* * * * * * *** ** * * *** MENU DE PILOTAGE *"
CPRINT "************************************************************"
GOSUB 4000
CPRINT "* L : LANCER UNE APPLICATION *"
CPRINT "* S : SELECTIONNER UNE APPLICATION *"
CPRINT "* F : FERMER L'APPLICATION SELECTIONNEE *"
CPRINT "* E : ENVOYER UN MESSAGE L'APPLICATION SELECTIONNEE *"
CPRINT "* W : ENVOYER UN MESSAGE A LA FENETRE ACTIVE *"
CPRINT "* X : ENVOYER WM_COMMAND A LA FENETRE ACTIVE *"
CPRINT "************************************************************"
RETURN
2010 REM ----------------- Lancer une application---------------
CPRINT ""
CPRINT "Lancer une application Windows"
CPRINT "Note vous pouvez remplacez '\' par '/'"
CINPUT "Application : Chemin\nom (puis ENTER):",A$
MODIFYSTR A$,"/","\"
CPRINT "Lancement de ",A$," :",
ERREUR=EXECPROG(A$)
IF ERREUR>31 THEN CPRINT "OK"
IF ERREUR<32 THEN CPRINT "Erreur de lancement #",ERREUR
RETURN
2020 REM ------------- SΘlectionner une application-------------
CPRINT "Liste des applications courantes :"
B=0
FOR I=1 TO 25
GETAPP I,A,A$
IF A!0 THEN CPRINT I;A$
IF A=0 THEN I=100
B=B+1
NEXT
CPRINT "VOTRE CHOIX DE 1 A ",B-1,
CINPUT X
IF X<B THEN GOTO 2021
CPRINT "Erreur ! SELECTION=",X,">",B
RETURN
2021 CPRINT "VOTRE SELECTION : ",
GETAPP X,W,W$ REM Conservez W et W$ !
CPRINT W$
RETURN
2030 REM ------------- Fermer une application-------------------
CPRINT "Fermeture de ",W$
POSTAPPMESSAGE W,RETURNMSGNUM("WM_QUIT"),0,0
RETURN
2040 REM ------------- Envoyer un message -----------------------
CPRINT ""
CPRINT "Envoyer un message α l'application sΘlectionnΘe"
CPRINT "Note vous pouvez remplacez '_' par '-'"
CINPUT "Message (puis ENTER) :",A$
MODIFYSTR A$,"-","_"
IF CMPSTRING(A$,"*")=1 THEN A$="WM_COMMAND"
CINPUT "WPARAM LO:",A
CINPUT "WPARAM HI:",B
CINPUT "LPARAM LO:",C
CINPUT "LPARAM HI:",D WM_CHAR
GETMSGNAME RETURNMSGNUM(A$),A$
POSTAPPMESSAGE W,RETURNMSGNUM(A$),MAKELONG(A,B),MAKELONG(C,D)
CPRINT A$," WPARAM=",MAKELONG(A,B)," LPARAM=",MAKELONG(C,D)," ENVOYE A ",W$
RETURN
2050 REM ------------- Envoyer un message --(II)-----------------
CPRINT ""
CPRINT "ENVOYER UN MESSAGE A LA FENETRE ACTIVE"
CPRINT "Note vous pouvez remplacez '_' par '-'"
CINPUT "Message (puis ENTER) :",A$
MODIFYSTR A$,"-","_"
IF CMPSTRING(A$,"*")=1 THEN A$="WM_COMMAND"
CINPUT "WPARAM LO:",A
CINPUT "WPARAM HI:",B
CINPUT "LPARAM LO:",C
CINPUT "LPARAM HI:",D
GETMSGNAME RETURNMSGNUM(A$),A$
POSTMESSAGE GETACTIVEWIN,RETURNMSGNUM(A$),MAKELONG(A,B),MAKELONG(C,D)
CPRINT A$," WPARAM=",MAKELONG(A,B)," LPARAM=",MAKELONG(C,D)," ENVOYE."
RETURN
2060 REM ------------- Envoyer WM_COMMAND ----------------------
CPRINT ""
CPRINT "ENVOYER WM_COMMAND A LA FENETRE ACTIVE"
A$="WM_COMMAND"
CINPUT "IDENTIFICATEUR:",A
CINPUT "NOTIFICATION:",B
POSTMESSAGE GETACTIVEWIN,RETURNMSGNUM(A$),MAKELONG(A,B),0
CPRINT "WM_COMMAND ID=",A," NOTIFY=",B," ENVOYE."
RETURN
REM ======================= DIVERS =============================
4000 REM BEEP DU MINITEL
CHR BELL,A$
CPRINT A$,
RETURN