DECLARE SUB Recherche () DECLARE SUB Nouveau () DECLARE SUB Aller () DECLARE SUB Liste () COMMON SHARED Fichier$ ON ERROR GOTO Correct 'Initialisation TYPE TClient Numero AS INTEGER Prenom AS STRING * 30 END TYPE Fichier$ = "profils.txt" SCREEN 12 DO PRINT " [N]ouveau client" PRINT " [A]ller …" PRINT " [L]iste" PRINT " [R]echerche" PRINT " [Q]uitter" DO Touche$ = UCASE$(INKEY$) LOOP UNTIL Touche$ <> "" SELECT CASE Touche$ CASE "N" Nouveau CASE "A" Aller CASE "L" Liste CASE "R" Recherche CASE ELSE CLS END SELECT LOOP UNTIL Touche$ = "Q" END Correct: 'Cr‚e le fichier stockant les infos s'il n'existe pas déja SELECT CASE ERR CASE 53 CLOSE #1 OPEN "Nombre.txt" FOR OUTPUT AS #1 CLOSE #1 END SELECT RESUME NEXT SUB Aller DIM client AS TClient CLS PRINT "*** Aller … un num‚ro de profil ***" PRINT INPUT "Num‚ro du profil … rechercher : ", Numero OPEN Fichier$ FOR RANDOM AS #1 LEN = LEN(client) GET #1, Numero, client CLOSE #1 PRINT "Pr‚nom : ", client.Prenom END SUB SUB Liste DIM client AS TClient CLS PRINT "*** Afficher une liste de profil ***" PRINT INPUT "Faire une liste du num‚ro : ", a INPUT "au num‚ro : ", b COLOR 12 PRINT "" FOR Numero = a TO b OPEN Fichier$ FOR RANDOM AS #1 LEN = LEN(client) GET #1, Numero, client CLOSE #1 IF client.Numero <> 0 THEN PRINT "", client.Numero; " --> ", client.Prenom END IF NEXT COLOR 15 PRINT "" END SUB SUB Nouveau DIM client AS TClient CLS PRINT "*** Cr‚ation d'un nouveau profil ***" PRINT OPEN "Nombre.txt" FOR INPUT AS #1 INPUT #1, Num CLOSE #1 IF Num = 0 THEN Num = 1 client.Numero = Num INPUT "Pr‚nom : ", client.Prenom PRINT "Num‚ro de profil : "; Num DO at$ = INKEY$ LOOP UNTIL (at$ <> "") PRINT "" OPEN Fichier$ FOR RANDOM AS #1 LEN = LEN(client) PUT #1, client.Numero, client CLOSE #1 PRINT "" Num = Num + 1 OPEN "Nombre.txt" FOR OUTPUT AS #1 PRINT #1, Num CLOSE #1 END SUB SUB Recherche DIM client AS TClient CLS PRINT "*** Rechercher un profil ***" PRINT INPUT "Entrez le d‚but du pr‚nom … rechercher ", a$ nbletter = LEN(a$) COLOR 12 PRINT "" FOR Numero = 1 TO 100 OPEN Fichier$ FOR RANDOM AS #1 LEN = LEN(client) GET #1, Numero, client CLOSE #1 startprofil$ = LEFT$(client.Prenom, nbletter) IF startprofil$ = a$ THEN PRINT "", client.Numero; " --> ", client.Prenom END IF NEXT COLOR 15 PRINT "" END SUB