class ControleTelaRelatorio:


    def __init__(self):
        self.teclado = Teclado()
        self.posicao=[[0,0],[216,220],[144,220],[216,280],[216,340],[216,400]]
        self.ctrl = Control()


    def controle(self):
        self.teclado.capturaTeclas()

        TelaRelatorio, TelaRelatorioGerado = 4, 12
        opcao = TelaRelatorio
        papelparede, brapagar, seta, brareceber, brvendas, brestoque = 0,1,2,3,4,5

        largura, altura = 0,1

        if self.teclado.teclas[self.teclado.letra] != "":
            print(self.teclado.teclas[self.teclado.letra])


        if self.teclado.teclas[self.teclado.cima] and self.posicao[seta][altura] > self.posicao[brapagar][altura]:
            print("subi")
            self.posicao[seta][altura] -= 60

        if self.teclado.teclas[self.teclado.baixo] and self.posicao[seta][altura] < self.posicao[brestoque][altura]:
            print("desci")
            self.posicao[seta][altura] += 60

        brapagar = (self.posicao[seta][altura] == self.posicao[brapagar][altura])
        brareceber = (self.posicao[seta][altura] == self.posicao[brareceber][altura])
        brvendas = (self.posicao[seta][altura] == self.posicao[brvendas][altura])
        brestoque = (self.posicao[seta][altura] == self.posicao[brestoque][altura])

        if self.teclado.teclas[self.teclado.enter]:
            if brapagar:
                self.ctrl.gerar_relatorio_apagar()
                opcao = TelaRelatorioGerado
                print("brapagar")

            elif brareceber:
                self.ctrl.gerar_relatorio_areceber()
                opcao = TelaRelatorioGerado
                #self.ctrl.controle(1,0)
                print("brareceber")

            elif brvendas:
                self.ctrl.gerar_relatorio_vendas()
                opcao = TelaRelatorioGerado
                print("brvendas")

            elif brestoque:
                self.ctrl.gerar_relatorio_estoque()
                opcao = TelaRelatorioGerado
                print("brestoque")

        return opcao
class ControleTelaUpDate:

    def __init__(self):
        self.teclado = Teclado()
        self.posicao=[[0,0],[216,300],[140,300],[216,360]]
        self.ctrl = Control()


    def controle(self):
        self.teclado.capturaTeclas()

        TelaUpdate,TelaInicial = 1, 2
        opcao = TelaUpdate
        papelparede, bsim, seta, bnao = 0,1,2,3
        largura, altura = 0,1

        if self.teclado.teclas[self.teclado.letra] != "":
            print(self.teclado.teclas[self.teclado.letra])


        if self.teclado.teclas[self.teclado.cima] and self.posicao[seta][altura] > self.posicao[bsim][altura]:
            self.posicao[seta][altura] -= 60

        if self.teclado.teclas[self.teclado.baixo] and  self.posicao[seta][altura] < self.posicao[bnao][altura]:
            self.posicao[seta][altura] += 60

        sim = (self.posicao[seta][altura] == self.posicao[bsim][altura])
        nao = (self.posicao[seta][altura] == self.posicao[bnao][altura])
        if self.teclado.teclas[self.teclado.enter]:
            if sim:
                self.ctrl.upload()
                opcao = TelaInicial
                print("SIM")
            elif nao:
                opcao = TelaInicial
                print("NAO")
        return opcao
 def __init__(self):
     self.teclado = Teclado()
     self.posicao=[[0,0],[216,300],[140,300],[216,360]]
     self.ctrl = Control()
 def __init__(self):
     self.teclado = Teclado()
     self.posicao=[[0,0],[216,300],[140,300],[216,360],[216,420]]
     self.ctrl = Control()
     self.listaCadastral = ["", ""]
     self.d = DAOLogin()
class ControleTelaLogin:

    def __init__(self):
        self.teclado = Teclado()
        self.posicao=[[0,0],[216,300],[140,300],[216,360],[216,420]]
        self.ctrl = Control()
        self.listaCadastral = ["", ""]
        self.d = DAOLogin()


    def controle(self):

        TelaLogin,TelaUpdate,TelaInicial = 0,1,2
        self.teclado.capturaTeclas()
        opcao = TelaLogin
        log, sen = 0,1
        papelparede, blogin, seta, bsenha, bconfirma = 0,1,2,3,4
        largura, altura = 0,1





        if self.teclado.teclas[self.teclado.cima] and self.posicao[seta][altura] > self.posicao[blogin][altura]:
            self.posicao[seta][altura] -= 60

        if self.teclado.teclas[self.teclado.baixo] and  self.posicao[seta][altura] < self.posicao[bconfirma][altura]:
            self.posicao[seta][altura] += 60

        login = (self.posicao[seta][altura] == self.posicao[blogin][altura])
        senha = (self.posicao[seta][altura] == self.posicao[bsenha][altura])
        confirma = (self.posicao[seta][altura] == self.posicao[bconfirma][altura])

        if self.teclado.teclas[self.teclado.letra] != "":
            if login:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[log])
                    self.pal=self.listaCadastral[log]
                    self.listaCadastral[log]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[log] += self.teclado.teclas[self.teclado.letra]

                return opcao, self.listaCadastral

            if senha:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[sen])
                    self.pal=self.listaCadastral[sen]
                    self.listaCadastral[sen]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[sen] += self.teclado.teclas[self.teclado.letra]

                return opcao, self.listaCadastral

        if self.teclado.teclas[self.teclado.enter]:

                self.ctrl.cad_login(self.listaCadastral)
                if self.listaCadastral[log] == 'admin' and self.listaCadastral[sen] == 'admin':
                    opcao = TelaUpdate
                else:
                    opcao = TelaInicial

        return opcao, self.listaCadastral
Example #6
0
    def imprimir_menu():
        ctrl = Control()
        print("\n" * 10)
        print("Gerenciamento da Padaria Padoca\n")
        print("Deseja fazer upload do banco de dados?\n")
        print("1 - SIM ")
        print("2 - NAO \n")
        resp = int(input("Escolha a opcao desejada: "))
        if resp == 1:
            ctrl.controle(3, 0)
            print("\nUPDATE DO BANCO GERADO COM SUCESSO\n")

        print("\n" *2)
        print("Gerenciamento da Padaria Padoca\n")
        print("1 - Cadastrar")
        print("2 - Relatorios")
        print("3 - Sair\n")
        opcao = int(input("Digite a opcao desejada: "))
        operacao = 's'


        while operacao.lower() != 'n':
            if opcao == 1:
                print('\n' * 50)
                print("Gerenciamento da Padaria Padoca\n")
                print("1 - Cadastrar Cliente")
                print("2 - Cadastrar Fornecedor")
                print("3 - Cadastrar Produto")
                print("4 - Cadastrar Venda")
                print("5 - Cadastrar Compra\n")
                opcao2 = int(input("Digite a opcao desejada: "))

                if opcao2 == 1:
                    print("\n" * 40)
                    print("Gerenciamento da Padaria Padoca\n")
                    print("Cadastrar Cliente\n")
                    ctrl.controle(opcao, opcao2)


                elif opcao2 == 2:
                    print("\n" * 40)
                    print("Gerenciamento da Padaria Padoca\n")
                    print("Cadastrar Fornecedor\n")
                    ctrl.controle(opcao, opcao2)

                elif opcao2 == 3:
                    print("\n" * 40)
                    print("Gerenciamento da Padaria Padoca\n")
                    print("Cadastrar Produto\n")
                    ctrl.controle(opcao, opcao2)

                elif opcao2 == 4:
                    print("\n" * 40)
                    print("Gerenciamento da Padaria Padoca\n")
                    print("Cadastrar Venda\n")
                    ctrl.controle(opcao, opcao2)
                    print("Venda cadastrada com sucesso\n")

                elif opcao2 == 5:
                    print("\n" * 40)
                    print("Gerenciamento da Padaria Padoca\n")
                    print("Cadastrar Compra\n")
                    ctrl.controle(opcao, opcao2)
                    print("Compra cadastrada com sucesso\n")

            elif opcao == 2:
                print("\n" * 40)
                print("Gerenciamento da Padaria Padoca\n")
                print("1 - Gerar relatorio 'A pagar'")
                print("2 - Gerar relatorio 'A receber'")
                print("3 - Gerar relatorio 'Vendas e Lucro por Produto'")
                print("4 - Gerar relatorio 'Estoque Atual'")
                print("5 - Todos \n")
                opcao2 = int(input("Digite a opcao desejada: "))

                if opcao2 == 1:
                    print("\n" * 40)
                    print("Gerenciamento da Padaria Padoca\n")
                    ctrl.controle(opcao, opcao2)
                    print("Relatorio gerado com sucesso\n")

                elif opcao2 == 2:
                    print("\n" * 40)
                    print("Gerenciamento da Padaria Padoca\n")
                    ctrl.controle(opcao, opcao2)
                    print("Relatorio gerado com sucesso\n")

                elif opcao2 == 3:
                    print("\n" * 40)
                    print("Gerenciamento da Padaria Padoca\n")
                    ctrl.controle(opcao, opcao2)
                    print("Relatorio gerado com sucesso\n")

                elif opcao2 == 4:
                    print("\n" * 40)
                    print("Gerenciamento da Padaria Padoca\n")
                    ctrl.controle(opcao, opcao2)
                    print("Relatorio gerado com sucesso\n")

                elif opcao2 == 5:
                    print("\n" * 40)
                    print("Gerenciamento da Padaria Padoca\n")
                    ctrl.controle(opcao, opcao2)
                    print("Relatorio gerado com sucesso\n")

            elif opcao == 3:
                print('\n' * 50)
                print("Programa finalizado com sucesso\n")
                break
            while True:
                operacao = input("Deseja fazer mais alguma operacao s/n? \n")
                if operacao.lower() == 's':
                    print("\n" * 40)
                    print("Gerenciamento da Padaria Padoca\n")
                    print("1 - Cadastrar")
                    print("2 - Relatorios")
                    print("3 - Sair\n")
                    opcao = int(input("Digite a opcao desejada: "))
                    break
                elif operacao.lower() == 'n':
                    print("\n" * 40)
                    print("Programa finalizado com sucesso\n")
                    break
                else:
                    print("\n" * 40)
                    print("Letra errada, digite novamente S para nova operacao e N para sair\n")
 def __init__(self):
     self.teclado = Teclado()
     self.posicao=[[0,0],[100,210],[80,210],[100,282],[100,354],[100,426],[100,498],[150,570],[400,570]]
     self.ctrl = Control()
     self.listaCadastral =["","","","",""]
class ControleTelaCadProduto:


    def __init__(self):
        self.teclado = Teclado()
        self.posicao=[[0,0],[100,210],[80,210],[100,282],[100,354],[100,426],[100,498],[150,570],[400,570]]
        self.ctrl = Control()
        self.listaCadastral =["","","","",""]

    def controle(self):
        self.teclado.capturaTeclas()

        TelaInicial,TelaCadastro = 2,3
        TelaCadProduto = 6

        name,min,atual,price,lucro = 0,1,2,3,4
        opcao = TelaCadProduto
        papelparede,desc,seta,estmin,qtdatual,custo,pctlucro,confirma, voltar= 0,1,2,3,4,5,6,7,8

        largura, altura = 0,1




        if self.teclado.teclas[self.teclado.cima] and self.posicao[seta][altura] > self.posicao[desc][altura]:
            print("subi")
            self.posicao[seta][altura] -= 72


        if self.teclado.teclas[self.teclado.baixo] and self.posicao[seta][altura] < self.posicao[confirma][altura]:
            print("desci")
            self.posicao[seta][altura] += 72

        if self.teclado.teclas[self.teclado.direita] and self.posicao[seta][altura] == self.posicao[confirma][altura] and (self.posicao[seta][largura]+70) == self.posicao[confirma][largura]:
            self.posicao[seta][largura] += 240
            print("seta ", self.posicao[seta][largura])
            print("voltar", self.posicao[voltar][largura])

        if self.teclado.teclas[self.teclado.esquerda] and self.posicao[seta][altura] == self.posicao[voltar][altura] and (self.posicao[seta][largura]+80) == self.posicao[voltar][largura]:

            self.posicao[seta][largura] -= 240



        desc = (self.posicao[seta][altura] == self.posicao[desc][altura])
        estmin = (self.posicao[seta][altura] == self.posicao[estmin][altura])
        qtdatual = (self.posicao[seta][altura] == self.posicao[qtdatual][altura])
        custo = (self.posicao[seta][altura] == self.posicao[custo][altura])
        pctlucro = (self.posicao[seta][altura] == self.posicao[pctlucro][altura])
        confirma = (self.posicao[seta][altura] == self.posicao[confirma][altura])
        voltar = (self.posicao[seta][largura]+80 == self.posicao[voltar][largura])

        if self.teclado.teclas[self.teclado.letra] != "":
            if desc:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[name])
                    self.pal=self.listaCadastral[name]
                    self.listaCadastral[name]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[name] += self.teclado.teclas[self.teclado.letra]
                print(self.listaCadastral)
                return opcao, self.listaCadastral


            if estmin:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[min])
                    self.pal=self.listaCadastral[min]
                    self.listaCadastral[min]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[min]+=self.teclado.teclas[self.teclado.letra]
                return opcao, self.listaCadastral

            if qtdatual:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[atual])
                    self.pal=self.listaCadastral[atual]
                    self.listaCadastral[atual]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[atual]+=self.teclado.teclas[self.teclado.letra]
                return opcao, self.listaCadastral

            if custo:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[price])
                    self.pal=self.listaCadastral[price]
                    self.listaCadastral[price]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[price]+=self.teclado.teclas[self.teclado.letra]
                return opcao, self.listaCadastral

            if pctlucro:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[lucro])
                    self.pal=self.listaCadastral[lucro]
                    self.listaCadastral[lucro]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[lucro]+=self.teclado.teclas[self.teclado.letra]
                return opcao, self.listaCadastral
            #print(self.teclado.teclas[self.teclado.letra])

        if self.teclado.teclas[self.teclado.enter]:
            if voltar:
                opcao = TelaCadastro
                self.posicao[seta][largura] = 80
                self.posicao[seta][altura] = 210
                self.listaCadastral = ["","","","",""]
                return opcao,self.listaCadastral
            elif confirma:
                opcao = TelaInicial
                self.ctrl.cad_produto(self.listaCadastral)
                self.listaCadastral = ["","","","",""]
                self.posicao[seta][largura] = 80
                self.posicao[seta][altura] = 210
                return opcao,self.listaCadastral

            #print(self.listaCadastral)
        return opcao, self.listaCadastral
 def __init__(self):
     self.teclado = Teclado()
     self.posicao=[[0,0],[216,220],[144,220],[216,280],[216,340],[216,400]]
     self.ctrl = Control()
class ControleTelaCadFornecedor:


    def __init__(self):
        self.teclado = Teclado()
        self.posicao=[[0,0],[100,210],[80,210],[100,282],[100,354],[100,498],[150,500],[400,500]]
        self.ctrl = Control()
        self.listaCadastral =["","","","",""]

    def controle(self):
        self.teclado.capturaTeclas()


        TelaInicial,TelaCadastro = 2,3
        TelaCadFornecedor = 7

        name,fone,adress,cnpj = 0,1,2,3
        opcao = TelaCadFornecedor
        papelparede,nome, seta, tel, end, cpf, confirma, voltar = 0,1,2,3,4,5,6,7

        largura, altura = 0,1



        if self.teclado.teclas[self.teclado.cima] and self.posicao[seta][altura] > self.posicao[nome][altura]:

            self.posicao[seta][altura] -= 72


        elif self.teclado.teclas[self.teclado.baixo] and self.posicao[seta][altura] < self.posicao[confirma][altura] -30:

            self.posicao[seta][altura] += 72


        if self.teclado.teclas[self.teclado.direita] and self.posicao[seta][altura]+2 == self.posicao[confirma][altura] and (self.posicao[seta][largura]+70) == self.posicao[confirma][largura]:
            self.posicao[seta][largura] += 240


        if self.teclado.teclas[self.teclado.esquerda] and self.posicao[seta][altura]+2 == self.posicao[voltar][altura] and (self.posicao[seta][largura]+80) == self.posicao[voltar][largura]:

            self.posicao[seta][largura] -= 240


        nome = (self.posicao[seta][altura] == self.posicao[nome][altura])
        tel = (self.posicao[seta][altura] == self.posicao[tel][altura])
        end = (self.posicao[seta][altura] == self.posicao[end][altura])
        cpf = (self.posicao[seta][altura] == self.posicao[cpf][altura])
        confirma = (self.posicao[seta][altura] == self.posicao[confirma][altura])
        voltar = (self.posicao[seta][largura]+80 == self.posicao[voltar][largura])

        if self.teclado.teclas[self.teclado.letra] != "":
            if nome:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[name])
                    self.pal=self.listaCadastral[name]
                    self.listaCadastral[name]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[name] += self.teclado.teclas[self.teclado.letra]

                return opcao, self.listaCadastral


            if tel:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[fone])
                    self.pal=self.listaCadastral[fone]
                    self.listaCadastral[fone]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[fone]+=self.teclado.teclas[self.teclado.letra]
                return opcao, self.listaCadastral

            if end:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[adress])
                    self.pal=self.listaCadastral[adress]
                    self.listaCadastral[adress]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[adress]+=self.teclado.teclas[self.teclado.letra]
                return opcao, self.listaCadastral

            if cpf:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[cnpj])
                    self.pal=self.listaCadastral[cnpj]
                    self.listaCadastral[cnpj]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[cnpj]+=self.teclado.teclas[self.teclado.letra]
                return opcao, self.listaCadastral


        if self.teclado.teclas[self.teclado.enter]:
            if voltar:
                opcao = TelaCadastro
                self.posicao[seta][largura] = 80
                self.posicao[seta][altura] = 210
                self.listaCadastral = ["","","","",""]
                return opcao,self.listaCadastral
            elif confirma:
                opcao = TelaInicial
                self.ctrl.cad_fornecedor(self.listaCadastral)
                self.listaCadastral = ["","","","",""]
                self.posicao[seta][largura] = 80
                self.posicao[seta][altura] = 210
                return opcao,self.listaCadastral

        return opcao, self.listaCadastral
class ControleTelaCadCliente:


    def __init__(self):
        self.teclado = Teclado()
        self.posicao=[[0,0],[100,210],[80,210],[100,282],[100,354],[100,426],[100,498],[150,570],[400,570]]
        self.ctrl = Control()
        self.listaCadastral =["","","","",""]

    def controle(self, listaCadastral2):
        self.teclado.capturaTeclas()

        TelaInicial,TelaCadastro,TelaCadCliente, = 2,3,5
        TelaCadastroFunc, TelaInicialFunc = 11,10

        name,fone,adress,tip,cnpj = 0,1,2,3,4
        opcao = TelaCadCliente
        papelparede,nome, seta, tel, end, tipo, cpf, confirma, voltar = 0,1,2,3,4,5,6,7,8

        largura, altura = 0,1



        if self.teclado.teclas[self.teclado.cima] and self.posicao[seta][altura] > self.posicao[nome][altura]:

            self.posicao[seta][altura] -= 72


        elif self.teclado.teclas[self.teclado.baixo] and self.posicao[seta][altura] < self.posicao[confirma][altura]:

            self.posicao[seta][altura] += 72

        if self.teclado.teclas[self.teclado.direita] and self.posicao[seta][altura] == self.posicao[confirma][altura] and (self.posicao[seta][largura]+70) == self.posicao[confirma][largura]:
            self.posicao[seta][largura] += 240


        if self.teclado.teclas[self.teclado.esquerda] and self.posicao[seta][altura] == self.posicao[voltar][altura] and (self.posicao[seta][largura]+80) == self.posicao[voltar][largura]:

            self.posicao[seta][largura] -= 240


        nome = (self.posicao[seta][altura] == self.posicao[nome][altura])
        tel = (self.posicao[seta][altura] == self.posicao[tel][altura])
        end = (self.posicao[seta][altura] == self.posicao[end][altura])
        tipo = (self.posicao[seta][altura] == self.posicao[tipo][altura])
        cpf = (self.posicao[seta][altura] == self.posicao[cpf][altura])
        confirma = (self.posicao[seta][altura] == self.posicao[confirma][altura])
        voltar = (self.posicao[seta][largura]+80 == self.posicao[voltar][largura])

        if self.teclado.teclas[self.teclado.letra] != "":
            if nome:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[name])
                    self.pal=self.listaCadastral[name]
                    self.listaCadastral[name]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[name] += self.teclado.teclas[self.teclado.letra]
                return opcao, self.listaCadastral


            if tel:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[fone])
                    self.pal=self.listaCadastral[fone]
                    self.listaCadastral[fone]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[fone]+=self.teclado.teclas[self.teclado.letra]
                return opcao, self.listaCadastral

            if end:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[adress])
                    self.pal=self.listaCadastral[adress]
                    self.listaCadastral[adress]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[adress]+=self.teclado.teclas[self.teclado.letra]
                return opcao, self.listaCadastral

            if tipo:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[tip])
                    self.pal=self.listaCadastral[tip]
                    self.listaCadastral[tip]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[tip]+=self.teclado.teclas[self.teclado.letra]
                return opcao, self.listaCadastral

            if cpf:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[cnpj])
                    self.pal=self.listaCadastral[cnpj]
                    self.listaCadastral[cnpj]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[cnpj]+=self.teclado.teclas[self.teclado.letra]
                return opcao, self.listaCadastral

        log = 0



        if self.teclado.teclas[self.teclado.enter]:
            if voltar and listaCadastral2[log] == "admin":
                opcao = TelaCadastro
                self.posicao[seta][largura] = 80
                self.posicao[seta][altura] = 210

                return opcao,self.listaCadastral
            elif voltar:
                opcao = TelaCadastroFunc
                self.posicao[seta][largura] = 80
                self.posicao[seta][altura] = 210

                return opcao,self.listaCadastral
            elif confirma and listaCadastral2[log] != "admin":
                opcao = TelaInicial
                self.ctrl.cad_cliente(self.listaCadastral)
                self.posicao[seta][largura] = 80
                self.posicao[seta][altura] = 210
                return opcao,self.listaCadastral
            elif confirma:
                state = Memento(self.listaCadastral)
                try:
                    self.ctrl.cad_cliente(self.listaCadastral)
                    opcao = TelaInicialFunc
                except Exception as e:
                    state()
                self.posicao[seta][largura] = 80
                self.posicao[seta][altura] = 210
                return opcao,self.listaCadastral

        return opcao, self.listaCadastral
class ControleTelaCadVenda:


    def __init__(self):
        self.teclado = Teclado()
        self.posicao=[[0,0],[100,210],[80,210],[100,282],[100,354],[100,426],[150,498],[400,498]]
        self.ctrl = Control()
        self.listaCadastral =["","","","",""]

    def controle(self, listaCadastral):
        self.teclado.capturaTeclas()

        TelaInicial,TelaCadastro = 2,3
        TelaCadVenda, TelaCadastroFunc = 9, 11

        cli,data,pro,quant = 0,1,2,3
        opcao = TelaCadVenda
        papelparede,cliente,seta,dt,prod,qtd,confirma, voltar= 0,1,2,3,4,5,6,7

        largura, altura = 0,1




        if self.teclado.teclas[self.teclado.cima] and self.posicao[seta][altura] > self.posicao[cliente][altura]:

            self.posicao[seta][altura] -= 72


        if self.teclado.teclas[self.teclado.baixo] and self.posicao[seta][altura] < self.posicao[confirma][altura]:

            self.posicao[seta][altura] += 72


        if self.teclado.teclas[self.teclado.direita] and self.posicao[seta][altura] == self.posicao[confirma][altura] and (self.posicao[seta][largura]+70) == self.posicao[confirma][largura]:
            self.posicao[seta][largura] += 240


        if self.teclado.teclas[self.teclado.esquerda] and self.posicao[seta][altura] == self.posicao[voltar][altura] and (self.posicao[seta][largura]+80) == self.posicao[voltar][largura]:

            self.posicao[seta][largura] -= 240



        cliente = (self.posicao[seta][altura] == self.posicao[cliente][altura])
        dt = (self.posicao[seta][altura] == self.posicao[dt][altura])
        prod = (self.posicao[seta][altura] == self.posicao[prod][altura])
        qtd = (self.posicao[seta][altura] == self.posicao[qtd][altura])
        confirma = (self.posicao[seta][altura] == self.posicao[confirma][altura])
        voltar = (self.posicao[seta][largura]+80 == self.posicao[voltar][largura])

        if self.teclado.teclas[self.teclado.letra] != "":
            if cliente:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[cli])
                    self.pal=self.listaCadastral[cli]
                    self.listaCadastral[cli]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[cli] += self.teclado.teclas[self.teclado.letra]

                return opcao, self.listaCadastral


            if dt:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[data])
                    self.pal=self.listaCadastral[data]
                    self.listaCadastral[data]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[data]+=self.teclado.teclas[self.teclado.letra]
                return opcao, self.listaCadastral

            if prod:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[pro])
                    self.pal=self.listaCadastral[pro]
                    self.listaCadastral[pro]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[pro]+=self.teclado.teclas[self.teclado.letra]
                return opcao, self.listaCadastral

            if qtd:
                if self.teclado.teclas[self.teclado.letra] == "\x08":
                    self.tam=len(self.listaCadastral[quant])
                    self.pal=self.listaCadastral[quant]
                    self.listaCadastral[quant]=self.pal[:self.tam-1]
                else:
                    self.listaCadastral[quant]+=self.teclado.teclas[self.teclado.letra]
                return opcao, self.listaCadastral

        log = 0

        if self.teclado.teclas[self.teclado.enter]:
            if voltar and listaCadastral[log] == "admin":
                opcao = TelaCadastro
                self.posicao[seta][largura] = 80
                self.posicao[seta][altura] = 210
                self.listaCadastral = ["","","","",""]
                return opcao,self.listaCadastral
            elif voltar:
                opcao = TelaCadastroFunc
                self.posicao[seta][largura] = 80
                self.posicao[seta][altura] = 210
                self.listaCadastral = ["","","","",""]
                return opcao,self.listaCadastral
            elif confirma:
                opcao = TelaInicial
                self.ctrl.cad_venda(self.listaCadastral)
                self.listaCadastral = ["","","","",""]
                self.posicao[seta][largura] = 80
                self.posicao[seta][altura] = 210
                return opcao,self.listaCadastral

        return opcao, self.listaCadastral