Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

REPERT V1.4 (REPERTOIRE D'ADRESSES, TÉLÉPHONES ET MAILS)


Information sur la source

Catégorie :Application complète Classé sous : tkinter, sqlite, listbox, mailing, impression Niveau : Débutant Date de création : 10/12/2007 Date de mise à jour : 10/12/2007 19:08:57 Vu / téléchargé: 2 228 / 123

Note :
Aucune note

Commentaire sur cette source (1)
Ajouter un commentaire et/ou une note

Description

Il s'agit d'un gestionnaire de répertoire d'adresse en Python + Tkinter sous base SQL (SQLite) avec possibilités de recherches par différents critères, envoi direct de mails et impression (avec un appel à un sous programme écrit en wxpython).
Ce n'est pas une nouveauté en soi, mais il est totalement fonctionnel et sait gérer les accents français (même mouliné par Py2exe).
J'utilise ce logiciel sous Windows XP où il fonctionne parfaitement.
NB : il ne faut pas dissocier les 2 programmes repert.py et imprimrepert.pyw. La base de données se créera automatiquement dans le même répertoire.

 

Source

  • voir sources.zip
  • Cette version 1.4 ajoute a la version 1.3 la fonction construire_chaine(row) commune aux 2 listes <recherche()> et <lister()> en remplacement du code qui existait (en double) dans chacune de ces deux fonctions afin d'obtenir des lignes dans les listbox respectives bien alignées même en présence d'accentuation dans les données.
  • def construire_chaine(row) :
  • rnum=str(row[0])
  • rnom=str(row[1])
  • rnom1=rnom.decode('utf-8')
  • rpren=str(row[2])
  • rpren1=rpren.decode('utf-8')
  • radre=str(row[3])
  • radre1=radre.decode('utf-8')
  • rcopo=str(row[4])
  • rcopo1=rcopo.decode('utf-8')
  • rcomm=str(row[5])
  • rcomm1=rcomm.decode('utf-8')
  • rtel1=str(row[6])
  • rtel11=rtel1.decode('utf-8')
  • rtel2=str(row[7])
  • rtel21=rtel2.decode('utf-8')
  • chaine= (rnum+b[0:5-len(rnum)]+rnom+b[0:31-len(rnom1)]+rpren+b[0:21-len(rpren1)]+radre+b[0:36-len(radre1)]
  • +rcopo+b[0:7-len(rcopo1)]+rcomm+b[0:31-len(rcomm1)]+rtel1+b[0:16-len(rtel11)]+rtel2+b[0:16-len(rtel21)])
  • return chaine
voir sources.zip
Cette version 1.4 ajoute a la version 1.3 la fonction construire_chaine(row) commune aux 2 listes <recherche()> et <lister()> en remplacement du code qui existait (en double) dans chacune de ces deux fonctions afin d'obtenir des lignes dans les listbox respectives bien alignées même en présence d'accentuation dans les données.

def construire_chaine(row) :
    rnum=str(row[0])        
    rnom=str(row[1])
    rnom1=rnom.decode('utf-8')
    rpren=str(row[2])
    rpren1=rpren.decode('utf-8')
    radre=str(row[3])
    radre1=radre.decode('utf-8')
    rcopo=str(row[4])
    rcopo1=rcopo.decode('utf-8')
    rcomm=str(row[5])
    rcomm1=rcomm.decode('utf-8')
    rtel1=str(row[6])
    rtel11=rtel1.decode('utf-8')
    rtel2=str(row[7])
    rtel21=rtel2.decode('utf-8')
    chaine= (rnum+b[0:5-len(rnum)]+rnom+b[0:31-len(rnom1)]+rpren+b[0:21-len(rpren1)]+radre+b[0:36-len(radre1)]
       +rcopo+b[0:7-len(rcopo1)]+rcomm+b[0:31-len(rcomm1)]+rtel1+b[0:16-len(rtel11)]+rtel2+b[0:16-len(rtel21)])
    return chaine

Conclusion

Je met ce source à disposition car il peut apporter des réponses à de nombreuses questions que se pose un débutant en python que j'étais il n'y a pas longtemps (et que je suis toujours). Quand aux experts, ils seront les bienvenus à apporter leurs critiques car je me doute bien que le code n'est pas le plus élégant qui soit, il y a sûrement des améliorations possibles. N'hésitez pas à le dire, c'est comme ça qu'on arrive à progresser et je vous en remercie.
Yves Le Chevalier
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

10 décembre 2007 19:08:57 :
Je me suis aperçu, malgré tous les tests que j'avais fait, que les caractères accentués provoquaient un décalage dans les listbox d'autant de caractères qu'il y avait d'accents(2 octets par accent). Il faut donc concaténer les chaines unicodes pour garder les accents, mais en tenant compte de leur longueur sous forme décodée pour pouvoir bien aligner les données en colonnes.

Commentaires et avis

signaler à un administrateur
Commentaire de aera group le 10/12/2007 18:12:12

Ton code m'interresse énormémant, mais je ne sais pas où tu téléchatge la librérie sqlite3 !!!

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

scrollbar dans scrollbox avec TKinter [ par MHI ] Est-ce que quelqu'un sait comment ajouter les scrollbar à une scrollbox :J'ai essayé ceci :lstFile = Tkinter.Listbox(frmMain)lstFile.place(x = 20, y = checkButton avec TKinter [ par MHI ] comment faire pour tester si un checkButton est coché ? [wxPython] apperçu avant impression multipages [ par dj_djocker ] au secour!!!!!!une semaine que je cherche partout mais rien a faire.a travers un logiciel cr&#233;e en python je cr&#233;e une impression d'au moins u Probleme avec TKinter [ par titasse ] Bonjour, je debute en python. J'ai un probleme lorsque je veux importer TKinter avec la commande from TKinter import * j'ai le message suivant : Imp au sujet de Tkinter et le module turtle [ par nico1900 ] from turtle import *forward(120)left(90)&nbsp;color('red')&nbsp;forward(80)bon en fait je voulais tester le module turtle&nbsp;avec&nbsp;l e code ci-d impression [ par jinfido ] j'aimerais utuliser, mon iprimante mais, je ne trouves pas la commande thx, Un Canvas comme dans Tkinter, mais pour wxPython [ par samurize ] Slt tout le monde. &nbsp; Voila tout est dans le titre (ou a peu pres&nbsp; ) : &nbsp; Je suis &#224; la recherche d'un module pouvant s'integrer da Taille de widgets sous Tkinter [ par Uims ] Bonjour, Quelqu"un saurait comment definir la taille d'un widgets sous tkinter??? Exemple: fen 1 = Tk(taille=600) J'espere que je me fait comprend Ouverture d'un fichier windows (avec Tkinter) [ par Uims ] Bonjour, Je travaille sous python et Tkinter et j'aurai voulu savoir comment dire a python de demarrer (comme on clique sur un fichier) une applicati Tkinter et Python [ par Telimektar1er ] Voila j'ai commenc&#233; e python il y a une semaine et jusqu &#224; aujourd'hui aucun probl&#232;me. Mais voil&#224;, je viens de commencer la cr&#23


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,764 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.