O que voce acha da linguagem cibernetica? Tem alguma ideia do que seja cybereducacao? entao va ao blogue themesopotown.blogspot.com e descubra porque entrei no assunto! uma cyberfilosofia analitica, porque nao... ... curicando aqui uma pequena cronica sobre a poetica que e receber uma carta do povo que construiu esta cidade e vive incessantemente se auto-destruindo sem perceber.leia no blogue themesopotown ! Pequenissimo manifesto tardio em prol dos reciclantes de obras culturais no ex-abandonado blogue Tristhes Tzarismos Dadaistas... (para ler, clique aqui).OBS.: Amigos, estou aberto a contato; estive afastado para resolver alguns assuntos pessoais, agora espero estar devo(l)to a ativa! Ironias da existencia humana... Viva a computacao em nuvem, que cada vez esta melhor! Ultimamente tenho usado muito este recurso, principalmente planilhas, textos e apresentacoes online. Recentemente precisei criar um calendario especifico via Google Planilhas. Neste calendario, os dias que houvessem determinado evento precisariam ter a cor do plano de fundo amarelo. Alem disto eu precisaria saber quantos encontros deste evento haveriam no mes (coluna "AM" da imagem abaixo). Cada encontro teria duracao de 3 horas, desta forma precisaria saber tambem quantas horas deste evento houveram no mes (coluna "AN" da imagem abaixo). A solucao que encontrei para a coluna "AM" foi criar uma funcao via Google App Script, equivalente a conhecida macro, que contasse quantas celulas pintadas de amarelo havia em cada mes. Depois de criada a planilha no "Planilhas Google" do Google drive, e necessario acessar o menu "Ferramentas / Editor de scripts...". A funcao abaixo percorre cada celula de um determinado intervalo e conta quantas delas tem o background amarelo ("#fffff00"). Depois de salva-la e configurar o acionador dela para executa-la sempre que houver edicao na planilha, ela pode ser utilizada na planilha como se fosse uma formula (fx) qualquer, como por exemplo: "=getEncontros("B7:AL7")"function getEncontros(intervalo) { var ss = SpreadsheetApp.getActiveSpreadsheet(); var sheet = ss.getSheets()[0]; var count=0; var range = sheet.getRange(intervalo); var bgColors = range.getBackgrounds(); for (var i in bgColors) { for (var j in bgColors[i]) { if (bgColors[i][j] == "#ffff00"){ count++; } } } return (count);}Uma vez inserida a funcao "getEncontros(intervalo)" nas celulas da coluna "AM", e hora de resolver o problema da coluna "AN", que representa o numero de horas mensal dos encontros. Cada encontro e de 3h, portanto basta multiplicar os resultados da coluna "AM" por 3. Exemplo: "=AM7*3" Como fazer determinado campo de uma tabela sqlite ser reconhecido na view como um objeto do tipo combobox?Ao definir sua tabela no arquivo db.py, crie uma lista com os valores que voce precisa que estejam no combobox e depois basta linkar esta lista no requires do campo em questao.No exemplo abaixo, o campo do tipo combobox e o ultimo campo (ativo) e a linha responsavel pela implementacao do objeto e: requires=IS_IN_SET(ATIVO, zero=T('--escolha--'))ATIVO = [T('Sim'),T('Nao')]db.define_table('contatos', Field('nome','string', notnull=True,required=True, requires=[IS_NOT_EMPTY(error_message=T('Campo de preenchimento obrigatorio')), IS_NOT_IN_DB(db, 'unidades_geradoras.unidade')]), Field('email','string'), Field('ativo','string', notnull=True,required=True, default='Sim', requires=IS_IN_SET(ATIVO, zero=T('--escolha--'))) ) #!/usr/bin/python# -*- coding: latin-1 -*-import sysimport datetimefrom PyQt4 import QtGuifrom PyQt4.QtCore import QTimerclass Timer(QtGui.QWidget): def __init__(self): QtGui.QWidget.__init__(self) self.label = QtGui.QLabel(self) self.hora = datetime.datetime.now().time().isoformat().split('.')[0] self.label.setText(self.hora) self.timer = QTimer(self) # Cria o timer self.timer.timeout.connect(self.onTimer) # Conecta o Timer self.timer.start(1000) # Inicia o