Jump to content

All Activity

This stream auto-updates     

  1. Yesterday
  2. Olá a Todos! Sou absolutamente leigo em programação, mas a partir das minhas pesquisas e estudos, consegui exportar os dados de um DataGridView para o Excel com o código a seguir. Agora, preciso de saber como incluir a orientação para: 1) Formatar uma coluna - coluna C - para data ("dd/MM/yyyy") e outras duas para número - colunas F e L.; 2) Formatar a largura das colunas de acordo com o texto. Agradeço desde já sua atenção e auxílio. Public Sub Exportar() Dim SAVE As New SaveFileDialog Dim way As String Dim xlApp As Object = CreateObject("Excel.Application") Dim pth As String = "" 'criaremos una nova Plan Dim xlwb As Object = xlApp.WorkBooks.add Dim xlws As Object = xlwb.WorkSheets(1) Try For c As Integer = 0 To DataGridView1.Columns.Count - 1 xlws.cells(1, c + 1).value = DataGridView1.Columns(c).HeaderText Next For r As Integer = 0 To DataGridView1.RowCount - 1 For c As Integer = 0 To DataGridView1.Columns.Count - 1 xlws.cells(r + 2, c + 1) = DataGridView1.Item(c + 1, r + 2).Value.ToString() Next Next Dim SaveFileDialog1 As SaveFileDialog = New SaveFileDialog SaveFileDialog1.InitialDirectory = System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) SaveFileDialog1.Filter = "Archivo Excel| *.xlsx" SaveFileDialog1.FilterIndex = 2 If SaveFileDialog1.ShowDialog = DialogResult.OK Then way = SaveFileDialog1.FileName xlwb.saveas(way) xlws = Nothing xlwb = Nothing xlApp.quit() MsgBox("Exportado Corretamente.") End If Catch ex As Exception End Try End Sub
  3. Olá, Tenho um script em python que lista os ficheiros em txt e xml de varias pastas, o que eu gostaria era de mostrar o caminha dos ficheiros em um html para criar um hiperlink de um determinado ficheiro, alguém pode ajudar-me ou indicar onde posso pesquisar sobre este tema. import os path = 'c:\\winpy\\' files = [] # r=root, d=directories, f = files for r, d, f in os.walk(path): for file in f: if '.txt' in file: files.append(os.path.join(r, file)) if '.xml' in file: files.append(os.path.join(r, file)) for f in files: print(f) esse é o código que listo os ficheiros.
  4. drps

    Erro leitura cartão de cidadão

    Boas, ontem também me deparei com o mesmo problema. Pelos vistos é um bug nessa versão faltam uns dlls. Link para download: https://drive.google.com/drive/folders/1XkQ7tunA0l2YyeGlygwigM0DrQFirCdn?usp=sharing
  5. Quando tenho de testar, porque alguém se queixa que não está a conseguir comunicar, envio uma "Guia de movimentação de ativos próprios", de mim, para mim, com a minha morada em carga e descarga, com a quantidade 1, a descrição "teste de webservice" e data de carga para 1 mês após a data do doc. Logo que o sistema estiver a funcionar, anulo com o motivo "teste de webservice bem sucedido". Se um dia a AT perguntar alguma coisa, justifico!
  6. Boas pessoal alguém tem novidades da esPAP já vi que o site têm mais informações sobre a norma CIUS-PT, mas não há dados técnicos da comunicação com o WebService deles, estamos a chegar ao fim do ano e não existe informação nenhuma, apenas existe informação da estrutura! Já vi que o @brunotoira já têm isso quase implementado mas nós queríamos que a solução ficasse Inhouse... Queríamos começar a desenvolver mas está complicado a espap nem aos mails responde!
  7. Last week
  8. Segundo parece o QRC é só para 2021 https://www.occ.pt/fotos/editor2/prazosaplregrasfaturacaoa.pdf
  9. M6

    Empacotar dlls de PlataformasDiferentes

    Creio que o InnoSetup te pode ajudar. Dá uma olhadela aqui: http://www.jrsoftware.org/ishelp/index.php?topic=32vs64bitinstalls
  10. João Amorim

    Ciclos em C - Dúvida

    Boa tarde a todos. Sou novo neste chamado "mundo da programação" , tal como neste site, e estou com uma dúvida que, com a ajuda de quem saiba, espero resolver :). O problema é o seguinte: Pretende-se desenvolver um programa para ler valores de tempo no formato “h(hora) m(minuto) s(segundo)”, devolvendo o número de segundos associado ao tempo introduzido. No entanto, o utilizador deve poder omitir campos (e.g. introduzir só “h23”). Para terminar a leitura o utilizador pode introduzir um carácter diferente de ‘h’, ‘m’ ou ‘s’. Pretende-se também que o programa valide os valores introduzidos, não deixando introduzir valores de minutos ou segundos superiores a 59, nem introduzir campos repetidos (só se pode introduzir 0 ou 1 campo de hora; 0 ou 1 campo de minuto; 0 ou 1 campo de segundo). Repare que: • São necessárias variáveis para guardar cada componente do tempo; • Só há leitura da parte numérica de uma componente do tempo se o carácter for válido; • Dependendo do carácter lido, o valor numérico contribui para o valor final de tempo com um peso diferente; • O ciclo de leitura de componentes do tempo não tem um número de componentes fixo, nem uma ordem fixa. ---------------------------- Ora, eu já fiz uma boa parte do código. Aqui vai ele: #include <stdio.h> #include <stdlib.h> int main(){ short int horas=0, minutos=0, segundos=0; long int Total_Segundos; printf("EXERCICIO FINAL - CONVERTER TEMPO EM SEGUNDOS\n\n"); printf("Introduza o tempo no formato h(hora) m(minuto) s(segundo): "); scanf("h%hd m%hd s%hd", &horas, &minutos, &segundos); if(minutos>59 && segundos>59){ printf("ERRO! Numero de minutos e segundos invalidos!"); exit(1); } else{ if(minutos>59 || segundos>59){ if(minutos>59){ printf("ERRO! Numero de minutos invalidos!"); exit(1); } else{ printf("ERRO! Numero de segundos invalidos!"); exit(1); } } } Total_Segundos=(horas*3600)+(minutos*60)+(segundos); printf("h%hd m%hd s%hd = %ld", horas, minutos, segundos, Total_Segundos); return 0; } No entanto, no que toca ao seguinte ponto: "...nem introduzir campos repetidos (só se pode introduzir 0 ou 1 campo de hora; 0 ou 1 campo de minuto; 0 ou 1 campo de segundo).". Não sei como resolver esta situação. Agradeço qualquer tipo de ajuda e, mesmo não indicando a resposta direta, aceito qualquer tipo de ajuda que me ajude a chegar ao resultado. Obrigado desde já pela atenção!
  11. RAFAEL DUTRA

    Programa para limpa backup antigos

    Ola pessoal estou precisando de uma ajudinha, sou apenas um estudante, trabalho atualmente com suporte TI. preciso criar um programa que identifique o tamanho de uma pasta (no caso estou utilizando a pasta backup do servidor) caso esta passa ultrapasse o valor X o programa exclui o arquivo mais antigo da pasta eu fiz o program achar o caminho e ler o tamanho da pasta, porem não consigo fazer ela excluir os arquivos por período e limitar a pasta para que quando alcance 1gb ela exclua os antigos da pasta no caso são os diff do servidor alguém pode me ajudar segue o que consegui estudando Imports System.IO <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> Partial Class SisMega Inherits System.Windows.Forms.Form 'Descartar substituições de formulário para limpar a lista de componentes. <System.Diagnostics.DebuggerNonUserCode()> _ Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then components.Dispose() End If Finally MyBase.Dispose(disposing) End Try End Sub Private Sub btnProcurar_Click(sender As Object, e As EventArgs) Handles btnprocurar.Click Dim FolderBrowserDialog1 As New FolderBrowserDialog With FolderBrowserDialog1 .RootFolder = Environment.SpecialFolder.Desktop .SelectedPath = "c:\" .Description = "Selecione uma pasta" If .ShowDialog = DialogResult.OK Then txtLocal.Text = .SelectedPath End If End With End Sub Private Function TamanhoArquivosDiretorios(ByVal dInfo As DirectoryInfo, ByVal incluirSubDir As Boolean) As Long Dim tamanhoTotal As Long = dInfo.EnumerateFiles().Sum(Function(file) file.Length) If incluirSubDir Then tamanhoTotal += dInfo.EnumerateDirectories().Sum(Function(dir) TamanhoArquivosDiretorios(dir, True)) End If Return tamanhoTotal End Function Private Sub btncoletar_Click(sender As Object, e As EventArgs) Handles btncoletar.Click Dim dInfo As New DirectoryInfo(txtLocal.Text) Dim tamanhoDaPasta As Long = TamanhoArquivosDiretorios(dInfo, True) Dim arquivosDaPasta As String() = Directory.GetFiles(txtLocal.Text) Dim media = arquivosDaPasta.Select(Function(arquivo) New FileInfo(arquivo).Length).Average() media = Math.Round(media / 1000000, 1) txtResultado.Text = "" txtResultado.Text += String.Format("Tamanho do Backup em bytes : {0:N0} bytes", tamanhoDaPasta) & vbCrLf txtResultado.Text += String.Format("Tamanho do Backup em KB : {0:N0} KB", CDbl(tamanhoDaPasta) / 1024) & vbCrLf txtResultado.Text += String.Format("Tamanho do Backup em MB : {0:N0} MB", CDbl(tamanhoDaPasta) / (1024 * 1024)) & vbCrLf txtResultado.Text += vbCrLf End Sub Private Sub SisMega_Load(sender As Object, e As EventArgs) Handles MyBase.Load End Sub Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click End Sub Private Sub btnLimpar_Click(sender As Object, e As EventArgs) Handles btnlimpar.Click End Sub
  12. nuno35

    Adicionar a uma lista

    Boas, tenho aqui um problema que é eu tenho a função calculaSoma que recebe um lista e devolve a soma das diferenças entre os numero por exemplo: calculaSoma [5,4,3] -- (5-4)+(4-3)= 2 e tenho a função dis que basicamente ve a diferença do dois números agr tenho de fazer uma função adiciona que recebe uma lista e um numero e tenho de colocar o numero de modo a minimizar o resultado da função calculaSoma, tenho de fazer com recursao adiciona [x,y] z --caso base |dis x z > dis z x = [z,x,y] | diz z y > dis y z = [x,y,z] adiciona (x:xs) z Desde já Obrigado
  13. Kyrstannie

    ANSWERED Problema com caracteres especiais - Outlook

    Olá @bsccara! Obrigada pelo auxílio. Consegui resolver! 😊
  14. bsccara

    ANSWERED Problema com caracteres especiais - Outlook

    Os emails não devem ter o Content-Type certo no cabeçalho. Pelo aspecto o Outlook espera caracteres codificados em ISO-8859-1 e o teu código está a enviar caracteres codificados em Unicode. Vê esta página para uma solução para PHP.
  15. Olá eu sou um estudante no curso de engenharia informática e ao fazer uma ficha deparei-me com uma função que me está dando dores cabeças! A função é do tipo atualizaPosicaoMatriz :: PosicaoMatriz -> a -> Matriz a -> Matriz a em que Matriz a = [[a]] , PosicaoMatriz = (Int,Int) e o objetivo dessa função é para devolver a Matriz caso um elemento não exista Alguém pode me dar uma ideia de como eu começo a definir essa função pois não sei como irei definir essa?? Obrigado!
  16. Olá comunidade! Estou com um problema que não consigo resolver. Tenho um script para enviar e-mails e está tudo a funcionar corretamente, exceto um pormenor. Toda mensagem recebida no Outlook contém caracteres estranhos (no Gmail não há problemas). No Outlook o assunto é exibido assim: Formulário do Site (em vez de Formulário do Site). E o corpo da mensagem: Nome: João (em vez de João) E-mail: hello@hello.com Mensagem: olá! (em vez de olá!) Pesquisei e tentei durante horas resolver, mas não sei mais o que estou a fazer. A sugestão mais frequente que encontro é para usar a classe PHPMailer para resolver estas questões. Experimentei usar a classe, mas o problema mantém-se. Alguém sabe como posso resolver isto? Deixo abaixo aqui o código que estou a usar: <?php ////////////////////////// //Specify default values// ////////////////////////// //Your E-mail $your_email = 'kyrstie@outlook.com'; //Default Subject if 'subject' field does not exist $default_subject = 'Formulário do Site'; //Message if 'name' field not specified $name_not_specified = 'Por favor digite um nome válido'; //Message if 'message' field not specified $message_not_specified = 'Por favor digite uma mensagem válida'; //Message if e-mail sent successfully $email_was_sent = 'Sua mesagem foi enviada!'; //Message if e-mail not sent (server not configured) $server_not_configured = 'Sorry, mail server not configured'; /////////////////////////// //Contact Form Processing// /////////////////////////// $errors = array(); $response = array('error' => '', 'success' => ''); $params = array(); parse_str($_POST['data'], $params); header('Content-type: application/json charset=iso-8859-1'); if(isset($params['message']) and isset($params['username'])) { if(!empty($params['username'])) $sender_name = stripslashes(strip_tags(trim($params['username']))); if(!empty($params['message'])) $message = stripslashes(strip_tags(trim($params['message']))); if(!empty($params['email'])) $sender_email = stripslashes(strip_tags(trim($params['email']))); if(!empty($params['subject'])) $subject = stripslashes(strip_tags(trim($params['subject']))); //Message if no sender name was specified if(empty($sender_name)) { $errors[] = $name_not_specified; } //Message if no message was specified if(empty($message)) { $errors[] = $message_not_specified; } $from = (!empty($sender_email)) ? 'From: '.$sender_email : ''; $subject = (!empty($subject)) ? $subject : $default_subject; //$message = (!empty($message)) ? wordwrap($message, 70) : ''; $message = " Nome: $sender_name E-mail: $sender_email Mensagem: $message "; //sending message if no errors if(empty($errors)) { if (mail($your_email, $subject, $message, $from)) { $response['success'] = $email_was_sent; } else { $errors[] = $server_not_configured; $response['error'] = implode('<br>', $errors ); } } else { $response['error'] = implode('<br>', $errors ); } } else { // if "name" or "message" vars not send ('name' attribute of contact form input fields was changed) $response['error'] = '"name" and "message" variables were not received by server. Please check "name" attributes for your input fields'; } echo json_encode( $response ); ?>
  17. Flyp

    Número de dias do mês/ano

    def bissexto(ano): return (ano % 4 == 0 and (ano % 400 == 0 or ano % 100 != 0))
  18. Nelson Sousa

    Empacotar dlls de PlataformasDiferentes

    Olá, Boa noite! Utilizo o C# no V. Studio 2017. Vou precisar utilizar dlls em meu sistema que, apesar de terem o mesmo nome, são compiladas para plataformas diferentes. Vou dar um exemplo: libeay32.dll - esta biblioteca (de terceiros) é compilada em duas plataformas diferentes x86 e x64. O nome permanece o mesmo seja qual for a plataforma. Gostaria de "empacotar" as dlls de cada plataforma em um arquivo de recurso e "desempacotar" logo após verificar em qual plataforma elas irão trabalhar. Ou seja, se o sistema averiguar que o Sistema Operacional é x86, "desempacota" as dlls x86. Se o Sistema Operacional é x64, desempacota as dlls x64. Eu tentei separá-las em pastas diferentes (...\x86\) e (...\x64\) e informar o path no constructor da classe. Porém, como essa dlls são dependências de outra "dll mãe", elas tem por padrão a pasta raiz do EXE ou a pasta system do Windows. Vejam abaixo como ficou o constructor da classe: public ACBrNFe(string eArqConfig = "", string eChaveCrypt = "") : base(Environment.Is64BitProcess ? @"AcbrLib\x64\ACBrNFe64.dll" : @"AcbrLib\x86\ACBrNFe32.dll") { InitializeMethods(); var inicializar = GetMethod<Delegates.NFE_Inicializar>(); var ret = ExecuteMethod(() => inicializar(ToUTF8(eArqConfig), ToUTF8(eChaveCrypt))); CheckResult(ret); } Reparem que as "dlls mães" são as AcbrNFe64.dll e AcbrNFe32.dll. Essas duas utilizam várias dlls por dependência entre elas a libeay32.dll, todas de mesmo nome, porém cada uma com o grupo de dlls de sua respectiva plataforma. Então meu problema é esse: Como distribuir dlls com nomes idênticos mas de plataformas diferentes? Isso sem ter que construir 2 instaladores...rsrsrs.
  19. M6

    Número de dias do mês/ano

    Consegues compreender o que quer dizer "os meses têm 31 dias se forem ímpares e menores ou iguais a 7, ou se forem pares e maiores ou iguais a 8."?
  20. Como o americob já tinha dito anteriormente, a AT publicou o seguinte:
  21. Viva, Bom, long story short, estou a fazer uma bd em access que regista os tempos dos funcionários em determinado projeto ao longo do dia. Basicamente criei 3 tabelas 1 - tblFuncionarios (ID, nome, email...) 2 - tblProjetos (ID, nome), onde estão listados todos os projetos 3 - Registo (ID, projeto, data, nr_horas) Começam aqui os meus problemas: Nesta fase quero só criar um formulário (as questões de segurança e acesso, trato mais tarde) onde esteja o nome do funcionário (tem de ir buscar à tblFUncionarios, certo?), uma combobox com o projeto para ele escolher (tem tb de ir buscar à tblProjetos...), um campo data e um campo horas. Corrijam-me se eu estiver errado: a form vai escrever na tabela Registo mas há campos nessa tabela que "pertencem" (ou são seleccionados) a outras tabelas. Daí entrar as relações, certo? Como é que na form selecciono campos de outras tabelas (no caso Funcionário e Projeto) para registar nos Registos? Obrigado desde já pelo suporte.
  22. M6

    Número de dias do mês/ano

    Mas não compreendes o algoritmo, é isso?
  23. Flyp

    Número de dias do mês/ano

    Eu estou iniciando programação, nunca programei, não estou entendo a lógica
  24. M6

    Número de dias do mês/ano

    @Flyp, fiquei sem saber concretamente qual a tua dúvida ou problema. Coloca as tuas questões, dúvidas e problemas de forma clara e concreta para que te possam ajudar.
  25. JoãoInacio

    Número de dias do mês/ano

    Nunca estudei python para te ajudar a 100% mas já pensaste criar um/vários ciclos if and else.
  26. Flyp

    Número de dias do mês/ano

    Exercício 1: Escreva uma função em Python, chamada dias_mes, que recebe dois inteiros positivos, mes e ano, tais que 1 <= mes <= 12. A função deve devolver o número de dias do mês mes do ano ano. Use o seguinte algoritmo para determinar o número de dias: Se o mês for 2, então o número de dias será 29 ou 28, consoante o ano seja bissexto ou não, respetivamente. Um ano é bissexto se for divisível por 4 e não for divisível por 100, ou se for divisível por 400. Os restantes meses têm 31 dias se forem ímpares e menores ou iguais a 7, ou se forem pares e maiores ou iguais a 8. Caso contrário têm 30 dias. Por exemplo, >>> dias_mes(2, 1984) 29 >>> dias_mes(2, 1900) 28 >>> dias_mes(2, 2000) 29 >>> dias_mes(3, 2000) 31 >>> dias_mes(11, 2000) 30 Assuma que os valores passados à função estão sempre correctos. As suas funções devem DEVOLVER valores e NÃO escrevê-los. Assim, não deve utilizar instruções “print”, mas sim instruções “return”. Para se certificar deste aspecto, faça os seguintes testes: >>> isinstance(dias_mes(12,2019), int) True
  1. Load more activity
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.