home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 22
/
CD_ASCQ_22_0695.iso
/
win
/
fr
/
ectbarre
/
quickrun.ect
< prev
Wrap
Text File
|
1995-03-21
|
5KB
|
228 lines
REM QUICKRUN.ECT - QUICK RUN (C) 1995 ECT SOFT
REM Lancement d'applications
REM
REM Constantes
REM $Z = Fichier de gestion de l'ensemble des menus
REM $X = Fichier listing des programmes associes a l'application hote
REM $D = Nom de l'application hote
REM $W = Menu particulier de l'application
$Z=GETDIR(!0)
$Z=CAT($Z,$MACROS\QR_SETUP.INI)
$D=PARENT()
$A=CAT($D,$.QRL)
$X=GETDIR(!0)
$X=CAT($X,$MACROS\)
$X=CAT($X,$A)
REM
REM Ouvrir le fichier contenant la liste des programmes
REM
:MAIN_MENU
!A = OPEN($X)
DEFINE($MenuFile,!A)
REM
REM Creation du Menu de Selection, si plus de 9 items proposer un choix par liste
REM
!A=!0
FREE($W)
$W=$&Editer le menu de
$W=CAT($W,$D)
$A = READ(MenuFile)
IF[LEN($A)]==!0
GOTO($:OUVRE_MENU)
$W=CAT($W,$|-|)
$W=CAT($W,$A)
$W=CAT($W,$|)
!A+=!1
:LIT_ITEM_SUIVANT
$A = READ(MenuFile)
IF[LEN($A)]==!0
GOTO($:FIN_ITEM)
IF[!A]==!7
GOTO($:MAX_ITEM)
$W=CAT($W,$A)
$W=CAT($W,$|)
!A+=!1
GOTO($:LIT_ITEM_SUIVANT)
REM
REM Il y a plus de 8 programmes
REM
:MAX_ITEM
$W=CAT($W,$Autre ...)
!A+=!1
:FIN_ITEM
!A+=!2
DEFINE($ID_QUITTER,!A)
REM
REM Le menu est construit
REM
:OUVRE_MENU
$W=CAT($W,$|-|&Quitter)
!A = MENU($W)
IF[!A]==ID_QUITTER
GOTO($:QUITTER)
IF[!A]!=!9
GOTO($:TRADUIT_ITEM)
$A = LISTE($Executer ...,$X)
IF[LEN($A)]==!0
GOTO($:QUITTER)
GOTO($:EXECUTE)
REM
REM Trouve le nom de l'item en fonction de son numero
REM
:TRADUIT_ITEM
IF[!A]==!1
GOTO($:EDITEUR)
IF[!A]==ID_QUITTER
GOTO($:QUITTER)
!A-=!1
SSEEK(MenuFile,!0)
!B=!0
:LIT_POUR_COMPARER
$B=READ(MenuFile)
IF[LEN($B)]==!0
GOTO($:QUITTER)
!B+=!1
IF[!B]==!A
GOTO($:FIN_POUR_COMPARER)
GOTO($:LIT_POUR_COMPARER)
:FIN_POUR_COMPARER
$A=CAT($,$B)
REM
REM Executer le programme $A
REM
:EXECUTE
$E=CAT($D,$.)
$E=CAT($E,$A)
$F = READINI($Z,$E,$Executable,$coucou ,!80)
$C = READINI($Z,$E,$Commande,$ ,!80)
EXECUTE($F,$C)
REM
REM Fin
REM
:QUITTER
CLOSE(MenuFile)
END()
:EDITEUR
!A=MENU($&Ajouter un programme|&Supprimmer un programme |&Modification|&Retour)
!A+=!1
GOTO(!A,$:OUVRE_MENU|:AJOUT_ITEM|:DEL_ITEM|:MODIF_ITEM|:MAIN_MENU)
REM
REM
REM Saisie d'un nouveau programme
REM
REM
:AJOUT_ITEM
$A=$
$B=$
$C=$
GOSUB($:NOM)
IF[LEN($A)]==FALSE
GOTO($:AUTRE_ITEM)
GOSUB($:EXECUTABLE)
IF[LEN($B)]==FALSE
GOTO($:AUTRE_ITEM)
GOSUB($:COMMANDE)
:MISE_A_JOUR
REM $A = Nom du programme tel qu'il apparaitra dans la liste
REM $B = Nom de l'executable a lancer
REM $C = Ligne de commande
REM $D = Nom de l'application hote a qui sera associee le programme
REM Ecrire le nom du programme dans la liste associer .QAL
REM Ecrire cela dans le fichier QA_SETUP.INI qui sera utilise par QAR.ECT
!B=OPEN($X)
:NEXT_LINE
$T=READ(!B)
IF[LEN($T)]==FALSE
GOTO($:END_FILE)
IF[CMP($A,$T)]==!0
GOTO($:PRESENT)
GOTO($:NEXT_LINE)
:END_FILE
WRITE(!B,$A)
:PRESENT
CLOSE(!B)
$E=CAT($D,$.)
$E=CAT($E,$A)
WRITEINI($Z,$E,$Executable,$B)
WRITEINI($Z,$E,$Commande,$C)
REM
REM
REM Retour
REM
REM
:AUTRE_ITEM
GOTO($:EDITEUR)
REM
REM
REM Suppression d'un Programme
REM
REM
:DEL_ITEM
$A=LISTE($Suppression ,$X)
IF[LEN($A)]==!0
GOTO($:MAIN_MENU)
!B=OPEN($X)
$E=GETDIR(!0)
$E=CAT($E,$a.b)
!C=CREAT($E,!1)
:LIT_FILE_X
$F=READ(!B)
IF[LEN($F)]==!0
GOTO($:FIN_FILE_X)
IF[CMP($F,$A)]!=!0
WRITE(!C,$F)
GOTO($:LIT_FILE_X)
:FIN_FILE_X
CLOSE(!B)
CLOSE(!C)
$G=CAT($D,$.)
$G=CAT($G,$A)
WRITEINI($Z,$G,$NULL,$A)
DEL($X)
RENAME($E,$X)
GOTO($:MAIN_MENU)
REM
REM
REM Modification des parametres d'un programme
REM
REM
:MODIF_ITEM
$A=LISTE($Modifier ,$X)
IF[LEN($A)]==!0
GOTO($:MAIN_MENU)
$E=CAT($D,$.)
$E=CAT($E,$A)
$C=READINI($Z,$E,$Commande,$ ,!80)
$B=READINI($Z,$E,$Executable,$ ,!80)
!A=MENU($Modifier le &Nom ...|&Modifier l'&executable ...|&Modifier la &commande)
IF[!A]==!0
GOTO($:EDITEUR)
GOSUB(!A,$:NOM|:EXECUTABLE|:COMMANDE)
GOTO($:MISE_A_JOUR)
REM
REM
REM Saisi du Nom
REM
REM
:NOM
$G=CAT($QUICK RUN ,$D)
$A=INPUT($G,$Nom du Programme,$A,FALSE,!30)
RETURN(!0)
REM
REM
REM Saisi de l'Executable
REM
REM
:EXECUTABLE
$B=OPENFILEDLG($Nom de l'executable,$Executables|*.EXE;*.PIF;*COM;*.BAT|,FALSE)
RETURN(!0)
REM
REM
REM Saisi de la Commande
REM
REM
:COMMANDE
$C=INPUT($A,$Ligne de Commande,$C,FALSE,!80)
RETURN(!0)