Postagens

Notificações em app com Delphi 10.2

Imagem
Retomando pela bilionesima vez os trabalhos com o blog, a bola da vez agora é desenvolvimento mobile com Delphi 10.2 versão Comunity que por sinal é incrivel. Gosto muito da ideia de ter foco nas regras de negócio e sinceramente sempre achei isso fantastico em todas as versões do Delphi Rad Studio. Estou trabalhando em um projeto audacioso e agora chegou a vez de integração de uma parte deste software, Já construi algumas pequenas partes do layout e precisamos notificar os usuários quando um novo registro for vinculado a ele. Então como fazer notificações em Delphi usando o Firemonkey???  Primero vamos a narrativa do problema a ser solucionado. Os nossos usários nestes cenário são médicos em uma hospital com atendimento médico de urgência e emergência, então a ideia é toda vez que um paciente for adicionado para um determinado médico ele seja notificado pelo aplicativo. Como ja temos um layout do prototipo definido, veja imagem: A notificação ficará responsável por notific...

NFE 4.0 e o problema de TSL em computadores com Windows 7.

Desenvolver software é muito prazeroso, desafiador e bem rentável. Pelo menos na maioria dos casos, mas esta semana passei por uma dificuldade em função da implantação da nova versão de software de emissão de NFe 40.  O fato é que existe a necessidade de aplicar as seguintes atualizações: KB2992611 KB3140245 Respectivamente. Feito isso, também deixei marcado apenas a opção TSL 1.2 na aba Avançada das Opções de internet do Internet Explorer. E depois conseguir emitir normalmente. Parece uma solução simples, mas que me tomou dois dias inteiros, apenas porque estava buscando a solução mas olhando pro lado errado.

AWS para Desenvolvedores - Dominando S3 com Delphi

Imagem
Olá, Neste post vamos falar de Amazon S3 um serviço de armazenamento de dados na nuvem da AWS altamente escalável e confiável. É amplamente utilizado no mundo inclusive em soluções bem conhecidas como DropBox.  Pode ser acessado através do console de gerenciamento, desde que tenha uma conta é claro. http://console.aws.amazon.com No S3 alguns conceitos são importantes na hora de utilizar o serviço, por exemplo lá tudo que é armazenado são objetos, não importa o arquivo que você mandar pra lá, ele sempre sera tratado como objeto. Este objeto pode ter tamanho entre 1 byte e 5 Terabytes. Por lá também não existem pastas, apenas buckets, sendo o número de buckets limitados a 100 e sendo ilimitado o numero de objetos que pode ser armazenado. No Delphi XE 10.2 temos um componente nativo muito interessante que nos permite conectar com os serviços da Amazon de forma muito simplória. O componente destacado na figura acima é o TAmazonConnectionInfo basta apenas adiciona-...

Enviar Arquivos por FTP com Delphi

Imagem
Hoje vamos trabalhar com envio de arquivos via FTP, parece que é muito difícil, mas nem tanto, apenas seguir algumas regras e o resultado sera bem legal. Adicione um componente IdFTP da paleta Indy Clients conforme figura abaixo:  Preenche as seguintes propriedades através de um evento de um botão ou no evento de sua preferencia em seu formulário:  Após os dados de conexão serem devidamente informados é hora de disparar o método de conexão através da chamada IdFTP1.Connect. Em caso de erro, verifique os dados da conexão e tente novamente. Em seguida precisamos determinar a pasta onde iremos posicionar nossos arquivos com o comando IdFTP1.ChangeDir, veja a imagem abaixo:  Neste exemplo o protótipo devera extrair imagens de um campo tipo Blob  do Firebird comumente usado para armazenar imagens. O resultado, você pode conferir na imagem abaixo: Fácil não? A aplicação destes recursos são muitas.

Percorrer todos os Edits do Form em Delphi

Imagem
Olá. Em algum projeto você ja precisou percorrer todos os controles do formulário que esta trabalhando?  Imagine se precisar limpar todos os TEdit do seu form, tendo em mente que são 5 ou 6 destes componentes, talvez fazer um código tabajara e limpar manualmente seja a melhor opção, agora e se fosse 50 TEdits a serem limpos? Ai já não é la muito inteligente fazer tudo no braço. Melhor maneira de resolver este problema é fazer um método varrer todo o formulário em busca destes componentes.  Em Delphi podemos fazer isso de uma maneira bem tranquila, veja o código abaixo: O que acontece durante a execução do código acima é que, toda vez que um novo componente é colocado no Form (que é um objeto conteiner) ele é adicionado numa lista de objeto e evidentemente posso percorrer esta lista, no if dentro do laço acontece o teste pra saber se o componente na posição atual é de uma determinada classe (neste caso TEdit) case seja verdadeiro, acionamos a propriedade Cle...

POO Delphi - Criando classe genérica de manipulação de arquivos .INI

Imagem
Olá. Neste artigo vamos falar um pouco de Programação Orientada a Objetos utilizando Delphi, confesso que é um tema recorrente e a implementação da especificação POO em Delphi é meio estranha, comparando-se com o JAVA, mas funciona que é uma maravilha e como facilita nossa vida. Neste exemplo vamos criar uma classe cuja finalidade é tornar o acesso simplificado as seções de arquivos de configuração .INI.  Com o Delphi aberto e já estando em um novo projeto, crie uma nova Unit no Delphi e declare os seguintes métodos e dependências conforme a figura abaixo: Para começar o entendimento do código da figura acima começamos pela seção Type que marca o inicio da declaração da classe TFile . Logo abaixo temos a seção private que segue o conceito de todas as linguagens de programação que diz que toda variável private apenas a unidade que a declara tem acesso a ela, ou seja, pFile só pode ser acessada de dentro da Classe TFile . Na seção Public encontramos um método Create...

Conhecendo o FireDac - trabalhando com Macros

Imagem
Olá. Macros são definidos na programação como um padrão de entrada que é substituído por um novo padrão de saída, ou seja, executam um processamento automático em algum ponto, em outros drives como DBX até podíamos utilizar variáveis e/ou parâmetros ou mesmo filtros utilizando condições como where e tal. Contudo não era possível por exemplo usar um parâmetro substituindo o nome da tabela. Ex.: "select * from :tabela" . No FireDac pode ser feito uso de variáveis de substituição como um processador de templates e substituir o texto da variável, usando caracteres "!" representando string e "&" representando (SQL). Interessante não.? Até mais. Fonte: guintherpauli.blogspot.com.