1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
| #!/usr/bin/python
# *- coding: iso-8859-1 -*
import sys
import os
import string
import wx #importation du modulegraphique wx
import winsound
ID_PARENT = 1000 #control ID de la fenetre principale
#classe fenetre principalemenus et boutons
class LesMenus(wx.Frame):
def __init__(self, titre):
wx.Frame.__init__(self, None, ID_PARENT, title = titre, size = (800, 600))
self.panel = wx.Panel(self, -1, pos=(10,50),size=(300,400))
self.panel.SetBackgroundColour('black')
menuFichier = wx.Menu(style = wx.MENU_TEAROFF)
menuFichier.Append(wx.ID_EXIT, "&Quitter\tCTRL+q")
menuAide = wx.Menu(style = wx.MENU_TEAROFF)
menuAide.Append(wx.ID_ABOUT, "&A propos ...\tCTRL+N")
#Barre de menu et affichage des menus dans cette barre
menuBarre = wx.MenuBar()
menuBarre.Append(menuFichier, "&Fichier")
menuBarre.Append(menuAide, "&Aide")
self.SetMenuBar(menuBarre)
#creation des boutons
boutonNiveau1 = wx.Button(self.panel, -1, "Recherche", pos=(200, 200))
boutonNiveau2 = wx.Button(self.panel, -1, "Ajouter", pos=(200, 250))
boutonAide = wx.Button(self.panel, -1, "Aide", pos=(600, 415))
boutonExit = wx.Button(self.panel, -1, "Quitter", pos=(700, 415))
#evenements des menus
wx.EVT_MENU(self, wx.ID_EXIT, self.OnExit)
wx.EVT_MENU(self, wx.ID_ABOUT, self.OnAbout)
#evenements des boutons
self.Bind(wx.EVT_BUTTON, self.OnExit, boutonExit)
self.Bind(wx.EVT_BUTTON, self.OnAbout, boutonAide)
self.Bind(wx.EVT_BUTTON, self.search, boutonNiveau1)
self.Bind(wx.EVT_BUTTON, self.EcrireFichier, boutonNiveau2)
#definition du menu quitter
def OnExit(self, evt):
self.Destroy()
#definition du menu a propos
def OnAbout(self, evt):
d = wx.MessageDialog(self, "Petit ageinda", "A propos :Diagnostique ", wx.OK)
d.ShowModal()
d.Destroy()
def search(self, evt):
#nmf est nom de mon fichier
nmf = 'lecture.txt'
#db est un variable quelconque, don le nom de mon fichier et un paramètre r pour read
db = file(nmf,'r')
#Db.readlines pour lire tous les lignes. A ne pas oublier le s a la fin de line
liste = db.readlines()
#Db.close veut dire fermer le fichier.
db.close()
n = wx.TextEntryDialog(self,"Entrez le nom ici","",style = wx.OK | wx.CANCEL | wx.CENTRE)
#afficher la fenêtre tant et aussi longtemps que l'on ne la fermera pas
reponse = n.ShowModal()
#Récupération du text entré
nn = n.GetValue()
if reponse == wx.ID_OK or n == "":
winsound.PlaySound('c:/Python25/wav_tel/bing.wav', winsound.SND_NODEFAULT)
#n.Destroy()
#recuperation du nombre en string
for i in liste:
if i.find(nn) <> -1:
winsound.PlaySound('c:/Python25/wav_tel/bing.wav', winsound.SND_NODEFAULT)
n = wx.MessageDialog(self, "le résultat est: "+i, "affichage du résultat", wx.OK)
n.ShowModal()
n.Destroy()
return
def EcrireFichier(self, evt):
fichier = open('lecture.txt', 'a')
ligne = wx.TextEntryDialog(self,"Entrez le texte ici","",style = wx.OK | wx.CANCEL | wx.CENTRE)
#afficher la fenêtre tant et aussi longtemps que l'on ne la fermera pas
reponse = ligne.ShowModal()
#Récupération du text entré
nn = ligne.GetValue()
#recuperation du nombre en string
if nn != '':
fichier.write(nn +"\n")
fichier.close()
ligne.Destroy()
return
#la classe de l'application
class MonApp(wx.App):
def OnInit(self):
fen = LesMenus("Numéro de Téléphone")
fen.Show(True)
self.SetTopWindow(fen)
return True
#boucle principale
app = MonApp()
app.MainLoop() |
Partager