DAIGL – Développement – TD/TP – Fonctions et procédures
2.2. Panneau "Rechercher"
Cette page permet de rechercher un ou plusieurs films donc le critère de recherche est basé sur une durée
comprise entre deux valeurs exprimées sous la forme de deux entiers (nombres de minutes). Seul le titre
des films répondant aux critères imposés sont affichés dans la "liste résultat".
Variable Classe Commentaire
b_rechercher wx.Button Déclencher la recherche des films dont la durée est comprise
entre les deux valeurs indiquées.
b_annuler wx.Button RAZ de tous les champs de saisies.
tc_min wx.TextCtrl Saisir la durée minimale.
tc_max wx.TextCtrl Saisir la durée maximale.
lb_films wx.ListBox Afficher la liste des films après application du filtre.
2.3. Panneau "Insérer"
Variable Classe Commentaire
b_inserer wx.Button Déclencher l'insertion d'un nouveau film dans la liste.
b_annuler wx.Button RAZ de tous les champs de saisies.
tc_titre wx.TextCtrl Saisir le titre du film.
tc_duree wx.TextCtrl Saisir la durée du film sous la forme "hh:mm".
tc_dateSortie wx.TextCtrl Saisir la date de sortie du film sous la forme "jj/mm/aaaa".
c_genre wx.Choice Choisir le genre du film.
Genres autorisés : Drame, Comédie, Action, Guerre, Animation, Historique, Policier, Thriller, SF, Horreur,
Western et Documentaire.
3- Organisation et persistance des données
Vous avez décidé de simuler la base de données recensant l'ensemble des films dont les fiches sont
consultables sur Internet, par un fichier texte nommé films.txt. Au lancement de l'application, la
procédure lireBase() recopie le contenu du fichier films.txt dans une variable globale nommée
Films (voir déclaration ci-après), et en fin d'exécution, le contenu de cette variable est recopié dans le
fichier films.txt par appel à la procédure ecrireBase(). Une ligne du fichier films.txt correspond à
un film et est structurée de la façon suivante : "titre:durée:date_sortie:genre". Le champ durée
est exprimé sous la forme d'un entier (nombre de minutes) et le champ date_sortie est exprimé sous la
forme d'une chaîne de caractères au format "jj/mm/aaaa".
Après recopie des données en mémoire vive, le tableau Films est à l'image du fichier films.txt (une
ligne du fichier pour un élément du tableau). Ce tableau pouvant ne pas être rempli, la variable globale
nb_films nous permet de connaître à tout instant, le nombre de films mémorisés. Il faut donc prévoir la
gestion de cette variable dans les différents algorithmes qui constituent l'application (exemple : incrémenter
la valeur de nb_films lors de l'insertion d'un nouveau film).
Déclaration des variables globales :
Constantes :
NB_FILMS = 10000
NB_GENRES = 12
Variables globales :
Films[NB_FILMS] : Chaîne
nb_films : Entier
Genres[NB_GENRES] : Chaîne
La variable Genres permet de recenser tous les genres reconnus. Cette variable est initialisée au lancement
de l'application.
page 2