NowaHosting


AlphaServers


Resultados 1 a 10 de 16

Threaded View

  1. #11
    Lendário kingrox's Avatar

    Data de Ingresso
    Jul 2022
    Posts
    82
    Thanks Thanks Given 
    74
    Thanks Thanks Received 
    388
    Thanked in
    42 Posts
    Mentioned
    1 Post(s)
    Humor
    Fine
    País
    Brazil
    Código:
    import ttkbootstrap as tbfrom tkinter import messagebox
    import pyodbc
    
    # Escolhendo Tema
    app = tb.Window(themename="superhero")
    
    # Criando um titulo
    app.title("MuOnline App")
    
    
    # Chamando notebook na janela app
    meu_noteboock = tb.Notebook(app)
    meu_noteboock.pack(padx=10, pady=10)
    
    # Criando os notebook
    cadastro = tb.Frame(meu_noteboock)
    ranking = tb.Frame(meu_noteboock)
    
    # Ativando os notebook
    meu_noteboock.add(cadastro, text='Cadastro')
    meu_noteboock.add(ranking, text='Ranking')
    
    
    # Compara dos dados na entry e se for valido faz um insert no sql
    def comparacao():
        nome = nome_cadastro.get()
        nick = nick_cadastro.get()
        senha = senha_cadastro.get()
        conf_senha = confirmar_senha_cadastro.get()
        email = email_cadastro.get()
        conf_email = confirmar_email_cadastro.get()
        telefone = cadastro_telefone.get()
        p_id = person_id.get()
    
        if nome == '' or nick == '' or senha == '' or conf_senha == '' or email == '' or conf_email == '' or p_id == ''\
                or telefone == '':
            messagebox.showinfo('Atenção', 'Por favor não deixe campos vazios!')
    
        elif check_var.get() == 'off':
            messagebox.showinfo('Atenção', 'Confirme a caixa!')
    
        else:
            if senha_cadastro.get() != confirmar_senha_cadastro.get():
                messagebox.showerror('Atenção', 'Atenção SENHA não correspondem!')
                return
    
            if email_cadastro.get() != confirmar_email_cadastro.get():
                messagebox.showerror('Atenção', 'Atenção E-MAIL não correspondem!')
                return
            else:
                server = '(local)'
    database = 'MuOnline'
    username = 'sa'
    password = '123456'
    driver = '{SQL Server}'
    
    conn = pyodbc.connect(
                    'DRIVER=' + driver + ';SERVER=' + server + ';DATABASE=' + database + ';UID=' + username + ';PWD=' +
                    password)
    
                cursor = conn.cursor()
    
                # Define a instrução SQL para inserir um novo registro na tabela MEMB_INFO
    sql = "INSERT INTO MEMB_INFO (memb___id, memb__pwd, memb_name, mail_addr, sno__numb, bloc_code, " \
                      "ctl1_code) VALUES (?, ?, ?, ?, ?, ?, ?)"
    
    # Define os valores a serem inseridos
    values = (nick, int(senha), nome, email, telefone, '0', '0')
    
                # Executa a instrução SQL com os valores fornecidos
    cursor.execute(sql, values)
    
                # Confirma as alterações no banco de dados
    conn.commit()
    
                conn.close()
                messagebox.showinfo('Parabéns', 'Cadastro realizado com sucesso!')
                nome_cadastro.delete(0, tb.END)
                nick_cadastro.delete(0, tb.END)
                senha_cadastro.delete(0, tb.END)
                confirmar_senha_cadastro.delete(0, tb.END)
                email_cadastro.delete(0, tb.END)
                confirmar_email_cadastro.delete(0, tb.END)
                cadastro_telefone.delete(0, tb.END)
                person_id.delete(0, tb.END)
                nome_cadastro.focus()
    
    
    # Validar máximo de caracteres
    def validar_entrada(valor):
        if len(valor) > 10:
            return False
        else:
            return True
    
    
    # Validar máximo de caracteres para email
    def validar_email(valor):
        if len(valor) > 50:
            return False
        else:
            return True
    
    
    # Validar máximo de caracteres para personal Id
    def validar_id(valor):
        if len(valor) > 7:
            return False
        else:
            return True
    
    
    # Validar máximo de caracteres para telefone
    def validar_tel(valor):
        if len(valor) > 11:
            return False
        else:
            return True
    
    
    # Criando Labels
    tb.Label(master=cadastro, text='Nome').grid(column=0, row=0, pady=10, sticky="e")
    tb.Label(master=cadastro, text='Nick').grid(column=0, row=1, pady=10, sticky="e")
    tb.Label(master=cadastro, text='Senha').grid(column=0, row=2, pady=10, sticky="e")
    tb.Label(master=cadastro, text='Confirmar Senha').grid(column=0, row=3, pady=10, sticky="e")
    tb.Label(master=cadastro, text='E-mail').grid(column=0, row=4, pady=10, sticky="e")
    tb.Label(master=cadastro, text='Confirmar E-mail').grid(column=0, row=5, pady=10, sticky="e")
    tb.Label(master=cadastro, text='Telefone').grid(column=0, row=6, pady=10, sticky="e")
    tb.Label(master=cadastro, text='Personal Id').grid(column=0, row=7, pady=10, sticky="e")
    
    # Checar a variavel
    check_var = tb.StringVar()
    check_var.set("off")
    
    
    # Criando Entradas
    nome_cadastro = tb.Entry(master=cadastro, validate="key", width=30)
    nick_cadastro = tb.Entry(master=cadastro, validate="key", width=30)
    senha_cadastro = tb.Entry(master=cadastro, validate="key", show='*', width=30)
    confirmar_senha_cadastro = tb.Entry(master=cadastro, validate="key", show='*', width=30)
    email_cadastro = tb.Entry(master=cadastro, validate="key", width=30)
    confirmar_email_cadastro = tb.Entry(master=cadastro, validate="key", width=30)
    cadastro_telefone = tb.Entry(master=cadastro, validate="key", width=30)
    person_id = tb.Entry(master=cadastro, validate="key", width=30)
    checkbox = tb.Checkbutton(master=cadastro, text="Não sou robo!", variable=check_var, onvalue="on", offvalue="off")
    
    # Criando Botão
    button = tb.Button(master=cadastro, text="CADASTRA-SE", command=comparacao)
    
    # Confirgurando Coluna e linha das entradas
    nome_cadastro.grid(column=1, row=0, padx=10, pady=10)
    nick_cadastro.grid(column=1, row=1, padx=10, pady=10)
    senha_cadastro.grid(column=1, row=2, padx=10, pady=10)
    confirmar_senha_cadastro.grid(column=1, row=3, padx=10, pady=10)
    email_cadastro.grid(column=1, row=4, padx=10, pady=10)
    confirmar_email_cadastro.grid(column=1, row=5, padx=10, pady=10)
    cadastro_telefone.grid(column=1, row=6, padx=10, pady=10)
    person_id.grid(column=1, row=7, padx=10, pady=10)
    checkbox.grid(column=0, row=8, columnspan=2, padx=10, pady=10)
    button.grid(column=0, row=9, columnspan=2, padx=10, pady=10)
    
    # Configurando validação de maximo de caracteres
    nome_cadastro.configure(validatecommand=(nome_cadastro.register(validar_entrada), "%P"))
    nick_cadastro.configure(validatecommand=(nick_cadastro.register(validar_entrada), "%P"))
    senha_cadastro.configure(validatecommand=(senha_cadastro.register(validar_entrada), "%P"))
    confirmar_senha_cadastro.configure(validatecommand=(confirmar_senha_cadastro.register(validar_entrad  a), "%P"))
    email_cadastro.configure(validatecommand=(email_cadastro.register(validar_email), "%P"))
    confirmar_email_cadastro.configure(validatecommand=(confirmar_email_cadastro.register(validar_email), "%P"))
    cadastro_telefone.configure(validatecommand=(cadastro_telefone.register(validar_tel), "%P"))
    person_id.configure(validatecommand=(person_id.register(validar_id), "%P"))
    
    
    app.mainloop()

  2. The Following 2 Users Say Thank You to kingrox For This Useful Post:


Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • You may not post Resposta(s)
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •