truc2geek

2012/06/09

Carnet d’Adresses, part 2 : code minimal

Filed under: Carnet d'adresses (Python), Projets, Python, SQLite — Étiquettes : , , , — truc2geek @ 16:57

on va écrire une première version du code puis le faire évoluer.
voir en fin d’article pour les liens vers la BD et les trois versions de l’application.

les menus

on répartit l’accès aux diverses fonctions dans deux menus :
le menu « Accueil » regroupe l’accès au menu Principal et les fonctions « annexes »
le menu « Principal » regroupe les fonctions principales

le menu Accueil :
principal
aide
version
quitter
exporter
réinitialiser BD

le menu principal :
accueil
recherche
gérer adresses
gérer personnes
gérer groupes

le code

v0_001

Cette première ébauche contient simplement le code permettant de naviguer dans les menus.

1e ligne : l’encodage

l’import du module sys

les fonctions


v0_002

dans la fonction Accueil() comme dans la fonction Principal(), on commence par afficher le menu à l’utilisateur.
on a donc déjà deux fois le même traitement à effectuer, sans compter d’éventuels futurs menus supplémentaires.
on va donc créer une fonction qui s’occupera de ce traitement, et qui appellera directement la fonction ValidChoix().

code de la fonction AfficherMenu() :

Et voici l’impact sur les fonctions concernées, par exemple ci-dessous pour la fonction Principal() :

ancienne version de la fonction Principal :

nouvelle version de la fonction Principal :

v0_003

L’application va utiliser une Base de Données SQLite, et est inutile sans celle-ci.
Il faut donc coder deux fonctions :
l’une qui vérifie, dès l’ouverture de l’application, que la BD est bien présente dans le dossier dans lequel se trouve l’application, et qu’on peut s’y connecter.
l’autre qui  établit une connexion à la BD : on appellera cette fonction avant chaque requête.

la fonction de test

lancée une seule fois : au démarrage de l’application :
détermine le chemin du dossier courant : utiliser la fonction getcwd() du module os
vérifie si ce dossier contient un fichier nommé « CarnetAdresse » (sans extension) : utiliser la fonction path.isfile() du module os
on stocke ce chemin d’accès dans une variable globale, vChemBase, puis on effectue le test.
si ce fichier existe, tenter de s’y connecter, pour vérifier s’il s’agit bien d’un fichier de type BD sqlite3
on considère que si on peut s’y connecter, c’est bien le fichier BD attendu (pour en être absolument certain on pourrait aussi vérifier
le nom des tables contenues dans ce fichier BD)

on ajoute l’import du module os :

on ajoute la variable globale, qu’on initialise avec une chaîne vide :

la fonction de test :

la fonction de connexion

Cette fonction nomée Connect(), retourne un objet cursor() par lequel on utilisera la BD.

import du module sqlite3

fonction Connect()

au démarrage de l’application :

liens

lien vers le fichier BD et les trois versions de l’appli

 

Publicités

Laisser un commentaire »

Aucun commentaire pour l’instant.

RSS feed for comments on this post. TrackBack URI

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Créez un site Web ou un blog gratuitement sur WordPress.com.

%d blogueurs aiment cette page :