• advertisement_alt
  • advertisement_alt
  • advertisement_alt

Evandro Andersen

Members
  • Content count

    58
  • Joined

  • Last visited

  • Days Won

    13

Evandro Andersen last won the day on January 20 2021

Evandro Andersen had the most liked content!

Community Reputation

58 Excellent

About Evandro Andersen

  • Rank
    Terceiro Sargento

Recent Profile Visitors

514 profile views
  1. É importante informar a versão do WD que você esta usando, acredito que seja anterior a versão 27, se for este o caso, você tem que atualizar o Windev. Att, Evandro Andersen
  2. problema RESOLVIDO o problema era que o windev mobile usa como padrão UNICODE nas strings, então tive que forçar o uso do ANSI a rotina final ficou assim: PROCEDURE gera_md5(sTexto is ANSI string) :string bufSenhadigita is Buffer IF Length(sTexto) < 32 THEN sTexto = Complete(sTexto, 32, " ") bufSenhadigita = HashString(HA_MD5_128, sTexto) ELSE bufSenhadigita = HashString(HA_MD5_128, sTexto) END sMD5 is ANSI string FOR i = 1 _TO_ Length(bufSenhadigita) sMD5+=NumToString(Asc(bufSenhadigita[]),"02x") END RESULT sMD5
  3. Bom dia pessoal, a rotina abaixo, me retorna o MD5 de uma string, se eu coloco a mesma rotina no Windev Mobile, o valor retornado é diferente, alguém já passou por isso e sabe como resolver ? rotina: PROCEDURE gera_md5(sTexto is string) :string bufSenhadigita is Buffer IF Length(sTexto) < 32 THEN bufSenhadigita = HashString(HA_MD5_128, Complete(sTexto, 32, " ")) ELSE bufSenhadigita = HashString(HA_MD5_128, sTexto) END sMD5 is string FOR i = 1 _TO_ Length(bufSenhadigita) sMD5+=NumToString(Asc(bufSenhadigita[]),"02x") END RESULT sMD5
  4. Bom dia, preciso que quando o usuário digite ' (aspa simples) em uma tela, esse caractere seja trocado por um caractere de espaço isso tem que valer para todos os campos da tela, alguém tem alguma dica ? Att, Evandro Andersen
  5. Lega, Cezar fico no aguardo!
  6. Boa tarde Fábio, eu gostaria de usar o Editor Gráfico para este relatório, assim como sempre fiz no Crystal Reports
  7. Olá, preciso imprimir um PEDIDO em uma impressora MATRICIAL, antes eu usava o CRYSTAL REPORTS, nele eu podia escolher a FONTE DRAFT (vide imagem abaixo), é possível utilizar estas fontes no Gerador de Relatórios do Windev ? ou vou ter que gerar o relatório em modo texto e enviar diretamente para porta ? Att, Evandro Andersen
  8. @pvsousa, eu faço e gerencio todos os relacionamentos direito no Postgresql eu não uso as opções de relacionamento da Analise, hoje eu tenho 2 aplicativos acessando a mesma base de dados, uma feito em Cobol e outro em Windev, então não tenho problemas. Evandro Andersen HDTec Software
  9. Isso mesmo Cassiano, uso a opção "Update the Analysis from the external databases" Evandro Andersen
  10. Então Cassiano, esse é um "problema" que eu ainda não consegui resolver quando você faz um insert usando os comandos SQL, você informa quais colunas serão usadas, então se você não informar alguma coluna, automaticamente o banco irá usar o valor DEFAUL desta coluna exemplo: o campo data de um pedido, eu não informo ele no sql mas o default dele é now(), então a coluna será preenchida com a data/hora atuais isso funciona perfeitamente quando EU digito o SQL, MAS... se eu usar os comando H, como por exemplo HADD, todas as colunas da tabela são enviadas ao motor do postgresql durante o insert, desta forma eu não consigo usar o recurso do DEFAULT da coluna no exemplo acima, se eu usar o comando HADD, eu sou obrigado a informar o valor da coluna pedi_data antes de executar o HADD talvez alguém tenha resolvido isso já, mas eu não consegui Evandro Andersen HDTec Software
  11. Pode e deve usar NULL Cassiano Então ai vem a dúvida, alguém pode explicar esse negócio de NULL, NOT NULL e DEFAULT? Default Null = se o campo não for informado no comando insert, ele receberá o valor NULL automaticamente Not Null = você será obrigado a informar algum valor ao campo, ele não irá aceitar NULL Default = você pode informar um valor para quando a coluna não for informada no comando sql, por exemplo, na tabela pedidos, você tem um campo pedi_datahora, você pode colocar ele como NOT NULL e DEFAULT com o valor Now(), assim caso você não informe a coluna no insert, automaticamente o banco irá preencher a coluna com a data/hora atuais. Evandro Andersen HDTec Software
  12. Olha Cassiano, eu não desligo a chave estrangeira nunca, vamos a um exemplo prático: digamos que você tenha uma tabela de pedidos, onde nessa tabela tenha uma coluna pedi_cliente que é uma coluna obrigatória, pois todo pedido é obrigado a ter um cliente vinculado, não adianta você desligar a Foreign Key, porque depois de importar os dados, quando você recria-lá, o banco irá "reclamar" mas se for uma situação, onde por exemplo o cliente ainda não esta criado, mas será criado até o final da transação, basta você marcar a foreign key como Deferrable, marcando essa opção, o postgresql só vai validar o relacionamento no final da transação Evandro Andersen HDTec Software
  13. Toda a parte de relacionamento entre as tabelas eu gerencio direto no Postgresql não levo nenhuma informação para a Análise do Windev Como seria um exemplo prático de CASCADE x RESTRICT x NO ACTION x DEFAULT R= exemplo de cacade: você tem uma tabela de pedidos e pedidos_itens, ao deletar um registro da tabela pedido, todos os registros da tabela pedidos_itens também serão excluídos R= exemplo de restrict: se você tentar deletar um registro da tabela pedidos que ainda tenha registros vinculados na tabela pedidos_itens, o banco de dados não irá permitir o delete R=exemplo de NO ACTION: você deleta um registro na tabela pedidos e o banco não valida se tem registro na tabela pedidos_itens R=exemplo de DEFAULT: digamos que você tenha uma tabela de clientes, e exista um campo clie_vendedor que esta relacionado a tabela vendedores, se você excluir um registro na tabela vendedores, e o DEFALT do relacionamento for NULL, e este tiver algum cliente vinculado a ele, o banco irá atualizar o campo clie_vendedor de todos os clientes vinculados para NULL Se não adianta mesmo mexer isso na análise pq não atualiza o banco, tendo q fazer tudo no banco somente. R= como eu disse, eu faço tudo no banco e depois atualizo a Analise Em caso de se utilizar CASCADE e RESTRICT como fica no dia a dia para remover algum registro em caso de restrição? R=usando o mesmo exemplo das tabelas pedidos e pedidos_itens, digamos que vc deixou marcado como restrict, para deletar um pedido, você será obrigado a antes deletar os registros da tabela pedidos_itens e depois estará liberado para deletar o registro da tabela pedidos Evandro Andersen HDTec Software
  14. Eu sempre usei NULL e até agora não tive problemas Evandro Andersen HDTec Software
  15. eu sempre faço a alteração no banco e depois atualizo a Analise, as alterações são replicadas a todos os campos, assim como acontece com o Hfsql Evandro Andersen HDTec Software