home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 22
/
CD_ASCQ_22_0695.iso
/
win
/
fr
/
ectbarre
/
papier.ect
< prev
next >
Wrap
Text File
|
1995-03-21
|
5KB
|
222 lines
REM PAPIER.ECT - Gestion des Papiers Peints - (C) 1995 ECTSOFT
REM Cette macro permet de creer un menu permettant la selection d'un papier peint
REM $Z = fichier PAPIER.INI contient les parametres pour les papier peint
REM $X = fichier PAPIER.LST contient la liste des noms des papiers peints
$Z=GETDIR(!0)
$Z=CAT($Z,$MACROS\PAPIER.INI)
$X=GETDIR(!0)
$X=CAT($X,$MACROS\PAPIER.LST)
REM
REM
REM Menu Principal
REM
REM
:MAIN_MENU
$A=$&Selectionner papier peint|-|
$B=$&Ajouter un papier peint|
$C=$S&upprimer un papier peint|
$D=$&Modification|
$E=$&Quitter
$F=CAT($A,$B)
$F=CAT($F,$C)
$F=CAT($F,$D)
$F=CAT($F,$E)
!A=MENU($F)
!A+=!1
GOTO(!A,$:QUITTER|:AFFICHE|:AJOUTE|:SUPPRIME|:MODIFIE|:QUITTER)
REM
REM Afficher le papier peint selectionnΘ
REM
:AFFICHE
!A = OPEN($X)
DEFINE($PaperFile,!A)
REM
REM Creation du Menu de Selection, si plus de 10 items proposer un choix par liste
REM
!A=!0
FREE($B)
$A = READ(PaperFile)
IF[LEN($A)]==!0
GOTO($:FIN_ITEM)
$B=$A
$B=CAT($B,$|)
!A+=!1
:LIT_ITEM_SUIVANT
$A = READ(PaperFile)
IF[LEN($A)]==!0
GOTO($:FIN_ITEM)
IF[!A]==!9
GOTO($:MAX_ITEM)
$B=CAT($B,$A)
$B=CAT($B,$|)
!A+=!1
GOTO($:LIT_ITEM_SUIVANT)
REM
REM Il y a plus de 10 programmes
REM
:MAX_ITEM
$B=CAT($B,$Autre ...)
REM
REM Le menu est construit
REM
:FIN_ITEM
!A = MENU($B)
IF[!A]<!10
GOTO($:TRADUIT_ITEM)
$A = LISTE($Afficher ...,$X)
IF[LEN($A)]==!0
GOTO($:QUITTER)
GOTO($:AFFICHEZ_LE!)
REM
REM Trouve le nom de l'item en fonction de son numero
REM
:TRADUIT_ITEM
SSEEK(PaperFile,!0)
!B=!0
:LIT_POUR_COMPARER
$B=READ(PaperFile)
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 On l'affiche
REM
:AFFICHEZ_LE!
$F = READINI($Z,$A,$FILE.BMP,$ ,!80)
$C = READINI($Z,$A,$MOSAIQUE,$ ,!80)
!A = !0
IF[CMP($C,$OUI)]==!0
!A = !1
DESKTOP($F,!A)
CLOSE(PaperFile)
GOTO($:QUITTER)
REM
REM
REM Ajout d'un papier peint
REM
REM
:AJOUTE
$A=$
$B=$
$C=$
GOSUB($:NOM)
IF[LEN($A)]==FALSE
GOTO($:AUTRE_BMP)
GOSUB($:BMP)
IF[LEN($B)]==FALSE
GOTO($:AUTRE_BMP)
GOSUB($:MOSAIQUE)
:MISE_A_JOUR
REM $A = Nom du papier peint tel qu'il apparaitra dans la liste
REM $B = Nom du fichier BMP a afficher
REM $C = NON s'il faut centrer l'image
REM Ecrire le nom du papier peint dans PAPIER.LST
REM Ecrire les parametres dans PAPIER.INI
!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)
WRITEINI($Z,$A,$FILE.BMP,$B)
WRITEINI($Z,$A,$MOSAIQUE,$C)
REM
REM
REM Continuer ou Quitter
REM
REM
:AUTRE_BMP
!A=OUINON($Gestion des Papiers Peints ,$Editer un autre Papier ?,QUESTION)
IF[!A]==TRUE
GOTO($:MAIN_MENU)
:QUITTER
END()
REM
REM
REM Suppression d'un papier peint
REM
REM
:SUPPRIME
$A=LISTE($Suppression ,$X)
IF[LEN($A)]==!0
GOTO($:MAIN_MENU)
GOSUB($:EFFACER_$A)
GOTO($:MAIN_MENU)
REM
REM
REM Modification des parametres
REM
REM
:MODIFIE
$A=LISTE($Modifier ,$X)
IF[LEN($A)]==!0
GOTO($:MAIN_MENU)
$C=READINI($Z,$A,$MOSAIQUE,$ ,!80)
$B=READINI($Z,$A,$FILE.BMP,$ ,!80)
!A=MENU($&1 - Modifier le Nom du Papier|&2 - Modifier le nom du fichier BMP|&3 - Modifier son Style d'Affichage)
IF[!A]==!0
GOTO($:MAIN_MENU)
GOSUB(!A,$:NOM|:BMP|:MOSAIQUE)
GOTO($:MISE_A_JOUR)
REM
REM
REM Saisi du Nom
REM
REM
:NOM
GOSUB($:EFFACER_$A)
$A=INPUT($Gestion des Papiers Peints,$Nom du Papier Peint,$A,FALSE,!30)
RETURN(!0)
REM
REM
REM Saisi du fichier BMP
REM
REM
:BMP
$B=OPENFILEDLG($Nom du Fichier BMP,$Bitmap|*.BMP|,FALSE)
RETURN(!0)
REM
REM
REM Style d'affichage
REM
REM
:MOSAIQUE
!A=OUINON($A,$Voulez-vous l'afficher en Mosaique ?,QUESTION)
$C=$NON
IF[!A]==IDOK
$C=$OUI
RETURN(!0)
REM
REM Effacer le papier $A
REM
:EFFACER_$A
!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)
WRITEINI($Z,$A,$NULL,$A)
DEL($X)
RENAME($E,$X)
RETURN(!0)