Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ***************************
- * début du programme *
- ***************************
- IDENTIFICATION DIVISION.
- PROGRAM-ID. TPNOTE.
- DATE-WRITTEN. 10/02/2016.
- ENVIRONMENT DIVISION.
- CONFIGURATION SECTION.
- SPECIAL-NAMES.
- *virgule reconnue comme le symbole décimal
- DECIMAL-POINT IS COMMA.
- INPUT-OUTPUT SECTION.
- FILE-CONTROL.
- * On indique quel fichier on utilise
- SELECT OPTIONAL FICHIER-FILM ASSIGN TO FILE-NAME
- ORGANIZATION SEQUENTIAL
- ACCESS SEQUENTIAL
- FILE STATUS IS FILE-STATUS.
- SELECT OPTIONAL FICHIER-FILM-IND ASSIGN TO FILE-NAME-IND
- ORGANIZATION INDEXED
- ACCESS DYNAMIC
- RECORD KEY film-num
- ALTERNATE RECORD KEY film-mot1 WITH DUPLICATES
- ALTERNATE RECORD KEY film-mot2 WITH DUPLICATES
- FILE STATUS IS FILE-STATUS.
- DATA DIVISION.
- * Déclaration des variables
- FILE SECTION.
- * On fait un truc avec le fichier
- FD FICHIER-FILM.
- 01 F1-ENR PIC x(96).
- FD FICHIER-FILM-IND.
- 01 F2-ENR.
- 02 film-num PIC 9(6).
- 02 film-nom PIC X(50).
- 02 film-mot1 PIC X(20).
- 02 film-mot2 PIC X(20).
- WORKING-STORAGE SECTION.
- 77 recherche-num PIC 9(6).
- 77 lig PIC 99.
- 77 lag PIC 99.
- 77 i PIC 99.
- 77 val-recherche PIC 99.
- 77 saisie-nom PIC X(50).
- 77 saisie-mot1 PIC X(20).
- 77 saisie-mot2 PIC X(20).
- 77 nb-film PIC 9(6).
- 77 fin-fichier PIC 9.
- 77 FILE-NAME PIC X(8) VALUE "FILM.dat".
- 77 FILE-NAME-IND PIC X(11) VALUE "FILMIND.dat".
- 77 wchoix PIC X.
- 77 validation-saisie-film PIC X.
- 77 autre-saisie-film PIC X.
- 77 autre-affichage-film PIC X.
- 77 autre-affichage-8-film PIC X.
- 77 wmsg_erreur PIC X(30).
- 77 validation-suppression-film PIC X.
- 77 autre-suppression-film PIC X.
- 77 validation-modification-film PIC X.
- 77 autre-modification-film PIC X.
- 77 clef PIC X(20).
- 01 FILE-STATUS PIC X(2).
- 88 FILE-NOT-FOUND VALUE "35".
- 01 REDEFINES FILE-STATUS PIC X.
- 88 FILE-OKAY VALUE "0".
- 01 color-table USAGE comp-1.
- 03 black PIC 9(5) VALUE 1.
- 03 blue PIC 9(5) VALUE 2.
- 03 green PIC 9(5) VALUE 3.
- 03 cyan PIC 9(5) VALUE 4.
- 03 red PIC 9(5) VALUE 5.
- 03 magenta PIC 9(5) VALUE 6.
- 03 brown PIC 9(5) VALUE 7.
- 03 white PIC 9(5) VALUE 8.
- 03 backgrnd-black PIC 9(5) VALUE 32.
- 03 backgrnd-blue PIC 9(5) VALUE 64.
- 03 backgrnd-green PIC 9(5) VALUE 96.
- 03 backgrnd-cyan PIC 9(5) VALUE 128.
- 03 backgrnd-red PIC 9(5) VALUE 160.
- 03 backgrnd-magenta PIC 9(5) VALUE 192.
- 03 backgrnd-brown PIC 9(5) VALUE 224.
- 03 backgrnd-white PIC 9(5) VALUE 256.
- 01 ligne-tirets.
- 02 FILLER PIC x(80) VALUE ALL "-".
- 01 ligne-titre.
- 02 FILLER PIC x VALUE "|".
- 02 FILLER PIC x(4) VALUE ALL SPACES.
- 02 FILLER PIC x(70) VALUE
- "IUT Dept Info._ fichier FILMIND.DAT".
- 02 FILLER PIC x(4) VALUE ALL SPACES.
- 02 FILLER PIC x VALUE "|".
- 01 ligne-cadre.
- 02 FILLER PIC x VALUE "|".
- 02 FILLER PIC x(78) VALUE ALL SPACES.
- 02 FILLER PIC x VALUE "|".
- SCREEN SECTION.
- 01 ecran-titre.
- 02 LINE 1 COL 1 PIC x(80) FROM ligne-tirets.
- 02 LINE 2 COL 1 PIC x(80) FROM ligne-titre.
- 02 LINE 3 COL 1 PIC x(80) FROM ligne-tirets.
- 01 ecran-cadre.
- 02 LINE 4 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 5 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 6 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 7 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 8 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 9 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 10 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 11 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 12 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 13 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 14 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 15 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 16 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 17 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 18 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 19 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 20 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 21 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 22 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 23 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 24 COL 1 PIC x(80) FROM ligne-cadre.
- 02 LINE 25 COL 1 PIC x(80) FROM ligne-tirets.
- 01 ecran-menu.
- 02 LINE 5 COL 39 COLOR green VALUE "MENU".
- 02 LINE 7 COL 22
- VALUE "Creation du fichier indexe.................1".
- 02 LINE 10 COL 22
- VALUE "Liste des film (paquets de 8)..............2".
- 02 LINE 11 COL 22
- VALUE "Recherche par mot-clef.....................3".
- 02 LINE 12 COL 22
- VALUE "Recherche par numero.......................4".
- 02 LINE 13 COL 22
- VALUE "Saisie d'un nouveau film...................5".
- 02 LINE 14 COL 22
- VALUE "Modification d'un film.....................6".
- 02 LINE 15 COL 22
- VALUE "Suppression d'un film......................7".
- 02 LINE 19 COL 22
- VALUE "Quitter....................................Q".
- 02 LINE 20 COL 46
- VALUE " ==> Votre choix : ".
- 02 HIGHLIGHT COLOR cyan UPPER PIC X USING wchoix.
- ***************************Ecran saisie/affichage/erreur******************
- 01 ecran-erreur-tous.
- 02 LINE 24 COL 8 COLOR red
- PIC X(30) USING wmsg_erreur.
- ****************************ecran recherche-mot-cle********************************************************
- 01 ecran-mot-cle-film.
- 02 LINE 6 COL 8
- VALUE "MOT-CLE : ".
- 02 HIGHLIGHT COLOR brown PIC X(20) USING clef.
- 02 LINE 23 COL 8 COLOR green
- VALUE "L'appui sur Entree permet de continuer.".
- 01 ecran-affichage-clef.
- 02 LINE lig COL 8 COLOR red PIC 9(6) FROM film-num.
- 02 LINE lig COL 16 PIC X(50) FROM film-nom.
- 02 LINE lag COL 46 PIC X(20) FROM film-mot1.
- 02 LINE lag COL 56 PIC X(20) FROM film-mot2.
- ***********************ecran Suppression-film*********************************************
- 01 ecran-suppression-film.
- 02 LINE 5 COL 8
- VALUE "NUMERO : ".
- 02 HIGHLIGHT COLOR brown PIC 9(6) USING recherche-num.
- 01 ecran-suppression-ok.
- 02 LINE 8 COL 8
- VALUE "TITRE : ".
- 02 HIGHLIGHT COLOR cyan PIC X(50) USING film-nom.
- 02 LINE 10 COL 8
- VALUE "MOT CLE 1 : ".
- 02 HIGHLIGHT COLOR cyan PIC X(20) USING film-mot1.
- 02 LINE 12 COL 8
- VALUE "MOT CLE 2 : ".
- 02 HIGHLIGHT COLOR cyan PIC X(20) USING film-mot2.
- 02 LINE 23 COL 8 COLOR green
- VALUE "L'appui sur Entree permet de continuer.".
- 01 ecran-supression-erreur.
- 02 LINE 22 COL 8 COLOR red
- VALUE "Le numero de ce film n'existe pas. ".
- 02 LINE 23 COL 8 COLOR green
- VALUE "Appuyer sur la touche Entree pour continuer... ".
- 01 ecran-valider-suppression-film.
- 02 LINE 22 COL 8
- VALUE "Valider la suppression de l'enregistrement (O/N): ".
- 02 HIGHLIGHT COLOR cyan PIC X
- USING validation-suppression-film.
- 01 ecran-suppression-film-autre.
- 02 LINE 23 COL 8
- VALUE "Autre film ? (O/N): ".
- 02 HIGHLIGHT COLOR cyan PIC X
- USING autre-suppression-film.
- ****************************ecran Modification-film************************************
- 01 ecran-modification-film.
- 02 LINE 5 COL 8
- VALUE "NUMERO : ".
- 02 HIGHLIGHT COLOR brown PIC 9(6) USING recherche-num.
- 01 ecran-modification-ok.
- 02 LINE 8 COL 8
- VALUE "TITRE : ".
- 02 HIGHLIGHT COLOR cyan PIC X(50) USING film-nom.
- 02 LINE 10 COL 8
- VALUE "MOT CLE 1 : ".
- 02 HIGHLIGHT COLOR cyan PIC X(20) USING film-mot1.
- 02 LINE 12 COL 8
- VALUE "MOT CLE 2 : ".
- 02 HIGHLIGHT COLOR cyan PIC X(20) USING film-mot2.
- 02 LINE 23 COL 8 COLOR green
- VALUE "L'appui sur Entree permet de continuer.".
- 01 ecran-modification-erreur.
- 02 LINE 22 COL 8 COLOR red
- VALUE "Le numero de ce film n'existe pas. ".
- 02 LINE 23 COL 8 COLOR green
- VALUE "Appuyer sur la touche Entree pour continuer... ".
- 01 ecran-valider-modification.
- 02 LINE 22 COL 8
- VALUE "Valider modification (O/N): ".
- 02 HIGHLIGHT COLOR cyan PIC X
- USING validation-modification-film.
- 01 ecran-modification-film-autre.
- 02 LINE 23 COL 8
- VALUE "Autre film ? (O/N): ".
- 02 HIGHLIGHT COLOR cyan PIC X
- USING autre-modification-film.
- *************************AFFICHAGE SEUL************************************
- 01 ecran-affichage-film.
- 02 LINE 5 COL 8
- VALUE "NUMERO : ".
- 02 LINE 5 COL 22 COLOR brown PIC 9(6) FROM film-num.
- 02 LINE 8 COL 8
- VALUE "TITRE : ".
- 02 HIGHLIGHT COLOR cyan UPPER PIC X(50) USING film-nom.
- 02 LINE 10 COL 8
- VALUE "MOT CLE 1 : ".
- 02 HIGHLIGHT COLOR cyan UPPER PIC X(20) USING film-mot1.
- 02 LINE 12 COL 8
- VALUE "MOT CLE 2 : ".
- 02 HIGHLIGHT COLOR cyan UPPER PIC X(20) USING film-mot2.
- 02 LINE 17 COL 8 COLOR green
- VALUE "L'appui sur Entree stoppe l'affichage du film.".
- 01 ecran-affichage-film-autre.
- 02 LINE 23 COL 8 VALUE
- "Quitter l'affichage ? (O/N): ".
- 02 HIGHLIGHT COLOR cyan UPPER PIC X
- USING autre-affichage-film.
- *****************************SAISIE***************************************
- 01 ecran-saisie-film.
- 02 LINE 5 COL 8
- VALUE "NUMERO : ".
- 02 LINE 5 COL 22 COLOR brown PIC 9(6) FROM film-num.
- 02 LINE 8 COL 8
- VALUE "TITRE : ".
- 02 HIGHLIGHT COLOR cyan UPPER PIC X(50) USING saisie-nom.
- 02 LINE 10 COL 8
- VALUE "MOT CLE 1 : ".
- 02 HIGHLIGHT COLOR cyan UPPER PIC X(20) USING saisie-mot1.
- 02 LINE 12 COL 8
- VALUE "MOT CLE 2 : ".
- 02 HIGHLIGHT COLOR cyan UPPER PIC X(20) USING saisie-mot2.
- 02 LINE 17 COL 8 COLOR green
- VALUE "L'appui sur Entree stoppe la saisie du film.".
- 01 ecran-valider-saisie-film.
- 02 LINE 22 COL 8
- VALUE "Valider création (O/N): ".
- 02 HIGHLIGHT COLOR cyan UPPER PIC X
- USING validation-saisie-film.
- 01 ecran-saisie-film-autre.
- 02 LINE 23 COL 8
- VALUE "Autre film ? (O/N): ".
- 02 HIGHLIGHT COLOR cyan UPPER PIC X
- USING autre-saisie-film.
- ***************************AFFICHAGE PAR 8*********************************
- 01 ecran-affichage-film-8.
- 02 LINE lig COL 8 COLOR red PIC 9(6) FROM film-num.
- 02 LINE lig COL 16 PIC X(50) FROM film-nom.
- 02 LINE lag COL 46 PIC X(20) FROM film-mot1.
- 02 LINE lag COL 56 PIC X(20) FROM film-mot2.
- 01 ecran-affichage-8-film-autre.
- 02 LINE 23 COL 8
- VALUE "Quitter l'affichage ? (O/N): ".
- 02 HIGHLIGHT COLOR cyan UPPER PIC X
- USING autre-affichage-8-film.
- ********************RECHERCHE DE FILM*******************************************
- 01 ecran-recherche-film.
- 02 LINE 5 COL 8
- VALUE "NUMERO : ".
- 02 HIGHLIGHT COLOR brown UPPER PIC 9(6) USING recherche-num.
- 01 ecran-recherche-ok.
- 02 LINE 8 COL 8
- VALUE "TITRE : ".
- 02 HIGHLIGHT COLOR cyan UPPER PIC X(50) USING film-nom.
- 02 LINE 10 COL 8
- VALUE "MOT CLE 1 : ".
- 02 HIGHLIGHT COLOR cyan UPPER PIC X(20) USING film-mot1.
- 02 LINE 12 COL 8
- VALUE "MOT CLE 2 : ".
- 02 HIGHLIGHT COLOR cyan UPPER PIC X(20) USING film-mot2.
- 02 LINE 23 COL 8 COLOR green
- VALUE "L'appui sur Entree permet de continuer.".
- 01 ecran-recherche-erreur.
- 02 LINE 8 COL 8 COLOR red
- VALUE "Le numero de ce film n'existe pas. ".
- ***************************************************************************
- PROCEDURE DIVISION.
- main.
- PERFORM menu.
- menu.
- MOVE 0 TO fin-fichier.
- MOVE ALL SPACES TO wchoix.
- OPEN INPUT FICHIER-FILM.
- IF FILE-NOT-FOUND
- OPEN OUTPUT FICHIER-FILM
- ELSE
- CLOSE FICHIER-FILM
- END-IF.
- OPEN INPUT FICHIER-FILM-IND.
- IF FILE-NOT-FOUND
- OPEN OUTPUT FICHIER-FILM-IND
- ELSE
- CLOSE FICHIER-FILM-IND
- END-IF.
- MOVE ALL SPACES TO film-num.
- MOVE ALL SPACES TO film-nom.
- MOVE ALL SPACES TO film-mot1.
- MOVE ALL SPACES TO film-mot2.
- PERFORM WITH TEST AFTER UNTIL wchoix="Q"
- DISPLAY ecran-titre
- DISPLAY ecran-cadre
- DISPLAY ecran-menu
- ACCEPT ecran-menu
- EVALUATE wchoix
- WHEN "1"
- PERFORM copie
- WHEN "2"
- PERFORM ouverture-affichage-8
- WHEN "3"
- PERFORM init-mot-clef
- WHEN "4"
- PERFORM recherche-film
- WHEN "5"
- PERFORM recherche-film
- WHEN "6"
- PERFORM recherche-film
- WHEN "7"
- PERFORM recherche-film
- WHEN "Q"
- PERFORM fin
- **********************Condition si choix différent************************
- END-EVALUATE
- IF wchoix NOT = "1" AND
- wchoix NOT = "2" AND
- wchoix NOT = "3" AND
- wchoix NOT = "4" AND
- wchoix NOT = "5" AND
- wchoix NOT = "6" AND
- wchoix NOT = "7" AND
- wchoix NOT = "Q" THEN
- MOVE ALL SPACES TO wmsg_erreur
- MOVE "Saisie incorrecte" TO wmsg_erreur
- DISPLAY ecran-erreur-tous
- END-IF
- END-PERFORM.
- PERFORM get-return.
- *******************************Recherche-film*********************************
- ouverture-recherche-film.
- OPEN INPUT FICHIER-FILM
- PERFORM recherche-film.
- recherche-film.
- MOVE 0 TO val-recherche.
- DISPLAY ecran-titre.
- DISPLAY ecran-cadre.
- DISPLAY ecran-recherche-film.
- ACCEPT ecran-recherche-film.
- PERFORM get-return.
- PERFORM WITH TEST AFTER UNTIL fin-fichier = 1
- READ FICHIER-FILM
- AT END
- CLOSE FICHIER-FILM
- MOVE 1 TO fin-fichier
- IF val-recherche = 0
- DISPLAY ecran-recherche-erreur
- PERFORM get-return
- PERFORM menu
- END-IF
- NOT AT END
- IF film-num = recherche-num
- MOVE 1 TO val-recherche
- DISPLAY ecran-recherche-ok
- PERFORM get-return
- CLOSE FICHIER-FILM
- PERFORM menu
- END-IF
- END-READ
- END-PERFORM.
- *************************************Affichage-film*******************
- ouverture-affichage.
- OPEN INPUT FICHIER-FILM.
- PERFORM affichage-film.
- affichage-film.
- DISPLAY ecran-titre.
- DISPLAY ecran-cadre.
- PERFORM WITH TEST AFTER UNTIL fin-fichier = 1
- READ FICHIER-FILM
- AT END
- CLOSE FICHIER-FILM
- MOVE 1 TO fin-fichier
- NOT AT END
- DISPLAY ecran-affichage-film
- PERFORM affichage-film-autre
- END-READ
- END-PERFORM.
- PERFORM menu.
- affichage-film-autre.
- DISPLAY ecran-affichage-film-autre.
- ACCEPT ecran-affichage-film-autre.
- IF autre-affichage-film = "O" OR "o"
- CLOSE FICHIER-FILM
- MOVE 0 TO fin-fichier
- PERFORM menu
- END-IF.
- IF autre-affichage-film = "N" OR "n"
- PERFORM affichage-film
- END-IF.
- ******************************************
- IF autre-affichage-film NOT = "O" AND
- autre-affichage-film NOT = "N" AND
- autre-affichage-film NOT = "o" AND
- autre-affichage-film NOT = "n" THEN
- MOVE ALL SPACES TO wmsg_erreur
- MOVE "Saisie incorrecte" TO wmsg_erreur
- DISPLAY ecran-erreur-tous
- PERFORM affichage-film-autre
- END-IF.
- ********************************Saisie-film*******************************
- saisie-film.
- MOVE ALL SPACES TO saisie-nom.
- MOVE ALL SPACES TO saisie-mot1.
- MOVE ALL SPACES TO saisie-mot2.
- MOVE 0 TO fin-fichier.
- PERFORM clrscreen.
- DISPLAY ecran-titre.
- DISPLAY ecran-cadre.
- PERFORM saisie-affi-nb.
- saisie-film-autre.
- DISPLAY ecran-saisie-film-autre.
- ACCEPT ecran-saisie-film-autre.
- IF autre-saisie-film = "O" OR "o"
- PERFORM saisie-film
- END-IF.
- IF autre-saisie-film = "N" OR "n"
- PERFORM menu
- END-IF.
- ***************************************
- IF autre-saisie-film NOT = "O" AND
- autre-saisie-film NOT = "N" AND
- autre-saisie-film NOT = "o" AND
- autre-saisie-film NOT = "n" THEN
- MOVE ALL SPACES TO wmsg_erreur
- MOVE "Saisie incorrecte" TO wmsg_erreur
- DISPLAY ecran-erreur-tous
- END-IF.
- saisie-film-valider.
- DISPLAY ecran-valider-saisie-film.
- ACCEPT ecran-valider-saisie-film.
- IF validation-saisie-film = "O" OR "o"
- MOVE saisie-nom TO film-nom
- MOVE saisie-mot1 TO film-mot1
- MOVE saisie-mot2 TO film-mot2
- OPEN EXTEND FICHIER-FILM
- WRITE F1-ENR
- CLOSE FICHIER-FILM
- PERFORM saisie-film-autre
- END-IF.
- IF validation-saisie-film = "N" OR "n"
- PERFORM clrscreen
- PERFORM saisie-film
- END-IF.
- ***************************************
- IF validation-saisie-film NOT = "O" AND
- validation-saisie-film NOT = "N" AND
- validation-saisie-film NOT = "o" AND
- validation-saisie-film NOT = "n" THEN
- MOVE ALL SPACES TO wmsg_erreur
- MOVE "Saisie incorrecte" TO wmsg_erreur
- DISPLAY ecran-erreur-tous
- END-IF.
- PERFORM get-return.
- saisie-affi-nb.
- OPEN INPUT FICHIER-FILM.
- PERFORM WITH TEST AFTER UNTIL fin-fichier = 1
- READ FICHIER-FILM
- AT END
- MOVE 1 TO fin-fichier
- ADD 1 TO film-num
- END-READ
- END-PERFORM.
- CLOSE FICHIER-FILM.
- DISPLAY ecran-saisie-film.
- ACCEPT ecran-saisie-film.
- PERFORM get-return.
- PERFORM saisie-film-valider.
- ***************Affichage par 8*********************************************
- ouverture-affichage-8.
- MOVE 0 TO fin-fichier.
- OPEN INPUT FICHIER-FILM-IND.
- PERFORM affichage-film-8.
- affichage-film-8.
- PERFORM clrscreen.
- DISPLAY ecran-titre.
- DISPLAY ecran-cadre.
- MOVE 0 TO i
- MOVE 4 TO lig
- MOVE 5 TO lag
- PERFORM WITH TEST AFTER UNTIL fin-fichier = 1
- READ FICHIER-FILM-IND NEXT
- AT END
- MOVE 1 TO fin-fichier
- NOT AT END
- ADD 1 TO i
- COMPUTE lig = lig + 2
- COMPUTE lag = lag + 2
- DISPLAY ecran-affichage-film-8
- IF i = 8
- DISPLAY ecran-affichage-film-8
- MOVE 0 TO i
- MOVE 4 TO lig
- MOVE 5 TO lag
- PERFORM affichage-film-8-autre
- END-IF
- END-READ
- END-PERFORM.
- CLOSE FICHIER-FILM-IND.
- PERFORM get-return.
- MOVE 0 TO i
- MOVE 4 TO lig
- MOVE 5 TO lag
- PERFORM menu.
- affichage-film-8-autre.
- MOVE ALL SPACES TO autre-affichage-8-film.
- DISPLAY ecran-affichage-8-film-autre.
- ACCEPT ecran-affichage-8-film-autre.
- IF autre-affichage-8-film = "O" OR "o"
- CLOSE FICHIER-FILM-IND
- MOVE 0 TO fin-fichier
- PERFORM menu
- END-IF.
- IF autre-affichage-8-film = "N" OR "n"
- PERFORM affichage-film-8
- PERFORM get-return
- END-IF.
- IF autre-affichage-8-film NOT = "O" AND
- autre-affichage-8-film NOT = "N" AND
- autre-affichage-8-film NOT = "o" AND
- autre-affichage-8-film NOT = "n" THEN
- MOVE ALL SPACES TO wmsg_erreur
- MOVE "Saisie incorrecte" TO wmsg_erreur
- DISPLAY ecran-erreur-tous
- PERFORM affichage-film-8-autre
- END-IF.
- ***************************************************************************
- copie.
- MOVE "Creation EN COURS..." TO wmsg_erreur.
- DISPLAY ecran-erreur-tous.
- OPEN INPUT FICHIER-FILM.
- OPEN OUTPUT FICHIER-FILM-IND.
- MOVE 0 TO fin-fichier.
- PERFORM WITH TEST AFTER UNTIL fin-fichier = 1
- READ FICHIER-FILM
- AT END MOVE 1 TO fin-fichier
- NOT AT END
- MOVE F1-ENR TO F2-ENR
- WRITE F2-ENR
- INVALID KEY
- DISPLAY "Erreur écriture"
- PERFORM get-return
- END-WRITE
- END-READ
- END-PERFORM
- CLOSE FICHIER-FILM-IND.
- CLOSE FICHIER-FILM.
- MOVE ALL SPACES TO wmsg_erreur.
- MOVE "Creation TERMINEE." TO wmsg-erreur.
- DISPLAY ecran-erreur-tous.
- PERFORM get-return.
- ************************Procédure mot-clé****************************
- init-mot-clef.
- PERFORM clrscreen.
- MOVE ALL SPACES TO film-mot1.
- DISPLAY ecran-cadre.
- DISPLAY ecran-titre.
- DISPLAY ecran-mot-cle-film.
- ACCEPT ecran-mot-cle-film.
- PERFORM clrscreen.
- MOVE clef TO film-mot1.
- MOVE 0 TO fin-fichier
- OPEN INPUT FICHIER-FILM-IND.
- PERFORM recherche-mot-clef.
- recherche-mot-clef.
- PERFORM clrscreen.
- DISPLAY ecran-cadre.
- DISPLAY ecran-titre.
- START FICHIER-FILM-IND KEY=film-mot1
- INVALID KEY
- MOVE ALL SPACES TO wmsg_erreur
- MOVE "Le mot clef est inexistant." TO wmsg_erreur
- DISPLAY ecran-erreur-tous
- PERFORM get-return
- NOT INVALID KEY
- MOVE 0 TO i
- MOVE 4 TO lig
- MOVE 5 TO lag
- PERFORM WITH TEST AFTER UNTIL fin-fichier = 1
- READ FICHIER-FILM-IND NEXT
- AT END
- MOVE 1 TO fin-fichier
- NOT AT END
- MOVE 0 TO fin-fichier
- IF NOT film-mot1 = clef
- MOVE 1 TO fin-fichier
- ELSE
- ADD 1 TO i
- COMPUTE lig = lig + 2
- COMPUTE lag = lag + 2
- DISPLAY ecran-affichage-clef
- IF i = 8
- DISPLAY ecran-affichage-clef
- MOVE 0 TO i
- MOVE 4 TO lig
- MOVE 5 TO lag
- *----------------
- DISPLAY ecran-affichage-8-film-autre
- ACCEPT ecran-affichage-8-film-autre
- IF autre-affichage-8-film = "O" OR "o"
- CLOSE FICHIER-FILM-IND
- MOVE 0 TO fin-fichier
- PERFORM menu
- END-IF
- IF autre-affichage-8-film = "N" OR "n"
- PERFORM clrscreen
- DISPLAY ecran-cadre
- DISPLAY ecran-titre
- END-IF
- IF autre-affichage-8-film NOT = "O" AND
- autre-affichage-8-film NOT = "N" AND
- autre-affichage-8-film NOT = "o" AND
- autre-affichage-8-film NOT = "n" THEN
- MOVE ALL SPACES TO wmsg_erreur
- MOVE "Saisie incorrecte" TO wmsg_erreur
- DISPLAY ecran-erreur-tous
- PERFORM affichage-film-clef-autre
- END-IF
- *---------------
- END-IF
- END-IF
- END-READ
- END-PERFORM
- PERFORM get-return
- END-START.
- MOVE clef TO film-mot2.
- PERFORM clrscreen.
- DISPLAY ecran-cadre.
- DISPLAY ecran-titre.
- START FICHIER-FILM-IND KEY=film-mot2
- INVALID KEY
- MOVE ALL SPACES TO wmsg_erreur
- MOVE "Le mot clef est inexistant." TO wmsg_erreur
- DISPLAY ecran-erreur-tous
- PERFORM get-return
- NOT INVALID KEY
- MOVE 0 TO i
- MOVE 4 TO lig
- MOVE 5 TO lag
- PERFORM WITH TEST AFTER UNTIL fin-fichier = 1
- READ FICHIER-FILM-IND NEXT
- AT END
- MOVE 1 TO fin-fichier
- NOT AT END
- IF NOT film-mot2 = clef
- MOVE 1 TO fin-fichier
- ELSE
- ADD 1 TO i
- COMPUTE lig = lig + 2
- COMPUTE lag = lag + 2
- DISPLAY ecran-affichage-clef
- IF i = 8
- DISPLAY ecran-affichage-clef
- MOVE 0 TO i
- MOVE 4 TO lig
- MOVE 5 TO lag
- *----------------
- DISPLAY ecran-affichage-8-film-autre
- ACCEPT ecran-affichage-8-film-autre
- IF autre-affichage-8-film = "O" OR "o"
- CLOSE FICHIER-FILM-IND
- MOVE 0 TO fin-fichier
- PERFORM menu
- END-IF
- IF autre-affichage-8-film = "N" OR "n"
- PERFORM clrscreen
- DISPLAY ecran-cadre
- DISPLAY ecran-titre
- END-IF
- IF autre-affichage-8-film NOT = "O" AND
- autre-affichage-8-film NOT = "N" AND
- autre-affichage-8-film NOT = "o" AND
- autre-affichage-8-film NOT = "n" THEN
- MOVE ALL SPACES TO wmsg_erreur
- MOVE "Saisie incorrecte" TO wmsg_erreur
- DISPLAY ecran-erreur-tous
- PERFORM affichage-film-clef-autre
- END-IF
- *---------------
- END-IF
- END-IF
- END-READ
- END-PERFORM
- PERFORM get-return
- END-START.
- CLOSE FICHIER-FILM-IND.
- affichage-film-clef-autre.
- fin.
- STOP RUN.
- clrscreen.
- DISPLAY "" NO ADVANCING WITH BLANK SCREEN.
- get-return.
- ACCEPT OMITTED.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement