Global qui marche pas Python

Résolu/Fermé
dorious Messages postés 5 Date d'inscription samedi 18 juin 2022 Statut Membre Dernière intervention 23 février 2023 - 18 juin 2022 à 17:22
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 - 19 juin 2022 à 08:28
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()

4 réponses

yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
18 juin 2022 à 19:52
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 samedi 18 juin 2022 Statut Membre Dernière intervention 23 février 2023
18 juin 2022 à 20:49
merci, j'avais pas pensé à mettre la variable dans l'autre fonction
0
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
18 juin 2022 à 19:53
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 samedi 18 juin 2022 Statut Membre Dernière intervention 23 février 2023
18 juin 2022 à 20:34
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 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
18 juin 2022 à 20:42
Oups, c'est dangereux d'écrire un programme sans comprendre à quoi cela sert!
1
Phil_1857 Messages postés 1883 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 178
19 juin 2022 à 08:28
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