Global qui marche pas Python

Résolu
dorious Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai commencer la programmation il y à 1 mois, je n'ai encore jamais poster d'annonce sur des forum car je parfaire me débrouiller seul mais la je n'arrive pas à trouver d'où vient le problème. J'essais de faire une messagerie de faire une messagerie et l'endroits ou je n'arrive pas c'est pour que le texte sois ouvert. J'ai bien mis en global entrermessage puis se qu'était entrermessage mais sa me mes NameError: name 'entrermessage' is not defined
merci d'avance


from tkinter import *
from tkinter import Tk
import os
import time

bienvenu = Tk()

def inscription_code():
nom_inscription = nominscrire_entry.get()
code_insciption = Passinscrire_entry.get()
insciption_nom = os.listdir()
if str(nom_inscription) + ".txt" in insciption_nom:
rater = Label(framme, text="le nom d'utilisateur existe deja", font=("Impact", 20), bg='#3A7498', fg='#8C0647')
rater.pack(expand=YES)
framme.pack(expand=YES)

else:
file = open(str(nom_inscription) + ".txt", "w")
file.write(str(nom_inscription) + ":" + str(code_insciption))
file.close()
return connection()

def connection_code():
nom_login = nomlogin_entry.get()
code_login = Passlogin_entry.get()
nom_fichier = os.listdir()
if str(nom_login) + ".txt" in nom_fichier :
file1 = open(str(nom_login) + ".txt", "r")
compte = file1.read().split(":")
file1.close()
if code_login == compte[1]:
return choisir()



else:
rater = Label(framme, text="vottre nom ou mots de passe est faux", font=("Impact", 20), bg='#3A7498',fg='#8C0647')
rater.pack(expand=YES)
framme.pack(expand=YES)

else:
framme.pack(expand=YES)
rate = Label(framme, text="vottre nom ou mots de passe est faux", font=("Impact", 20), bg='#3A7498', fg='#8C0647')
rate.pack(expand=YES)
framme.pack(expand=YES)

def memo_code():
letext = text.get("1.0", "end")
nom = nomlogin_entry.get()

file = open(str(nom) + "memo" + ".txt", 'w')
file.write(str(letext))
file.close()

def partager_code():
lenom = entrer.get()
personne = os.listdir()
letext = text.get("1.0", "end")
global n
n = 1
if str(lenom) + ".txt" in personne :
if str(lenom) + "message" + ".txt" in personne or str(lenom) + "message" + str(n) + ".txt" in personne:
while str(lenom) + "message" + str(n) + ".txt" in personne:
n = n+1
return plusieur_memo()
else:
frome.pack(expand=YES)
ratter = Label(frome, text="votre corespondant n'éxiste pas", font=("Impact", 20), bg='#3A7498', fg='#8C0647')
ratter.pack()
return memo()

file = open(str(lenom) + "message"+ ".txt", "w")
file.write(str(letext))
file.close()
frome.pack(expand=YES)
reussi = Label(frome, text="votre corespondant à bien ressu votre memo", font=("Impact", 20), bg='#3A7498',fg='#8C0647')
reussi.pack()
return memo()

def liremessage():
message_interface = Tk()
message_interface.title("memo")
message_interface.wm_geometry("1200x780")
message_interface.minsize(800, 700)
# message_interface.iconbitmap("petit (1).ico")
message_interface.config(background='#3A7498')

menu = Menu(message_interface)
contenu = Menu(menu, tearoff=0)
lecontenu = Menu(menu, tearoff=0)
contenu.add_command(label="quiter (cliquer plusieur fois)", command=bienvenu.quit)
lecontenu.add_command(label="se connecter", command=connection)
lecontenu.add_command(label="boite de resseption", command=message)
menu.add_cascade(label="menu", menu=contenu)
menu.add_cascade(label="pages", menu=lecontenu)
message_interface.config(menu=menu)

titre = Label(message_interface, text="écrivez votre memo", font=("Algerian", 50), bg='#3A7498', fg='#8C0647')
titre.pack()

untext = Text(message_interface, font=("Georgia Pro Cond Black", 30), bg='#427CA4', fg='#72BFB8')
untext.pack()


personne = os.listdir()
nom = nomlogin_entry.get()
unmessage = entrermessage.get()
if nom + unmessage in personne:
fichier = open(str(nom) + str(entrermessage) + ".txt", "r")
lemessage = fichier.read()
text.insert("1.0", lemessage)
else:
print(":'(")





def verifie():
nom = nomlogin_entry.get()
personne = os.listdir()
if str(nom) + ".txt" in personne:
return memo_code()
else:
return verifie_erreur()


def verifie_erreur():
erreur = Tk()
erreur.title("choisir")
erreur.wm_geometry("800x700")
erreur.minsize(800, 700)
# erreur.iconbitmap("petit (1).ico")
erreur.config(background='#3A7498')

fragement = Frame(erreur, bg='#3A7498')
erreur_text = Label(fragement, text="action impossible, vous avez modifier vottre nom d'utilisateur", font=("Algerian", 15), bg='#3A7498', fg='#8C0647')
erreur_text.pack()
fragement.pack(expand=YES)

menu = Menu(erreur)
contenu = Menu(menu, tearoff=0)
lecontenu = Menu(menu, tearoff=0)
contenu.add_command(label="quiter (cliquer plusieur fois)", command=bienvenu.quit)
lecontenu.add_command(label="se connecter", command=connection)
lecontenu.add_command(label='memo', command=memo)
lecontenu.add_command(label="boite de resseption", command=message)
menu.add_cascade(label="menu", menu=contenu)
menu.add_cascade(label="pages", menu=lecontenu)
erreur.config(menu=menu)








def plusieur_memo():
lenom = entrer.get()
letext = text.get("1.0", "end")

file = open(str(lenom)+ "message" + str(n) + ".txt", "w")
file.write(str(letext))
file.close()

frome.pack(expand=YES)
reussi = Label(frome, text="votre corespondant à bien ressu votre memo", font=("Impact", 20), bg='#3A7498', fg='#8C0647')
reussi.pack()
return memo()


def choisir():
choisir_ = Tk()
choisir_.title("choisir")
choisir_.wm_geometry("800x700")
choisir_.minsize(800, 700)
# choisir_.iconbitmap("petit (1).ico")
choisir_.config(background='#3A7498')

freme = Frame(choisir_, bg='#3A7498')
choisir_titre = Label(freme, text="choisir", font=("Algerian", 50), bg='#3A7498', fg='#8C0647')
freme.pack(expand=YES)
choisir_titre.pack(expand=YES)

ouvrir = Button(freme, text="ouvrir", font=("Georgia Pro Cond Black", 18), bg="#3A7498", fg="#72BFB8", command=memo)
ouvrir.pack()
boite_de_resseption = Button(freme, text="boite de resseption", font=("Georgia Pro Cond Black", 18), bg="#3A7498", fg="#72BFB8", command=message)
boite_de_resseption.pack(expand=YES)

menu = Menu(choisir_)
contenu = Menu(menu, tearoff=0)
lecontenu = Menu(menu, tearoff=0)
contenu.add_command(label="quiter (cliquer plusieur fois)", command=bienvenu.quit)
lecontenu.add_command(label="se connecter", command=connection)
lecontenu.add_command(label='memo', command=memo)
lecontenu.add_command(label="boite de resseption", command=message)
menu.add_cascade(label="menu", menu=contenu)
menu.add_cascade(label="pages", menu=lecontenu)
choisir_.config(menu=menu)

def message():
global lemessage
lemessage = Tk()
lemessage.title("boite de resseption")
lemessage.wm_geometry("800x700")
lemessage.minsize(800, 700)
# lemessage.iconbitmap("petit (1).ico")
lemessage.config(background='#3A7498')

menu = Menu(lemessage)
contenu = Menu(menu, tearoff=0)
lecontenu = Menu(menu, tearoff=0)
contenu.add_command(label="quiter (cliquer plusieur fois)", command=bienvenu.quit)
lecontenu.add_command(label="se connecter", command=connection)
lecontenu.add_command(label='memo', command=memo)
lecontenu.add_command(label="boite de resseption", command=message)
menu.add_cascade(label="menu", menu=contenu)
menu.add_cascade(label="pages", menu=lecontenu)
lemessage.config(menu=menu)

gg = Frame(lemessage, bg='#3A7498')
lenom = nomlogin_entry.get()
personne = os.listdir()
m = 1
if str(lenom)+ "message" + ".txt" in personne:
partage = Button(gg, text="message", font=("Georgia Pro Cond Black", 18), bg="#3A7498", fg="#72BFB8")
partage.pack()
if str(lenom) + "message" + str(m) + ".txt" in personne:
text = Label(lemessage, text="message", font=("Algerian", 30), bg='#3A7498', fg='#8C0647')
text.pack()
while str(lenom) + "message" + str(m) + ".txt" in personne:
text = Label(lemessage, text="message" + str(m), font=("Algerian", 30), bg='#3A7498', fg='#8C0647')
text.pack()
m = m+1
global entrermessage
entermessage = Entry(lemessage, font=("Forte", 30), bg="#3A7498", fg="#8C0647", width=25)
entermessage.pack()
boutonmessage = Button(lemessage,text="entrer", font=("Georgia Pro Cond Black", 18), bg="#3A7498", fg="#72BFB8", command=liremessage)
boutonmessage.pack()

else:
text = Label(lemessage, text="vous n'avez aucun nousveau message", font=("Algerian", 30), bg='#3A7498', fg='#8C0647')
text.pack()
lemessage.quit()



def partager():
lepartager= Tk()
lepartager.title("partager")
lepartager.wm_geometry("800x700")
lepartager.minsize(800, 700)
# lepartager.iconbitmap("petit (1).ico")
lepartager.config(background='#3A7498')

menu = Menu(lepartager)
contenu = Menu(menu, tearoff=0)
lecontenu = Menu(menu, tearoff=0)
contenu.add_command(label="quiter (cliquer plusieur fois)", command=bienvenu.quit)
lecontenu.add_command(label="se connecter", command=connection)
lecontenu.add_command(label='memo', command=memo)
lecontenu.add_command(label="boite de resseption", command=message)
menu.add_cascade(label="menu", menu=contenu)
menu.add_cascade(label="pages", menu=lecontenu)
lepartager.config(menu=menu)


global frome
frome= Frame(lepartager, bg='#3A7498')
titre = Label(frome, text="partager à", font=("Algerian", 50), bg='#3A7498', fg='#8C0647')
titre.pack(expand=YES)
global entrer
entrer = Entry(frome, font=("Forte", 30), bg='#3A7498', fg='#8C0647')
entrer.pack()
partager_fin = Button(frome, text="partager", font=("Georgia Pro Cond Black", 18), bg="#3A7498", fg="#72BFB8", command=partager_code)
partager_fin.pack(expand=YES)
frome.pack(expand=YES)






def memo():
memo_interface = Tk()
memo_interface.title("memo")
memo_interface.wm_geometry("1200x780")
memo_interface.minsize(800, 700)
# memo_interface.iconbitmap("petit (1).ico")
memo_interface.config(background='#3A7498')

menu = Menu(memo_interface)
contenu = Menu(menu, tearoff=0)
lecontenu = Menu(menu, tearoff=0)
contenu.add_command(label="quiter (cliquer plusieur fois)", command=bienvenu.quit)
lecontenu.add_command(label="se connecter", command=connection)
lecontenu.add_command(label="boite de resseption", command=message)
menu.add_cascade(label="menu", menu=contenu)
menu.add_cascade(label="pages", menu=lecontenu)
memo_interface.config(menu=menu)

frime = Frame(memo_interface, bg='#3A7498')
titre = Label(memo_interface, text="écrivez votre memo", font=("Algerian", 50), bg='#3A7498', fg='#8C0647')
titre.pack()

global text
text = Text(frime, font=("Georgia Pro Cond Black", 30), bg='#427CA4', fg='#72BFB8')
text.pack()

nom = nomlogin_entry.get()
nom_fichier = os.listdir()
if str(nom) + "memo" + ".txt" in nom_fichier :
file1 = open(str(nom) + "memo" + ".txt", "r")
memo = file1.read()
text.insert("1.0", memo)


sauvgarder = Button(memo_interface, text="sauvgarder", font=("Georgia Pro Cond Black", 18), bg="#3A7498", fg="#72BFB8", command=verifie)
sauvgarder.pack()
buton_partager = Button(memo_interface, text="partager", font=("Gabriola", 18), bg="#3A7498", fg="#72BFB8", command=partager)
buton_partager.pack()
buton_partager.place(x=2)
frime.pack()




def connection():
login = Tk()
login.title("login")
login.wm_geometry("1200x780")
login.minsize(800, 700)
# login.iconbitmap("petit (1).ico")
login.config(background='#3A7498')
login_frame = Frame(login, bg='#3A7498')
nom = Label(login_frame, text="nom:", font=("Georgia Pro Cond Black", 30), width=15, bg='#3A7498', fg='#72BFB8')
nom.grid(row=0, column=0)
global nomlogin_entry
nomlogin_entry = Entry(login_frame, font=("Forte", 30), bg='#3A7498', fg='#8C0647', width=25)
nomlogin_entry.grid(row=0, column=1)


Space = Label(login_frame,text="",bg="#3A7498",height=1)
Space.grid(row=1,column=0)

Pass = Label(login_frame, text="Mot de passe :", font=("Georgia Pro Cond Black", 30), width=15, bg="#3A7498", fg="#72BFB8")
Pass.grid(row=2, column=0)
global Passlogin_entry
Passlogin_entry = Entry(login_frame, font=("Forte", 30), bg="#3A7498", fg="#8C0647", width=25)
Passlogin_entry.grid(row=2, column=1)

Space = Label(login_frame, text="", bg="#3A7498", height=1)
Space.grid(row=4, column=0)

#Bouton Login
Login_button = Button(login_frame,text="se connecter",font=("Georgia Pro Cond Black",18),bg="#3A7498",fg="#72BFB8", command=connection_code)
Login_button.grid(row=4,column=1)
login_frame.pack(expand=YES)


frime = Frame(login, bg='#3A7498')
inscire_button = Button(frime, text="vous n'avez pas de compte?", font=("Georgia Pro Cond Black", 18), bg="#3A7498", fg="#72BFB8", command=Inscription)
frime.pack(expand=YES)
inscire_button.pack(expand=YES)


menu = Menu(login)
contenu = Menu(menu, tearoff=0)
contenu.add_command(label="quiter (cliquer plusieur fois)", command=bienvenu.quit)
menu.add_cascade(label="menu", menu=contenu)
login.config(menu=menu)

global framme
framme = Frame(login, bg='#3A7498')
login.mainloop()



def Inscription() :

inscrire = Tk()
inscrire.title("insciption")
inscrire.wm_geometry("1200x780")
inscrire.minsize(800, 700)
# inscrire.iconbitmap("petit (1).ico")
inscrire.config(background='#3A7498')
inscrire_frame = Frame(inscrire, bg='#3A7498')



nom = Label(inscrire_frame, text="nom:", font=("Georgia Pro Cond Black", 30), width=15, bg='#3A7498', fg='#72BFB8')
nom.grid(row=0, column=0)
global nominscrire_entry
nominscrire_entry = Entry(inscrire_frame, font=("Forte", 30), bg='#3A7498', fg='#8C0647', width=25)
nominscrire_entry.grid(row=0, column=1)

Space = Label(inscrire_frame,text="",bg="#3A7498",height=1)
Space.grid(row=1,column=0)

Pass = Label(inscrire_frame, text="Mot de passe :", font=("Georgia Pro Cond Black", 30), width=15, bg="#3A7498", fg="#72BFB8")
Pass.grid(row=2, column=0)
global Passinscrire_entry
Passinscrire_entry = Entry(inscrire_frame, font=("forte", 30), bg="#3A7498", fg="#8C0647", width=25)
Passinscrire_entry.grid(row=2, column=1)

Space = Label(inscrire_frame, text="", bg="#3A7498", height=1)
Space.grid(row=4, column=0)

#Bouton inscrire
inscrire_button = Button(inscrire_frame,text="s'inscire",font=("Georgia Pro Cond Black",18),bg="#3A7498",fg="#72BFB8", command=inscription_code)
inscrire_button.grid(row=4,column=1)
inscrire_frame.pack(expand=YES)

global framme
framme = Frame(inscrire, bg='#3A7498')

menu = Menu(inscrire)
contenu = Menu(menu, tearoff=0)
contenu.add_command(label="quiter (cliquer plusieur fois)", command=bienvenu.quit)
menu.add_cascade(label="menu", menu=contenu)
inscrire.config(menu=menu)

inscrire.mainloop()




def acceil():
bienvenu.title("doriouslebg")
bienvenu.wm_geometry("1200x780")
bienvenu.minsize(800, 700)
# bienvenu.iconbitmap("petit (1).ico")
bienvenu.config(background='#3A7498')

frame = Frame(bienvenu, bg='#3A7498')

label_title = Label(frame, text="bienvenu sur ma premiere app", font=("Algerian", 50), bg='#3A7498', fg='#8C0647')
label_title.pack()

label_subtitel = Label(frame, text="c'est ma premiere applie, soyez sympa", font=("Algerian", 30), bg='#3A7498', fg='#8C0647')
label_subtitel.pack(expand=YES)
frame.pack(expand=YES)

menu = Menu(bienvenu)
contenu = Menu(menu, tearoff=0)
contenu.add_command(label="quitter (cliquer plusieur fois)", command=bienvenu.quit)
menu.add_cascade(label="menu", menu=contenu)

bienvenu.config(menu=menu)

sidentifier = Button(frame, text="se connecter", font=("Goudy Stout", 25), bg='#DC80AE', fg='#8C0647', command=connection)
sidentifier.pack(pady=100)

inscrire = Button(frame, text="s'inscrire", font=("Goudy Stout", 25), bg='#DC80AE', fg='#8C0647',
command=Inscription)
inscrire.pack(pady=100)

bienvenu.mainloop()

acceil()
A voir également:

4 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour,
tu n'expliques pas comment obtenir ce message d'erreur.
qu'essaies-tu d'obtenir en utilisant
global
? c'est d'autant plus bizarre que tu mets ce
global
dans une fonction où tu n'utilises pas cette variable.
0
dorious Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
merci, j'avais pas pensé à mettre la variable dans l'autre fonction
0
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Bonjour,

C'est normal que ton Entry s'appelle entermessage et que tu fasses entrermessage.get() ?
0
dorious Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
pour le entermessage c'est un nom que j'ai mis rendom.
après le .get() j'ai jamais compris à quoi il servait mais à chaque fois qu'il y avait du texte j'ai remarquer qu'il en avais besoin. J'ai essayer sans et sa change rien.
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
Oups, c'est dangereux d'écrire un programme sans comprendre à quoi cela sert!
1
Phil_1857 Messages postés 1872 Date d'inscription   Statut Membre Dernière intervention   168
 
Bonjour,

.get() sert à récupérer le texte de l'Entry, donc si tu fais

enter_message = Entry(.....)


il faut faire

msg = enter_message.get()
0