alexavel
Membros-
Posts
25 -
Joined
-
Last visited
Profile Information
-
Gender
Not Telling
Contact Methods
-
Skype
alessandroavel@ibest.com.br
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
alexavel's Achievements
Newbie (1/14)
2
Reputation
-
Se vc precisa migrar suas aplicações em Clipper e banco de dados DBF para SQL Mande mensagem pelo whatzap (85) 98716 7990, que iremos tirar suas duvidas e dar mais detalhes não perca mercado nem clientes.
-
Bom dia pessoal uma solução para quem quer pegar dados do CNPJ de empresas pelo site da Receita federal via Dll desenvolvida por mim simples e prática me adicione pelo Skype que mandarei um demo para vcs valeu! Bom Dia alessandroavel@ibest.com.br
-
Uma forma bem simples e automática de fazer isso amigo // INICIO DO RELATÓRIO oFrPrn := frReportManager():new() oFrPrn:SetIcon(1) //ícone da janela do FRH oFrPrn:SetTitle( cTitulo ) //título da janela do FRH oFrPrn:SetTitle( cTipo ) //título da janela do FRH oFrPrn:SetTitle( cUSUARIO ) //título da janela do FRH oFrPrn:SetTitle( cImagem1 ) //título da janela do FRH oFrPrn:LoadLangRes( 'brazil.xml') //arquivo de idioma // BASE DE DADOS PRINCIPAL COM ARRAY FOR nI:=1 To Len(aCabec) cCabec+=aCabec[nI]+IF(nI==Len(aCabec),'',';') cIFF +="IIF( aField == '"+aCabec[nI]+"',"+str(nI)+","+IF(nI<>Len(aCabec),"",REPLICATE(')', Len(aCabec) ) ) Next oFrPrn:SetUserDataSet( "TMP_ABASTECE",cCabec,; {||np := 1}, ; //--> bGoTop {||np := np + 1}, ; //--> bSkipPlus {||np := np - 1}, ; //--> bSkipMinus {||np > Len(TMP_ABASTECE)}, ; //--> bCheckEOF {|aField|nCol := &cIFF,; TMP_ABASTECE[np, nCol] } ) oFrPrn:LoadFromFile(RepDir+"R_ABT_001.FR3") // para leitura direta de arquivo FR3 oFrPrn:PreviewOptions:SetAllowEdit( .f. ) // inibe o botão de edição do relatório pelo usuário IF lDesig oFrPrn:DesignReport() oFrPrn:ShowReport() ELSE oFrPrn:ShowReport() // aqui para gerar o preview do relatório. ENDIF oFrPrn:DestroyFR() qualquer dúvida meu Skype alessandroavel@ibest.com.br
-
Funciona com xHarbour 123 galera ja compilei e migrei meus programas com ele
-
kapiaba reacted to a post in a topic: Busca de CEP.
-
Experimente usar o AnsiUpper(cTexto)
-
Faça assim: REQUEST SQLRDD REQUEST SR_MYSQL rddSetDefault("SQLRDD") USE ARQUIVO VIA 'SQLRDD'
-
Você colocou as DLLs libmysql, oci.dll na pasta raiz do programa? se vc configurou direitinho colocou as libs e os ch e não colocar essas dlls ele não vai conectar
-
Você esta usando Sqlrdd ou SqlLib?
-
Sim.. isso mesmo!
-
alexavel reacted to a post in a topic: Iniciando migração de Dbf para MySql...
-
Bom, Oscar vou tentar passar a minha forma como eu faço Primeiramente eu crio no meu sistema um vetor com minhas tabelas, o qual criar minhas tabelas, modficiar e acessar exemplo: AADD(atab,{'Usuaruio' ,'sis'}) Tabelas do Sistema AADD(atab,{'configura' ,'sis'}) Tabelas do Sistema AADD(atab,{'empresa' ,'sis'}) Tabelas do Sistema AADD(atab,{'cliente' ,'emp'}) Tabelas das empresas AADD(atab,{'fornecedor' ,'emp'}) Tabelas das empresas o parametro 'sis' são tabelas de sistema e o parameto 'emp' são tabelas das empresas Então quando eu crio um cadastro de uma empresa eu faço ele gerar um string tipo CNPJ+APELIDO DA EMPRESA, ficando mais ou menos assim sendo com o Firebird EXEMPLO: dbsistema.fdb 12245424554548EMPRESA01.fdb 12245424554548EMPRESA02.fdb 12245424554548EMPRESA03.fdb Obs: Isso também funciona para MySql e Postgres Que será quardado da tabela EMPRESA, que criará as tabemas parametrizadas como EMP, criando um novo banco de dados que será acessado toda vez que eu selecionar a empresa x ou y sendo que a conexão com a base de sistema ficará sempre ativa simultâneamente quando ele for abrir as tabelas ele verificará se é SIS ele pega a conexão 1 se for EMP ele pegará a conexão 2
-
Respondendo Oscar Ribeiro 1ª) Uma grande vantagem do meu sistema é que o próprio cliente baixa-o do meu site, instala e pronto! O executável cria as tabelas, os índices e o cliente já sai usando. Pergunta: Existe uma forma de criar um instalador que instale e configure o SQL automaticamente ou eu precisarei instalá-lo e configurá-lo para cada novo cliente? Em caso de afirmativo, ao instalar novas versões do executável, o instalador percebe que o SQL já foi configurado? Sim, tem como criar um instalador para ele instalar o Bando de dados se usar o Firebird é ainda mais fácil fazer isso pois é só Next direto, ou vc pode pegar os arquivos criar uma pasta e mandar rodar ele 2ª) Com tabelas DBF, quando eu preciso alterar alguma tabela ou criar um novo índice para atender a uma solicitação de um novo cliente, eu incluo um algoritmo no meu EXE que quando o cliente instala essa nova versão, ao acessar o sistema ele verifica todas as tabelas e se houver qualquer alteração de tamanho de campo, exclusão de campo, novo campo, novo índice, ele altera a tabela automaticamente sem perder nenhum dado. Pergunta: Dá para ter essa flexibilidade de modificar as tabelas em tempo de execução com banco de dados SQL ou eu terei que acessar manualmente o banco de dados e alterá-lo a cada modificação necessária? Sim, eu tenho em meus sistemas uma rotina que verifica todas as tabelas se estão acessadas e compara com a estrutura da nova versão se tiver necessidade de alterar ele fará isso e se for preciso excluir o indice ou criar isso ele fará sem nenhum problema 3ª) Tenho clientes multi-lojas que utilizam algumas tabelas para todas as lojas e outras são separadas por loja, então, eu montei o seguinte esquema. Numa pasta raiz (C:\BD\) ficam as tabelas que são compartilhadas por todas as lojas e depois, cada loja tem a sua própria pasta (C:\BD\001, C:\BD\002, etc). O interessante é que o cliente define quais tabelas ele irá compartilhar numa tela de parâmetros e o sistema faz a separação nas pastas automaticamente. E o cliente pode mudar esse parâmetro quando desejar que o sistema se adapta realocando a tabela entre a raiz e a pasta da loja. Pergunta: Dá para manter esse esquema com o SQL? Com certeza, meus sistemas também são mult empresas com Postgres, Mysql, e Firebird vc cria schemas com os nomes dos diretorios onde ficaram as tabelas
-
A disposição cara! Vlw
-
sig_gilberto reacted to a post in a topic: Importar XML para DBF
-
Para instalar o MySql não é muito difícil, na 1º parte da instalação é so NExt! na 2ª Parte que é a configuração vc terá os seguintes passos: 1- Selecione 'Detailed Configuration' -> Next 2-Server Machino -> Next 3-Multfuncional Database -> Next 4-Installation Path - selecione onde ficará o banco eu costumo deixar como está -> next 5-Online Transation processing(OLTP) -> Next 6-Marque todas as opções ->Next 7-Default->Next 8-Marque todas as opções->Next 9-coloque um senha, repita a mesma e selecione (enable root acess from remote machines) -> Next 10-Clique em executar (obs se aparecer uma tela com 'conection erro', é so clicar em retry até passar ) esse são os passos
-
Blza, qualquer duvida vc me encontra no Skype: alessandro.avelino (estou na foto com uma guitarra)
-
ISSO AQUI VAI TE AJUDAR, NÃO ESQUECE DE COMENTAR COMO RESOLVIDO! VALEU? ///***************************************************************************** STATIC FUNCTION Ctrl_Teclas( nKey ) // Função Estatica Só Este Módulo 'Enxerga'. ******************************************************************************** DO CASE CASE ( nKey == Asc( "E" ) .OR. nKey == Asc( "e" )) .AND. GetKeyState( VK_CONTROL ) MUDA_EMPRESA() CASE ( nKey == Asc( "V" ) .OR. nKey == Asc( "v" )) .AND. GetKeyState( VK_CONTROL ) .and. HABILITA("CADVEI()") NIVEL_ACESSO("CADVEI()",oItem[051], oBtns[ 1] ) CASE ( nKey == Asc( "A" ) .OR. nKey == Asc( "a" )) .AND. GetKeyState( VK_CONTROL ) .and. HABILITA("MOVABA()") NIVEL_ACESSO("MOVABA()",oItem[153], oBtns[ 2] ) CASE ( nKey == Asc( "M" ) .OR. nKey == Asc( "m" )) .AND. GetKeyState( VK_CONTROL ) .and. HABILITA("MOVMAN()") NIVEL_ACESSO("MOVMAN()",oItem[251], oBtns[ 3] ) CASE ( nKey == Asc( "F" ) .OR. nKey == Asc( "f" )) .AND. ; GetKeyState( VK_CONTROL ) Perform("INF340()",oItem[34],oBtns[ 3]) CASE ( GetKeyState( VK_CONTROL ) .AND. GetKeyState( VK_SHIFT ) ) Perform("INF680()" ,oItem[68]) CASE ( nKey == Asc( "V" ) .OR. nKey == Asc( "v" )) .AND. GetKeyState( VK_SHIFT ) Perform("INF664()",oItem[94],) CASE ( nKey == Asc( "M" ) .OR. nKey == Asc( "m" )) .AND. ; GetKeyState( VK_CONTROL ) Perform("INF210()",oItem[21],oBtns[ 1]) CASE ( nKey == Asc( "B" ) .OR. nKey == Asc( "b" ) ) .AND. ; GetKeyState( VK_CONTROL ) // Perform("PLCINF()",oItem[96]) CASE ( nKey == VK_F11 .AND. GetKeyState( VK_CONTROL ) ) Perform("SDS_RS()") CASE ( nKey == VK_F3 .AND. GetKeyState( VK_CONTROL ) ) ? 'Control+F3-For N ilson' // Acao(Action) do seu programa CASE ( nKey == VK_F4 .AND. GetKeyState( VK_CONTROL ) ) ? 'Control+F4-For Nilson' // Acao(Action) do seu programa CASE ( nKey == VK_F5 .AND. GetKeyState( VK_CONTROL ) ) ? 'Control+F5-For Nilson' // Acao(Action) do seu programa CASE ( nKey == VK_F6 .AND. GetKeyState( VK_CONTROL ) ) ? 'Control+F6-For Nilson' // Acao(Action) do seu programa CASE ( nKey == VK_F7 .AND. GetKeyState( VK_CONTROL ) ) ? 'Control+F7-For Nilson' // Acao(Action) do seu programa CASE ( nKey == VK_F8 .AND. GetKeyState( VK_CONTROL ) ) Bolet() CASE ( nKey == VK_F9 .AND. GetKeyState( VK_CONTROL ) ) ? 'Control+F9-For Nilson' // Acao(Action) do seu programa CASE ( nKey == VK_F10 .AND. GetKeyState( VK_CONTROL ) ) // ? 'Control+F10-For Nilson' // Acao(Action) do seu programa CASE ( nKey == VK_F11 .AND. GetKeyState( VK_CONTROL ) ) ? 'Control+F11-For Nilson' // Acao(Action) do seu programa CASE ( nKey == VK_F12 .AND. GetKeyState( VK_CONTROL ) ) ? 'Control+F12-For Nilson' // Acao(Action) do seu programa */ ENDCASE RETURN NIL