Firebird: Criar usuário

Quando necessário criar um usuário, siga os passos no link abaixo:

Quick Tips : Incluindo usuário no IBExpert

Após a criação do usuário é necessário realizar a liberação do acesso. Para isso acesse:

Tools > Grant Manager

Selecione o usuário desejado e selecione a opção Grant All to All, conforme a imagem abaixo:

Acesso Firebird
Liberar acesso Grant All to All

Todos os acessos deverão ser liberados e estará concluído a criação.

 

Fonte:

DevMedia

Anúncios

ERRO IBExpert: Resolvendo o bug do IBExpert “Invalid argument to date encode”

1) Localize o diretorio do usuário:
C:\Users\?usuario?\AppData\Roaming\HK-Software\IBExpert\

2) Apague o arquivo: IBExpert.dir

3) Copie o arquivo valido e substitua:  IBExpert.dir ou https://www.dropbox.com/s/q9t0231msu1ajm8/IBExpert.dir?dl=0

Delphi: Tamanho Executável

Configurações que impactam no tamanho do Executável:

  • Sempre liberar em Modo Release;
  • Em Project -> Options:
    • Compiler
      • Deixar opções “Debugging”, no modo RELEASE, desmarcadas

        Configuracao Release
      • Deixar opções “Debugging”, no modo DEBUGmarcadas

        Configuracao Debug

    • Linker,
      • Deixar a opção “EXE and DLL Options” -> “Include TD32 debug info” no modo DEBUG, marcada Configuracao Debug 2.PNG
      • Deixar a opção “EXE and DLL Options” -> “Include TD32 debug info” no modo RELEASE, desmarcada.

Copiar Base de Dados MySQL

Caso a base MYSQL do cliente seja exportado com senha no .rar, é possível pegar o banco de dados por completo da seguinte forma:

  • Pare o Serviço MYSQL no cliente;
  • Na pasta onde está instalado o MySQL no cliente:
    • Copie a pasta DATA;
      Esta pasta DATA contém os bancos de dados do MySQL
      Caso o MySQL esteja instalado na pasta padrão, será em:

      “C:\ProgramData\MySQL\MySQL Server 5.7\Data”

      * Algumas empresas colocam na pasta do seu sistema mesmo.

    • Reinicie o serviço MYSQL do cliente;
  • Pare o Serviço MYSQL no seu computador;
  • No local que está instalado o SEU Mysql
    • RENOMEIE a sua pasta DATA;
    • Copie e Cole a Pasta DATA do OUTRO banco por completo;
  • Na SUA pasta data, copie e cole na pasta data do OUTRO sistemas as 2 pastas abaixo:

    – performance_schema
    – mysql

    Esta etapa é para prevenir caso o usuário root esteja sem acesso na pasta DATA do outro sistema;

  • Reinicie o seu serviço MYSQL;
  • Pronto!!
    Pode acessar pelo programa que deseja (HeidiSQL, Workbench..) o(s) banco(s) de dados do outro sistema.

Erro ao conectar Banco de Dados Firebird/Interbase

Pessoal vou descrever um problema que deparei semana passada
Instalei no meu pc o interbase, sendo que já tinha instalado o Firebird, os dois instalados na mesma maquina pode causar conflito em ambos os bancos, fazendo com que os dois ou um deles pare de funcionar
Como não sabia o problema desinstalei o firebird, reiniciei o pc, apaguei a pasta do firebird e instalei novamente…. Não funcionou
Desinstalei o firebird novamente, desinstalei o Interbase, reiniciei o pc, instalei o firebird e mesmo assim não funcionou
MOtivo: a gds32.dll salva na pasta Windows que não estava funcionando adequadamente, ou foi modificada pela que o interbase usa, e qdo instalei o firebird ele não substituiu a famigerada
Desinstalei o firebird novamente, reinicie o pc, apaguei as pastas e apaguei as dll na pasta Windows ou syswo, inclusive a gds32.dll
Instalei o firebird mandando copiar a gds32.dll e tudo voltou a funcionar
OU seja, a gds32.dll é que faz o firebird ativar e funcionar normalmente, inclusive o banco não abria no ibexpert
qdo da um problema de conexão com o banco de dados o primeiro teste a ser feito e ver se o banco abre no ibexpert, se não abrir pelo Ibexpert não vai abrir no domynus
eventualmente pode ocorrer algum erro nesta dll, resolve-se o problema apagando ela e copiando um nova, ou desinstalado o firebird, apagando ela e a pasta do firebird e instalando tudo novamente

Reducao de Memoria na Aplicacao

Hoje eu quero compartilhar um comando milagroso para aplicações Delphi 7… Não efetuei testes com versões superiores do Delphi mas pela arquitetura imagino que este problema também ocorre até com as versões mais recentes do Delphi. (conforme diversos comentários, esta solução se aplica as versões mais recentes do Delphi)

O que a maioria dos programadores não sabem é que, especificamente em Delphi que não existe “Coletor de Lixo de memória” como na plataforma .NET. Existe uma memória residual que nunca é liberada mesmo que você destrua todos os objetos que instanciar, porque é uma parta da memória que é administrada pelo próprio Sistema operacional. Se você  deixar o seu aplicativo aberto, e efetuar diversas ações que interajam com as APIs do Windows ou DLL externas, trabalhar multi-camadas através de sockets…. Ou mesmo fazer movimentos simples como  minimizar ou maximizar sua aplicação… Você perceberá que memória reservada no gerenciador de tarefas para o processo do seu executável crescerá. E muitos destes movimentos como maximiza e minimizar, exceções como já postei em posts anteriores é a parte não gerenciável da memória de sua aplicação pois ela ocorre na própria interação do Sistema Operacional com sua aplicação.

Desta maneira, sofríamos um problema sério na empresa onde trabalho, pois existem diversas aplicações que rodam como serviços, exemplo:

Servidor de Aplicação Multi-camadas

Serviços de webservices, para integrações com sistemas web

Serviços de webservices para geração de relatórios ReportBuild (PDFs) compartilhados com outras aplicações web (java e .NET).

E o problema comum em todas estas aplicações era o mesmo, por mais que todos os objetes estivessem sendo liberados da memória, esta memória não parava de crescer… Devido ao escopo de memória não gerenciável que falei anteriormente.

E isso gerava um grande transtorno, pois estas aplicações de 3 megabytes chegavam a alcançar 2 giga de memória do servidor, obrigando a reinicialização da aplicação periodicamente.

Fazia-se necessário que a aplicação Delphi localiza-se o processo do Windows e libera-se toda a memória não mais necessária, descartável….

E é aí que descobrir o procedimento milagroso que interage com a API do Windows… para liberar a memória do aplicativa. Este comando é fantástico.

procedure TrimAppMemorySize;
var
MainHandle : THandle;
begin
try
MainHandle := OpenProcess(PROCESS_ALL_ACCESS, false, GetCurrentProcessID) ;
SetProcessWorkingSetSize(MainHandle, $FFFFFFFF, $FFFFFFFF) ;
CloseHandle(MainHandle) ;
except
end;
Application.ProcessMessages;
end;

Este procedimento localiza o processo da aplicação, e limpa toda memória residual…

E como existe muita pouca documentação desta solução em português… decidi postar aqui.

Se sua aplicação for um Serviço, dll ou algo parecido basta remover a instrução Application.ProcessMessages;

Voce pode usar este comando em substituíção ao Application.ProcessMessages, já que a própria rotna em sí, chama o ProcessMessages.

Quem quiser se aprofundar no assunto pode ler o artigo do link abaixo:

http://delphi.about.com/od/windowsshellapi/ss/setprocessworkingsetsize-delphi-program-memory-optimize.htm

 

Link do material

Comando milagroso para redução de memória Delphi

 

Autor: Alessandro Pancotte

Calculo e Composição do Código de Barras no Sistema Domynus

 

A Composição do CodBarras é da seguinte forma:

7890001078633
7890001 -> EANEMPRESA da tabela G_PARAMETRO
0 -> Definido através de um cálculo, podendo ser de 1x zero (0) até 4x zeros (0000)
7863 -> Cod da tabela Pro_Gradeado
3 -> Digito verificador


O Cálculo do codBarras se encontra no FrmCadProdutoAcabado, na procedure ‘GeraGradeamento‘, na query qGeraEAN, onde é realizado um select na procedure ‘pro_gera_ean_13‘ para gerar o codBarras e nesta procedure realiza um select na procedure ‘CALCULA_DV_EAN13‘ para cálculo do dígito verificador.

Tags NFE

Segue as tags nfe e o local onde elas são preenchidas:


Tags Difal

Grupo de Tributação do ICMS para a UF de destino
ICMSUFDest 
Tag                          Descrição
vBCUFDest           Valor da BC do ICMS na UF de destino
pFCPUFDest         Percentual do ICMS relativo ao Fundo de Combate à Pobreza (FCP) na UF                                     de destino
pICMSUFDest      Alíquota interna da UF de destino
pICMSInter          Alíquota interestadual das UF envolvidas
pICMSInterPart  Percentual provisório de partilha do ICMS Interestadual
vFCPUFDest         Valor do ICMS relativo ao Fundo de Combate à Pobreza (FCP) da UF de                                           destino
vICMSUFDest      Valor do ICMS Interestadual para a UF de destino
vICMSUFRemet  Valor do ICMS Interestadual para a UF do remetente

O Calculo delas está na procedure Calcula Imposto;
O preenchimento delas (p/ acbr) no sistema está no CadNota2 em “with ICMSUFDest do”.

Foi alterado o cálculo do difal, o mesmo estava incorreto e foi também corrigido a informação dos percentuais (alíquota interna UF destino e alíquota interestadual) que estavam sendo enviados para o xml.
A tag pICMSUFDest(Alíquota interna UF Destino) não estava sendo enviada corretamente, enviava o mesmo valor da tag pICMSInter(Alíquota interestadual).
Essa alteração dos valores para essas tags, foi corrigido no select no UFrmCadNota2, vPICMSInter pega o valor da % de venda do cadastro de Alíquota ICMS e vPICMSUFDest pega o % de compra que é a alíquota Interna da UF Dest.
O cálculo do difal se encontra no UFrmCadNota2, variável Difal e as informações da tag se encontram no UFrmCadNota2 na query dm.Query5 > Pesquisa por "with dm.QryTemp5, SQL do" ou por vPIcmsUFDest.

Simulador Difal: http://www.asseinfo.com.br/blog/difal-diferencial-de-aliquota-icms/


Fontes:
http://www.asseinfo.com.br/blog/difal-diferencial-de-aliquota-icms/

editorlineends.ttr delphi 2007

Ao abrir o varios delphi 2007 eventualmente da este erro:

Delphi 2006-2010 error: “Cannot create file C:\Users\Admin\AppData\Local\Temp\EditorLineEnds.ttr”

Para resolver este problema basta fechar o delphi e executar o arquivo dzEditorLineEndsFix.exe

Este arquivo fica na pasta de componentes delphi 2007 e tambem nos links abaixo

http://edn.embarcadero.com/article/44076

https://sourceforge.net/projects/dzeditorlineendsfix/files/dzEditorLineEndsFix.zip/download

http://stackoverflow.com/questions/25295980/delphi-2006-2010-error-cannot-create-file-c-users-admin-appdata-local-temp-ed

Autor: Alessandro Pancotte

Tag: Delphi 2007, Delphi XE7, EditorLineEnds.trr