Ir para o conteúdo

Actividade Recente

Esta stream actualiza-se automaticamente     

  1. Última Hora
  2. 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?
  3. Ontem
  4. nunopicado

    Encerrando o programa por inatividade

    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.
  5. thoga31

    Encerrando o programa por inatividade

    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.
  6. Jose Antonio

    Encerrando o programa por inatividade

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

    PHC- Corporate V22

    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.
  8. Última semana
  9. footboyedit

    Verificar se funcionário entrou ou saiu

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

    LimeSurvey/Expressions

    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!
  11. HappyHippyHippo

    LimeSurvey/Expressions

    não percebi o problema ...
  12. 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.
  13. Debora Teixeira

    LimeSurvey/Expressions

    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!
  14. pwseo

    Subtração por divisão sucessivas

    @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?
  15. 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
  16. pwseo

    Simular Objetos/Re-uso de Código?

    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).
  17. Rui Carlos

    Open Source Lisbon 2018

    Webpage: Open Source Lisbon 2018
  18. Fonte: https://arstechnica.com/staff/2018/08/windows-10-to-get-disposable-sandboxes-for-dodgy-apps/
  19. 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.
  20. 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
  21. footboyedit

    Verificar se funcionário entrou ou saiu

    Olá a todos, precisava de uma ajudinha Tenho 2 tabelas sql server: Funcionarios: Id 1 Nome José Ferreira HorarioEntrada1 08:00 HorarioSaida1 12:30 HorarioEntrada2 13:30 HorarioSaida2 17:00 Picagem: Id 267384 Func_Id 1 Pica 2018-08-08 12:32:34 O que quero fazer é ao percorrer todas os registos na tabela Picagem, verificar se o funcionário saiu ou entrou na empresa, de acordo com o horário do mesmo. Qual a forma mais simples e eficaz de resolver isto? Desde já, muito obrigado.
  22. Bom dia Ghost, não indicas a linha de erro, mas de acordo com o outro tópico que criaste, será na segunda do MostraRegistos. Tal como tinha indicado na mensagem anterior, se não tens registos, o CurrentRow vai estar a NULL, o que provoca o erro quando tenta aceder às células. Adiciona uma verificação se a grelha tem linhas antes de fazeres aquela parte do código. Algo assim (não testado): Private Sub MostraRegistos() RegistoStripLabel.Text = "Reclamação nº:" & RegistoAtual + 1 if DataGridView.Rows.Count=0 then return txtReferencia.Text = dgvBaterias.CurrentRow.Cells("Referencia").Value.ToString txtCliente.Text = dgvBaterias.CurrentRow.Cells("Cliente").Value.ToString txtNCliente.Text = dgvBaterias.CurrentRow.Cells("NCliente").Value.ToString txtFTCliente.Text = dgvBaterias.CurrentRow.Cells("FCliente").Value.ToString dtpDFatura.Text = dgvBaterias.CurrentRow.Cells("DFatura").Value.ToString txtNDevolucao.Text = dgvBaterias.CurrentRow.Cells("NDevolucao").Value.ToString txtNCArmazem.Text = dgvBaterias.CurrentRow.Cells("NCArmazem").Value.ToString txtNCCliente.Text = dgvBaterias.CurrentRow.Cells("NCCliente").Value.ToString txtMEntrada.Text = dgvBaterias.CurrentRow.Cells("MEntrada").Value.ToString cboDesignacao.Text = dgvBaterias.CurrentRow.Cells("Designacao").Value.ToString cboObservacoes.Text = dgvBaterias.CurrentRow.Cells("Observacoes").Value.ToString End Sub Espero que ajude, nelsonr
  23. Boas Nelson o código onde dá o erro é o seguinte: Private Sub MostraRegistos() RegistoStripLabel.Text = "Reclamação nº:" & RegistoAtual + 1 txtReferencia.Text = dgvBaterias.CurrentRow.Cells("Referencia").Value.ToString txtCliente.Text = dgvBaterias.CurrentRow.Cells("Cliente").Value.ToString txtNCliente.Text = dgvBaterias.CurrentRow.Cells("NCliente").Value.ToString txtFTCliente.Text = dgvBaterias.CurrentRow.Cells("FCliente").Value.ToString dtpDFatura.Text = dgvBaterias.CurrentRow.Cells("DFatura").Value.ToString txtNDevolucao.Text = dgvBaterias.CurrentRow.Cells("NDevolucao").Value.ToString txtNCArmazem.Text = dgvBaterias.CurrentRow.Cells("NCArmazem").Value.ToString txtNCCliente.Text = dgvBaterias.CurrentRow.Cells("NCCliente").Value.ToString txtMEntrada.Text = dgvBaterias.CurrentRow.Cells("MEntrada").Value.ToString cboDesignacao.Text = dgvBaterias.CurrentRow.Cells("Designacao").Value.ToString cboObservacoes.Text = dgvBaterias.CurrentRow.Cells("Observacoes").Value.ToString End Sub Private Sub PreencheDataSet() dsBaterias.Clear() Dim da = New OleDb.OleDbDataAdapter("SELECT * from Baterias", cnADONETConexao) da.Fill(dsBaterias, "Baterias") RegistoAtual = 0 TotalRegistos = dsBaterias.Tables("Baterias").Rows.Count - 1 End Sub
  24. Boa tarde Ghost, se não tens linhas, então o CurrentRow não vai ter conteúdo (é Null), dai dar erro ao usares o get. Não mostraste o código que tens, mas faz uma verificação se tens linhas antes de fazer alguma coisa. Por exemplo com DataGridView.Rows.Count Espero que ajude, nelsonr
  25. Boa tarde Pessoal tenho um problema, criei uma base de dados em access para abrir num programa que estou criando, mas a tabela que criei não contem registos e o programa não abre e dá erro.... o programa só abre se tiver registos dentro da base de dados.... como é que eu faço para abrir o programa com a base de dados sem registos, para depois dentro do programa adicionar.... Preciso mesmo de ajuda pessoal Atenciosamente Ghost O erro que aparece no visual studio ao abrir o programa é o seguinte: System.NullReferenceException: 'A referência de objecto não foi definida como uma instância de um objecto.' System.Windows.Forms.DataGridView.CurrentRow.get retornou Nothing.
  26. Mais Antigo
  27. Mais uma vez obrigado ao RikFonseca e Hugo Costa. Voltei ao VS2015 +.net 3.5 e acrescentei estas linhas: //Tls=192 | Tls11=768 | Tls12=3072 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls | (SecurityProtocolType)768 | (SecurityProtocolType)3072; ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, sslPolicyErrors) => true; Para já parece estar funcionar em + computadores (excepto XP) mesmo no Windows 10 Home que antes não funcionava. (Em alternativa, ainda tenho a outra versão em VS2017 +.net 4.5 sem qualquer linha acrescentada) Cumprimentos.
  28. washalbano

    Registar artigos mostrados no POS

    Olá Rui! É isso mesmo! Você vai ter um tipo de Model(Arquivo que se comunica com o banco de dados), que vai executar uma função de busca e te devolver os dados. Aí você envia pra View(Arquivo responsável pela exibição dos dados no browser) e monta a exibição da forma que achar melhor Você pode se comunicar com o database usando MySqli ou PDO
  29. Boa tarde, Completando a informação deixada pelo RikFonseca, o TLS 1.2 não é compatível com o Windows XP, como poderão ver no seguinte endereço: https://blogs.msdn.microsoft.com/kaushal/2011/10/02/support-for-ssltls-protocols-on-windows/ Deixo aqui onde podem verificar em que atualização foi disponibilizado o novo protocolo e como ativar: https://support.microsoft.com/en-us/help/4040243/how-to-enable-tls-1-2-for-configuration-manager https://support.microsoft.com/en-us/help/3140245/update-to-enable-tls-1-1-and-tls-1-2-as-a-default-secure-protocols-in
  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.