OkMuOnline


NowaHosting


AlphaServers


Page 2 of 2 PrimeiroPrimeiro 12
Resultados 11 a 16 de 16
  1. #11
    Lendário kingrox's Avatar

    Data de Ingresso
    Jul 2022
    Posts
    81
    Thanks Thanks Given 
    74
    Thanks Thanks Received 
    383
    Thanked in
    41 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:


  3. #12
    Lendário kingrox's Avatar

    Data de Ingresso
    Jul 2022
    Posts
    81
    Thanks Thanks Given 
    74
    Thanks Thanks Received 
    383
    Thanked in
    41 Posts
    Mentioned
    1 Post(s)
    Humor
    Fine
    País
    Brazil

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


  5. #13
    Lendário kingrox's Avatar

    Data de Ingresso
    Jul 2022
    Posts
    81
    Thanks Thanks Given 
    74
    Thanks Thanks Received 
    383
    Thanked in
    41 Posts
    Mentioned
    1 Post(s)
    Humor
    Fine
    País
    Brazil


    Update 03

    Código HTML:
    import ttkbootstrap as tb
    from ttkbootstrap.dialogs import Messagebox
    import pyodbc
    
    # Criando a janela app
    app = tb.Window(title="MuOnline App")
    
    # instanciar o estilo com outro tema
    style = tb.Style(theme='superhero')
    
    # Trocando o  tema
    def changer(theme):
        tb.Style(theme=theme)
    
    
    # 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.show_info('Por favor não deixe campos vazios!', 'Atenção')
    
        elif check_var.get() == 'off':
            Messagebox.show_info('Confirme a caixa!', 'Atenção')
    
        else:
            if senha_cadastro.get() != confirmar_senha_cadastro.get():
                Messagebox.show_info('Atenção SENHAS não correspondem!', 'Atenção')
                return
    
            if email_cadastro.get() != confirmar_email_cadastro.get():
                Messagebox.show_info('Atenção E-MAIL não correspondem!', 'Atenção')
                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()
    
                # Executar a consulta SQL
                cursor.execute("SELECT * FROM MEMB_INFO WHERE memb___id = ?", (nick,))
    
                # Obter o resultado da consulta
                resultado = cursor.fetchone()
    
                # Verificar se o resultado é nulo
                if resultado is not None:
                    Messagebox.show_error(f'Atenção o nick {nick} já existe!', 'Atenção')
                else:
                    # 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.ok('Cadastro realizado com sucesso!', 'Parabéns')
                    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_entrada), "%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"))
    
    # Criando botão para menubutton
    menu_botao = tb.Menubutton(app, text=' Selecione o tema ')
    menu_botao.pack(padx=15, pady=15, anchor="e")
    
    # Criando o menu de theme
    inserir_menu = tb.Menu(menu_botao)
    
    # Add itens no saida do menubutton
    theme_var = tb.StringVar()
    
    # Checando todos os temas e inserido na função changer
    for t in style.theme_names():
        inserir_menu.add_radiobutton(label=t, variable=theme_var, command=lambda t=t: changer(t))
    menu_botao['menu'] = inserir_menu
    
    
    app.mainloop()
    Last edited by kingrox; 03-04-2023 at 03:18 AM.

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


  7. #14
    Membro Betell Host's Avatar

    Data de Ingresso
    Jul 2022
    Posts
    14
    Thanks Thanks Given 
    72
    Thanks Thanks Received 
    42
    Thanked in
    5 Posts
    Mentioned
    0 Post(s)
    País
    Brazil
    Ótimo meu amigo parabéns

  8. The Following 2 Users Say Thank You to Betell Host For This Useful Post:


  9. #15
    Lendário kingrox's Avatar

    Data de Ingresso
    Jul 2022
    Posts
    81
    Thanks Thanks Given 
    74
    Thanks Thanks Received 
    383
    Thanked in
    41 Posts
    Mentioned
    1 Post(s)
    Humor
    Fine
    País
    Brazil


    Last edited by kingrox; 03-08-2023 at 05:01 AM.

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


  11. #16
    Lendário kingrox's Avatar

    Data de Ingresso
    Jul 2022
    Posts
    81
    Thanks Thanks Given 
    74
    Thanks Thanks Received 
    383
    Thanked in
    41 Posts
    Mentioned
    1 Post(s)
    Humor
    Fine
    País
    Brazil

Page 2 of 2 PrimeiroPrimeiro 12

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
  •