Ir para o conteúdo
  1. Re: Hardware livre

    Boflawok
    Por Boflawok,

    Se estiver à procura de/interresado em hardware que suporte Trisquel GNU/Linux e outros sistemas operativos livres, veja https://www.fsf.org/resources/hw.

    Uma boa parte da hardware recomendada pode ser encontrada em https://tehnoetic.com/.

    Se estiveres à procura de hardware da qual também podes ter acesso às esquematicas, tenho de dizer que isso é dificil(não tenho a certeza).

     

    • 4 respostas
  2. Re: Erro ao iniciar Selenium e ChromeDriver

    Boflawok
    Por Boflawok,

    Eu não tenho a certeza, mas isto:

    1 hour ago, joaopedro_faganelo said:

    Chrome version must be >= 67.0.3396.0

    parece indicar que o teu navegador esta desatualizado.

     

    Para resolver o problema(se esse for o problema), penso que devias instalar a versão 67.0.3396.0 ou outra mais recente.

    • 1 resposta
  3. Re: Erro ao iniciar Selenium e ChromeDriver

    joaopedro_faganelo
    Por joaopedro_faganelo,

    Estou iniciando ainda com o Selenium, usando o python 3.6 na IDE PyCharm e o Chrome para abrir os links. Esse código é para logar no facebook usando o Selenium mas ao executar ele abre o Chrome com apenas data:, no campo da url. Quando fechando apresenta inúmeros erros. Se alguém já tiver corrigido esse erro ou souber como posso faze-lo agradeço.

    Traceback (most recent call last):
      File "C:/Users/Faganelo/Desktop/scripts py3.6/facebook test.py", line 6, in <module>
        driver = webdriver.Chrome("/Users/Faganelo/Downloads/chromedriver")
      File "C:\Users\Faganelo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 75, in __init__
        desired_capabilities=desired_capabilities)
      File "C:\Users\Faganelo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 156, in __init__
        self.start_session(capabilities, browser_profile)
      File "C:\Users\Faganelo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 251, in start_session
        response = self.execute(Command.NEW_SESSION, parameters)
      File "C:\Users\Faganelo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 320, in execute
        self.error_handler.check_response(response)
      File "C:\Users\Faganelo\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_response
        raise exception_class(message, screen, stacktrace)
    selenium.common.exceptions.SessionNotCreatedException: Message: session not created exception: Chrome version must be >= 67.0.3396.0
      (Driver info: chromedriver=2.41.578737 (49da6702b16031c40d63e5618de03a32ff6c197e),platform=Windows NT 6.1.7601 SP1 x86_64)

     

    from selenium import webdriver
    import time
    username = 'email@email.com'
    password = 'Senha'
    url = 'https://www.facebook.com/'
    driver = webdriver.Chrome("/Users/Faganelo/Downloads/chromedriver")
    driver.get(url)
    driver.find_element_by_id('email').send_keys(username)
    driver.find_element_by_id('pass').send_keys(password)
    time.sleep(2)
    driver.find_element_by_id('loginbutton').click()

     

    • 1 resposta
  4. Adresso(s) que devia(m) ser retornado(s) por uma função que lida com ficheiros com um cabeçalho fixo.

    Boflawok
    Por Boflawok,

    Estou a trabalhar num projeto em que algumas partes lidam com a criação e edição de ficheiros. Ao planear a forma como uma dessas funções devia funcionar veio uma dúvida à minha cabeça.

    A função o que faz é alocar memória para o ficheiro, escrever o cabeçalho e depois retornar o adresso deste.

    Estive a pensar que o adresso deveria apontar para o inicio do ficheiro, mas depois lembrei me que quem utiliza a função provavelmente vai querer saber onde o conteúdo do ficheiro começaria. Porém, o tamanho do cabeçalho é fixo e não muda com os formatos e daí pensei que não faría muito sentido retornar 2 valores, pois para saber o outro seria só precisso fazer um simples cálculo de adição/subtração. Mas a forma como as funções seriam utilizadas ficava inconsistente se alguem quisesse adicionar suporte de um novo formato para o meu projeto que tinha um tamanho de cabeçalho maior do que os outros formatos.

    Ou seja, o que adressos deveria a função retornar? começo do ficheiro? começo do conteúdo? ambos?

    A função é parte de uma libraria, se isso tiver alguma influência sobre a resposta.

     

    Penso que onde esta questão foi colocada é o local certo. Peço desculpa se isso não for o caso.

    Se, por alguma razão, derem exemplos de código, escrevam em C ou x86 gas assembly ou algo parecido.

     

    • 0 respostas
  5. Algoritmo Digito Verificação Número Utente SNS

    Seemog
    Por Seemog,

    Olá a todos,

    inicio este tópico porque preciso de ajuda sobre qual o algoritmo que é usado para calcular o digito de verificação (nono digito)

    do número de utente do SNS.

    Segundo a legislação (Portaria nº 981/95)

    link: https://dre.pt/web/guest/pesquisa/-/search/477871/details/normal?q=981%2F95

    usa a Norma ISO 7064 (MOD 11-2).

     

    Pelas minhas pesquisas, e resumindo o algoritmo, o mod 11, multiplica :

    1 2 3 4 5 6 7 8 9    ---- numero ficticio do SNS

    por

    9 8 7 6 5 4 3 2 -    ----- factor de multiplicação

    depois soma tudo e divide por 11 (Mod11), com base no resto da divisão

    faz 11-resto e o numero será o digito de verificação (sendo que se for 11 ou 10 aplica-se 0

     

    Isto aplicado ao NIF funciona bem.

    Mas para o numero do SNS não.

    Alguém aqui no fórum me pode ajudar com isto?

     

    • 0 respostas
  6. Re: Encerrando o programa por inatividade

    nunopicado
    Por nunopicado,

    Dá uma olhada no TIdleTimer, um irmão do TTimer sugerido pelo @thoga31 específico para lidar com inactividade.

    http://lazarus-ccr.sourceforge.net/docs/lcl/extctrls/tidletimer.html

    Assim não tens de te preocupar com multi-threading nem verificação dos inicios e fins de processos, pois o componente trata disso por ti.

    • 2 respostas
  7. Re: Encerrando o programa por inatividade

    thoga31
    Por thoga31,

    Boa tarde, @Jose Antonio.

    Primeiramente, eu não sou a melhor pessoa do fórum para auxiliar em Delphi - a minha "especialidade" é mais Pascal. Contudo, posso dar uma ideia para solucionar esse problema.

    Uma forma será usar multithreading, no qual um timer é reiniciado sempre que houver actividade noutras threads. Havendo inactividade por X segundos, o timer fica a 0 (zero) ou a X (conforme seja feita contagem crescente ou decrescente) e, nesse momento, são invocadas as funções e procedimentos necessários para o encerramento seguro da aplicação.

    Para exemplos de código ou mesmo sugestões potencialmente melhores, vou deixar o campo aberto para outros membros com mais vasto conhecimento em Delphi.

    Cumprimentos.

    • 2 respostas
  8. Re: Encerrando o programa por inatividade

    Jose Antonio
    Por Jose Antonio,

    Exmos

    Estou tentando encerrar meu programa em Lazarus por inatividade. Agradeço orientações.

    • 2 respostas
  9. PHC- Corporate V22

    soares chirrute
    Por soares chirrute,

    Bom dia!

     

    Alguém pode me ajudar com seguinte questão:

    Não deixar gravar um resgistro de cliente se o número de caracteres do campo NUIT ( número de contribuente) for inferior a 9 caracteres.

     

    • 0 respostas
  10. Re: Verificar se funcionário entrou ou saiu

    footboyedit
    Por footboyedit,
    Em 14/08/2018 às 15:25, nelsonr disse:

    Boa tarde footboyedit,

    esquecendo a parte do SQL, o que indica se o funcionario entrou ou saiu? Pela hora de picagem?
    Se estiver perto da hora de entrada é porque entrou, se tiver perto da hora de saida é porque saiu?

    Podes por exemplo fazer um select que te retorna a diferença de hora do campo Pica com cada um dos campos do horario da ficha do funcionario. Depois consideras o que tiver menor diferença.

    No entanto isso poderá não funcionar bem se o funcionar entrar por exemplo às 12h. Ficaria perto da hora de saida e iria considerar que saiu.

    Nesse caso poderás considerar o total de picas do dia. Se for impar é porque entrou, se for par é porque saiu
     

    Espero que ajude,
    nelsonr

    Desde já obrigado. Mas e se houver um esquecimento de picagem?

    • 2 respostas
  11. Re: LimeSurvey/Expressions

    Debora Teixeira
    Por Debora Teixeira,

    Peço desculpa, vou tentar explicar melhor.

    Eu tenho uma pergunta que quer saber o número de inscrições a serem feitas (1, 2 ou 3). Essa pergunta é do tipo lista, onde se seleciona o número de inscrições que se quer fazer.

    O que eu queria era que houvesse um "contador" que, se fosse selecionada a opção "1", somava mais um, se fosse selecionada a opção "2", somava mais dois e se fosse selecionada a opção "3" somava mais três.

    Para isso, pensei fazer uma equação (que seria feita numa pergunta oculta) onde iria fazer o somatório há medida que as pessoas fossem respondendo ao inquérito.

    Após isso, queria limitar as inscrições. Ou seja, quando o contador chegasse ao valor 20, queria que o inquérito deixasse de poder ser respondido.

    Espero ter conseguido explicar melhor!

    • 2 respostas
  12. Re: LimeSurvey/Expressions

    HappyHippyHippo
    Por HappyHippyHippo,

    não percebi o problema ...

    • 2 respostas
  13. Re: [Pascal] Ferramenta para a tabela de ASCII

    thoga31
    Por thoga31,

    Isto já tem 8 anos! Estou a ficar velho... 😄

    Sem dúvida uma óptima adição. Em Abril de 2010 ainda não sabia isso.

    • 2 respostas
  14. Re: LimeSurvey/Expressions

    Debora Teixeira
    Por Debora Teixeira,

    Boa tarde, 

    Para um inquerito no limeSurvey necessito de, numa pergunta oculta, ter o resultado da soma de outra pergunta.

    Ou seja, eu tenho uma pergunta de escolha multipla com as opcoes "1" "2" e "3". Necessito que a soma das respostas escolhidas nao seja superior a 20.
    Tentei com quotas mas, se definisse que nao podiam haver mais de 20 respostas da opção "1", continuaria a ser possivel selecionar a opção "2", e isso iria ultrapassar o valor 20 que eu quero como limite.

    Se me puderem ajudar na expressão agradecia imenso!

    • 2 respostas
  15. Re: Subtração por divisão sucessivas

    pwseo
    Por pwseo,

    @roberto96fs,

    O que já conseguiste fazer? Já tens aí um algoritmo que consegue resolver o problema que pretendes resolver... Tens alguma dúvida específica sobre como escrever isso em Python? E outra questão: conseguiste perceber o conceito por detrás do algoritmo utilizado?

    • 1 resposta
  16. Erro ao chamar uma função em outro projeto

    Juca
    Por Juca,

    Bom dia,

    Estou desenvolvendo um sistema em vb.net 2010. A solução contém cinco projetos, um EXE (Principal) e quatro DLL (Cadastro, Financeiro, Jurídico e Biblioteca). A Biblioteca.dll contém uma classe Utils com funções para validar CPF, encriptar Senha e outras. Referenciei a Biblioteca.dll no projeto Principal.exe.  Quando chamo fValidaCPF(txtCPF.text) do Projeto Principal.exe é apresentado um erro “Expressão não é um método”.

    '----------------------------------------------------------------------
    
    'Projeto Principal.exe
    
    '----------------------------------------------------------------------
    
    Imports Biblioteca
    
    Imports Biblioteca.Utils
    
    Imports System.Windows.Forms
    
    Public Class Principal
    
        Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    
            fValidaCPF(TextBox1.Text)
    
        End Sub
    
    End Class
    
    
    
    
    
    
    
    '----------------------------------------------------------------------
    
    'Projeto Biblioteca.dll
    
    'Valida CPF
    
    '----------------------------------------------------------------------
    
    Public Function FValidaCPF(ByVal CPF As String) As Boolean
    
        Dim i, x, n1, n2 As Integer
    
        CPF = CPF.Trim
    
        For i = 0 To dadosArray.Length - 1
    
            If CPF.Length <> 14 Or dadosArray(i).Equals(CPF) Then
    
                Return False
    
            End If
    
        Next
    
        'remove a maskara
    
        'If Len(CPF) > 11 Then
    
        CPF = CPF.Substring(0, 3) + CPF.Substring(4, 3) + CPF.Substring(8, 3) + CPF.Substring(12)
    
        'End If
    
        For x = 0 To 1
    
            n1 = 0
    
            For i = 0 To 8 + x
    
                n1 = n1 + Val(CPF.Substring(i, 1)) * (10 + x - i)
    
            Next
    
            n2 = 11 - (n1 - (Int(n1 / 11) * 11))
    
            If n2 = 10 Or n2 = 11 Then n2 = 0
    
            If n2 <> Val(CPF.Substring(9 + x, 1)) Then
    
                MsgBox("O CPF informado não é válido. Verifique se digitou corretamente.", _
    
                       MsgBoxStyle.Information, "GA .Net Consultoria")
    
                Return False
    
            End If
    
        Next
    
    
    
        MsgBox("O CPF informado é válido.", _
    
               MsgBoxStyle.Information, "GA .Net Consultoria")
    
    
    
        Return True
    
    End Function

     

    • 0 respostas
  17. Re: Simular Objetos/Re-uso de Código?

    pwseo
    Por pwseo,

    Yamix,

    Além do que já foi referido pelo Nuno, queria apenas salientar que existe uma outra opção, «entre o procedural e o orientado a objectos»: podes utilizar records que te permitem criar tipos de dados (ditos «complexos») que consistem na agregação de tipos de dados mais simples: podes, por exemplo, ter um tipo de dados Carro que agregue em si uma String para a marca e modelo, outra para a matrícula, e vários Real / Integer para coisas como a potência, consumo, entre outros.

    As diferenças desta abordagem para a programação orientada a objectos são inúmeras, mas de uma forma superficial, terias que ter funções/procedimentos globais para manipulação destes tipos de dados, ao invés de teres métodos que fazem parte de cada objecto. Por vezes não precisamos de todas as vantagens (e complexidade) associadas à orientação para objectos, pelo que é importante conhecer também as opções que ficam «a meio termo».

    Relativamente à organização do código e os comentários feitos pelo suposto professor, já outros comentaram (e muito bem), pelo que não vou repetir o que já foi dito. Queria apenas referir que acho muito correcta a tua percepção de que Java é uma má linguagem para quem nunca programou: obriga-te a pensar num paradigma que não é necessariamente o melhor para todas as situações e isso é especialmente verdade quando se está a começar a programar. Em relação a isto, Pascal (nas suas implementações modernas como Free Pascal, Delphi) é de longe muito mais pedagógico, permitindo começar no zero e evoluir a um bom ritmo para praticamente todos os conceitos de alto nível que se vê noutras linguagens imperativas (como Java).

    • 8 respostas
  18. Open Source Lisbon 2018

    Rui Carlos
    Por Rui Carlos,
    Citação

    Considerado o maior e mais conceituado evento de Open Source em Portugal, o Open Source Lisbon 2018 terá lugar na Cidade do Futebol no dia 27 de Setembro e revela agora os primeiros speakers confirmados.

    Com uma localização privilegiada e excelentes infraestruturas, a Cidade do Futebol é um espaço versátil e inovador, caracterizado pela sua funcionalidade, segurança e tecnologia de ponta. Além das suas fortes características, este espaço é uma ode à Portugalidade, visível através dos seus relvados com vista para o Tejo, da sala de exposição de conquistas nacionais futebolísticas, da decoração com estrofes do hino nacional e das cores do espaço, inspiradas na bandeira nacional.

    Além do local, o Comité de Organização do evento Open Source Lisbon revela ainda os primeiros speakers confirmados. Sob o temaOpen Source: driving Innovation, o evento teve o prazer de convidar Giovanni Bajo, Developer Relations da Team Digitale, equipa destacada para a transformação digital do Governo Italiano, Adam Hyde, Co-fundador da The Collaborative Knowledge Foundation, Ben Van’t ende, Partner & Community Strategist da Age of Peers, Deb Nicholson, Director of Community Operations na Software Freedom.

    Este evento, organizado pela Syone e coorganizado pela Caixa Mágica, tem a duração de um dia e está dividido em duas partes, a parte da manhã dedicada à visão estratégica e de negócios, e a parte da tarde de cariz mais técnico e funcional. O evento é gratuito, mas sujeito a inscrição prévia.

    Webpage: Open Source Lisbon 2018

    • 0 respostas
  19. Windows 10 to get disposable sandboxes for dodgy apps

    Rui Carlos
    Por Rui Carlos,
    Citação

    Microsoft is building a new Windows 10 sandboxing feature that will let users run untrusted software in a virtualized environment that's discarded when the program finishes running.

    The new feature was revealed in a bug-hunting quest for members of the Insider program and will carry the name "InPrivate Desktop." While the quest has now been removed, the instructions outlined the basic system requirements—a Windows 10 Enterprise system with virtualization enabled and adequate disk and memory—and briefly described how it would be used. There will be an InPrivate Desktop app in the store; running it will present a virtualized desktop environment that can be used to run questionable programs and will be destroyed when the window is closed.

    [...]

    Fonte: https://arstechnica.com/staff/2018/08/windows-10-to-get-disposable-sandboxes-for-dodgy-apps/

    • 0 respostas
  20. Re: Como fazer a minha contabilidade organizada (TOC)

    americob
    Por americob,

    Não percebeste o que escrevi.

    Um TOC só pode fazer a sua contabilidade ser for uma empresa de contabilidade. Se for uma empresa de engenharia, informática ou outra, mesmo sendo TOC tem de contratar um colega TOC para a fazer porque está impedido pelo Código Deontológico. Digamos que há conflito de interesses.

    • 5 respostas
  1. Ver Mais Actividade
×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.