Jump to content
Fivewin Brasil

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

Newbie (1/14)

2

Reputation

  1. 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.
  2. 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
  3. 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
  4. alexavel

    Bcc 6.8

    Funciona com xHarbour 123 galera ja compilei e migrei meus programas com ele
  5. Experimente usar o AnsiUpper(cTexto)
  6. Faça assim: REQUEST SQLRDD REQUEST SR_MYSQL rddSetDefault("SQLRDD") USE ARQUIVO VIA 'SQLRDD'
  7. 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
  8. 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
  9. 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
  10. 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
  11. Blza, qualquer duvida vc me encontra no Skype: alessandro.avelino (estou na foto com uma guitarra)
  12. 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
×
×
  • Create New...