segunda-feira, 25 de janeiro de 2021

Aula Pycursos - Aula Sqlite3 + Tkinter - Python3

# -*- coding:utf-8 -*-
# 2021 01 25 https://www.pycursos.com/tkinter-sqlite3/
from tkinter import *
import tkinter.messagebox
import sqlite3
class Main:
    def __init__(self, master):
        self.frame = Frame(master)
        self.frame.pack()
        Label(self.frame,text="Digite sua nota: ").pack()
        self.nota = Entry(self.frame,width=35)
        self.nota.pack(fill=X,pady=5,padx=5)
        #self.separador = Frame(height=2,bd=3,relief=SUNKEN,width=100)
        #self.separador.pack()
        self.frame3 = Frame(master)
        self.frame3.pack()
        self.add = Button(self.frame3,text="Adicionar nota",command=self.adicionar)
        self.add.pack(side=LEFT)
        self.apagar = Button(self.frame3,text="Apagar nota", command=self.apagar)
        self.apagar.pack(side=LEFT)
        scrollbar = Scrollbar(master)
        scrollbar.pack(fill=Y,side=RIGHT)
        self.listbox = Listbox(master,width=50,height=20)
        self.listbox.pack(pady=5,padx=5)
        self.listbox.config(yscrollcommand=scrollbar.set)
        scrollbar.config(command=self.listbox.yview)
       
        #criar banco
        self.conectar = sqlite3.connect("notas.db")
        self.cursor = self.conectar.cursor()
        self.cursor.execute("CREATE TABLE IF NOT EXISTS notas(name TEXT)")
        self.conectar.commit()
        lista = self.cursor.execute("SELECT * FROM notas")
        for i in lista:
            self.listbox.insert(END,i)
    def adicionar(self):
        notax = self.nota.get()
        if notax == "":
            tkinter.messagebox.showwarning("Error","Insira o texto")
        else:
            self.cursor.execute("insert into notas values(?)",(notax,))
            self.conectar.commit()
            self.listbox.insert(END,notax)
            self.nota.delete(0,END)
    def apagar(self):
        notay = str(self.listbox.get(ACTIVE)) [2:-3]
        print(notay)
        self.cursor.execute("DELETE FROM notas WHERE name=?",(notay,))
        self.conectar.commit()
        self.listbox.delete(ANCHOR)
    def close():
        if tkinter.messagebox.askyesno("Fechar", "Encerrar?"):
            exit()
        else:
            pass
root = Tk()
root.geometry("300x400")
root.title("Notas")
root.protocol("WM_DELETE_WINDOW", Main.close)
Main(root)
root.mainloop()

domingo, 24 de janeiro de 2021

Python3 Buscas

 ''' Exercício 1: Lista ordenada
Escreva a função ordenada(lista), que recebe uma lista com números inteiros como parâmetro e devolve o booleano True se a lista estiver ordenada e False se a lista não estiver ordenada.
Exercício 2: Busca sequencial
Implemente a função busca(lista, elemento), que busca um determinado elemento em uma lista e devolve o índice correspondente à posição do elemento encontrado. Utilize o algoritmo de busca sequencial. Nos casos em que o elemento buscado não existir na lista, a função deve devolver o booleano False.
Exemplo:
busca(['a', 'e', 'i'], 'e')
# deve devolver => 1
busca([12, 13, 14], 15)
# deve devolver => False '''

def ordenada(lista):
    for i in range(len(lista)-1):
        #print(lista[i],lista[i+1])
        if lista[i] > lista[i+1]:
            return False
    return True
l1 = [1,2,3,4,5,6]; l2 = [1,2,5,4,3,2]
print(l1, ordenada(l1), '\n', l2, ordenada(l2))

def busca(lista, elemento):
    for i in range(len(lista)):
        if elemento == lista[i]:
            return i
    return False
#print(busca(['a', 'e', 'i'], 'e')) # deve devolver => 1
#print(busca([12, 13, 14], 15)) # deve devolver => False
    

#-----------------------------


def busca_sequencial(seq, x):
    for i in range(len(seq)):
        print(i,len(seq))
        if seq[i] == x:
            print('!',i)
            return True # o return para a execução do for e while!
    return False

numeros = [55,33,0,900,-432,10,77,123,-432,11]
print(busca_sequencial(numeros, -432))

#------------------

def selecao_direta(lista):
    fim = len(lista)
    for i in range(fim-1):
        pos_menor = i
        for j in range(i+1,fim):
            if lista[j] < lista[pos_menor]:
                pos_menor = j
        lista[i],lista[pos_menor] = lista[pos_menor],lista[i]
    return lista

numeros = [55,33,0,900,-432,10,77,2,11]
letras = ["c","d","a","t","r","q","w","b","e","f","b"]
print(selecao_direta(numeros))
print(selecao_direta(letras))

terça-feira, 29 de dezembro de 2020

WinFF Invalid aspect ratio: Converter videos gravados na vertical(em pe) configurar saida

 Ao converter os vídeos gravados na vertical com o celular(Smartphone, Iphone) na configuração padrão ficavam achatados, resolvi com a configuração em "Proporções": 3:5 (ainda achata um pouco em 2:4 fica mais magro kk)



sábado, 26 de dezembro de 2020

Converter arquivos .Heic (da Apple) no Ubuntu com o krita e um Shell Script Linux

Para instalar o krita. No terminal digite:

$ apt install krita

Para converter um arquivo:

$ krita IMG_2850.HEIC --export --export-filename IMG_2850.jpg

Observações: 

(Deve alterar os seguintes campos)

(IMG_2850.HEIC esse e um exemplo, coloque o nome do seu arquivo)

(IMG_2850.jpg e depois o nome que ira ficar o novo arquivo)

(O terminal dever estar aberto na pasta que estão os arquivos)

Para converter vários arquivos:

Use esse script:

#!/bin/sh
for file in *.HEIC; do
    krita $file --export --export-filename $file.jpg; done

(Qualquer duvida deixe nos comentários abaixo)

Teclas de atalho do editor de textos padrao do Ubuntu o Gedit

 = Relacionadas a abas

Muda para a próxima aba à esquerda
Ctrl+Alt+PageUp

Muda para a próxima aba à direita
Ctrl+Alt+PageDown

Fecha a aba
Ctrl+W

Salva todas as abas
Ctrl+Shift+L

Fecha todas as abas
Ctrl+Shift+W

Reabre a aba mais recentemente fechada
Ctrl+Shift+T

Pula para a aba de número n
Alt+ n

Novo grupo de abas
Ctrl+Alt+N

Grupo de abas anterior
Shift+Ctrl+Alt+Page up

Próximo grupo de abas
Shift+Ctrl+Alt+Page down

= Para trabalhar com arquivos

Cria um novo documento em uma nova janela
Ctrl+N

Cria um novo documento uma nova aba
Ctrl+T

Abre um documento
Ctrl+O

Abre a janela Abertura rápida
Alt+O

Salva o documento atual
Ctrl+S

Salva o documento atual com um novo nome
Ctrl+Shift+S

Imprime o documento atual
Ctrl +P

Visualiza a impressão
Ctrl+Shift+P

Fecha o documento atual
Ctrl+W

Sai do gedit
Ctrl+Q

= Edição de documentos

Move para o início da linha atual
Home

Move para o fim da linha atual
End

Move para o começo do documento
Ctrl+Home

Move para o fim do documento
Ctrl+End

Move a palavra selecionada uma palavra para direita
Alt+Seta para direita

Move a palavra selecionada uma palavra para esquerda
Ctrl+Seta para esquerda

Desfaz a última ação
Ctrl+Z

Refaz a última ação desfeita
Ctrl+Shift+Z

Corta o texto selecionado ou região e mandar para a área de transferência
Ctrl+X

Copia o texto selecionado ou região para a área de transferência
Ctrl+C

Cola o conteúdo da área de transferência
Ctrl+V

Seleciona todo o texto no arquivo
Ctrl+A

Exclui a linha atual
Ctrl+D

Move a linha selecionada uma linha para cima
Alt+Seta para cima

Move a linha selecionada uma linha para baixo
Alt+Seta para baixo

Adicionando paradas de tabulação
Tab

Removendo paradas de tabulação
Shift+Tab

Converte o texto selecionado para maiúsculo
Ctrl+U

Converte o texto selecionado para minúsculo
Ctrl+L

Alterna entre maiúsculo e minúsculo o texto selecionado
Ctrl+~

quinta-feira, 17 de dezembro de 2020

Salvar as configurações do LibreOffice

Selecione "Ferramentas", "Opções":

Em "Caminhos", encontre a pasta "user" no computador (para visualizar ocultos tecle "Ctrl + H" na pasta.

Deixe dicas e sugestões nos comentários abaixo. Obrigado! ; )


Extensao do Firefox para acelerar videos do Facebook, YouTube e outros sites

Baixar aqui: https://addons.mozilla.org/pt-BR/firefox/addon/videospeed/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search

Use as teclas: "d" aumenta a velocidade e "s" diminui, o botão em "Enable" ativa e desativa a extensão. 



Deixe dicas e sugestões nos comentários abaixo. Obrigado! ; )



terça-feira, 15 de dezembro de 2020

Gmail bloqueia anexo de e-mail em pasta zip arquivos comprimidos com senha

Não da para enviar arquivos em pasta zipada com senha (uma dentro da outra as duas com senha) em anexo de e-mail do Google, também bloqueia o recebimento. Coloquei no Dropbox e da para compartilhar por link.


 

sábado, 12 de dezembro de 2020

Como salvar todas as fotos, videos e informações do perfil do Facebook - BKP (Backup)

Abra seu perfil.

Clique no botão da direita em cima "🔽️", depois em "Configurações e privacidade":


Clique em "Configurações":

 

Clique em "Suas informações no Facebook", depois em "Transfira uma copia de susas fotos ou vídeos":


Clique em "baixar suas informações" para baixar direto para seu computador (também pode em "Escolher destino" salvar no serviço de armazenamento que preferir).


 

Insira sua senha:

 
Selecione quais informações deseja baixar e clique em "Criar arquivo":
(selecionei "Qualidade da mídia" em "Media" para ocupar menos espaço)


Aguarde o Facebook criar seu arquivo para download:

 Chega um aviso nas notificações, clique nele:


Clique em baixar:


Digite a senha e ira iniciar o download:


Deixe dicas e sugestões nos comentários abaixo. Obrigado! ; )


sábado, 5 de dezembro de 2020

Comparativo de remessas Yen -> Real

 Valor do dia 06 12 2020


TransferWise: https://transferwise.com/br


Pela WesterUnion não aparece o valor da tarifa de envio.

https://www.westernunion.com 


 Encontrei um comparativo no site da TransferWise.

https://transferwise.com/br/blog/western-union-taxas-e-outros-custos 


Pelo Banco do Brasil no Japão:

https://www.bb.com.br/docs/portal/japao/ManAutoatendPT.pdf


 

Deixe dicas e sugestões nos comentários abaixo. Obrigado! ; )