Jump to content
Fivewin Brasil

alex2002

Membros
  • Posts

    1,229
  • Joined

  • Last visited

  • Days Won

    24

Everything posted by alex2002

  1. Blza, vou aguardar o seu exemplo. Um abraço, Alexandre Pereira
  2. Obrigado Herberson. Será que alguém aqui no fórum usa com a DLL? Pq daí me enviava um exemplo. Um abraço, Alexandre Pereira
  3. Pessoal, Qual classe (free) vcs indicam para que eu possa gerar os boletos (preferencialmente em formato carnê) e efetuar o registro dos mesmos? Caso não seja possível registrar, pelo menos emitir dos principais bancos. O registro eu dou um jeito. Sinceramente não tenho mais paciência pra ficar desenhando isso não. Já fiz muito, acho que estou ficando velho rsrsrsrsrs E mais a mais, como diz o mestre Evandro: "Pra quê ficar reinventando a roda?" Um abraço, Alexandre Pereira
  4. kkkkkk, quê isso rapaz, torço pro Galão da Massa. kkkkkkkkkkk
  5. Sei não, mas está estranho esses dois com troca de carinhos. rsrsrsrsrsrs
  6. Você deu um refresh() no objeto após colocar Hide() ou Show() ?
  7. rsrsrsrs a última frase é fantástica, além de verdadeira é claro.
  8. Valdir, É porque como o seu get é o ultimo campo e não tem mais nenhum para o TABSTOP ir, acontece isso. Já aconteceu comigo, e eu coloquei um get bem pequeno (imperceptível) pra resolver. Um abraço, Alexandre Pereira
  9. alex2002

    VS CODE

    Então, Eu adicionei o debugger.prg no meu projeto e retornou o erro faltando algumas funções: Error: Unresolved external '_HB_FUN_HB_TSTOSTR' referenced from P:\DESENV\CREDPLUS\OBJ\DEBUGGER.OBJ Error: Unresolved external '_HB_FUN_HB_PS' referenced from P:\DESENV\CREDPLUS\OBJ\DEBUGGER.OBJ Error: Unresolved external '_HB_FUN___DBGSENDMSG' referenced from P:\DESENV\CREDPLUS\OBJ\DEBUGGER.OBJ Mas acabei de colocar agora. Na verdade eu não sou muito adepto de debug, mas vou insistir. Um abraço, Alexandre Pereira ps: Uso o xHarbour e não o Harbour
  10. alex2002

    VS CODE

    Bom dia pessoal, Depois de uns dois dias, consegui enfim usar o VSCODE para editar e compilar o meu projeto. Sinceramente, na minha opinião, o xDEV da um baile, pelo menos pra mim que ainda não me habituei com o VS. As teclas de aceleração do xDEV são melhores. Esse negócio de vc ficar dando, control setinha pedal e dois pulinhos definitivamente não é comigo. Me lembra a época do WordStar (saudosista, poucos aqui vão lembrar disso). Quanto ao versionador, também prefiro o SVN ao GIT. Acho que o controle dele mais fácil (pelo menos pra mim). Mas vamos nessa nova empreitada e vamos aprendendo, quem sabe outro dia eu não volte aqui e mude a minha opinião. Vixe, estou igual usuário com os paradigmas de mudanças rsrsrsrsrs. A propósito, tive que fazer um executável para compilar. Foi bom que voltei um pouco no tempo me lembrando da época que usava .BAT pra compilar (eca). Vou disponibilizar pra quem for fazer transição do xDEV para o VSCODE. Só vou terminar de ajustar mais algumas coisas e liberar o EXE pra galera. Um abraço, Alexandre Pereira
  11. alex2002

    VS CODE

    Já descobri. Na verdade a saída do harbour, sabiamente, para esta mensagem é no warning. Daí é só colocar "harbour .... 2>arq.log" Funciona. Um abraço, Alexandre Pereira
  12. alex2002

    VS CODE

    Olha só, estou executando as instruções do xHarbour direto no meu executável. Como vc fez pra pegar o erro (caso tenha erro de compilação)? Estou colocando pra jogar o resultado dentro de um arquivo ( harbour .... > arq.log ) , mas não está vindo o erro, vem apenas o índice do harbour. E eu preciso do erro pra apresentar a linha que deu e tal. Se já tiver conseguido, da um toque aí. Um abraço, Alexandre Pereira
  13. alex2002

    VS CODE

    Pois é, Já estou fazendo isso, tinha pensado exatamente o que vc fez. Sendo assim, creio que é a melhor opção. Já estou terminando aqui. A propósito, como meu projeto tem mais de mil PRGs e RES, fiz de uma forma a aproveitar a estrutura do arquivo .xDev. Obrigado. Alexandre Pereira
  14. alex2002

    VS CODE

    Pessoal, Qual o maker vc estão usando para xHarbour com VsCode? Entrei de cabeça no VsCODE, mas quero usar um maker que não precise ficar recompilando e que eu não precise editar .BATs pra incluir. Nos exemplos que vi, usa-se o hbmk2, mas vi que ele é do Harbour e no meu caso, eu ainda estou usando o xHarbour. Fala aí. Um abraço, Alexandre Pereira
  15. Aqui na Decla e também o Evandro na Skill, fazemos da seguinte forma: Criamos uma tabela chamada perfil, onde o cara apenas coloca o nome deste perfil e atribuimos um ID pra ele. Depois criamos a tabela acessos, onde temos em um array todas as opções do sistema onde podem ser acessadas (inclusive determinados botões) vinculadas a este perfil. Daí relacionamos o perfil ao usuário, e temos uma função que verifica se o perfil daquele usuário pode operar naquela opção escolhida. Com isso, o menu/botão fica congelado caso o usuário não possa ter acesso. Temos que usar assim até porque o sistema tem mais de 1.000 opções, imagina colocar um campo pra cada opção. Um abraço, Alexandre Pereira
  16. Olá Beto. Obrigado, o Márcio (VRB) já me conseguiu, Valeu! Eu não sabia marcar como "RESOLVIDO" rsrsrsrsrsrs Um abraço, Alexandre Pereira
  17. Olá pessoal, tem um amigo que está precisando da tabela de produtos de supermercado. Quem tiver e puder passar vai ajudar. Preciso no mínimo do código (EAN) e o nome, se tiver mais informações melhor. Um abraço, Alexandre Pereira
  18. O segredo da rotina é que no comando tradicional, vc da insert por insert. E pela sua rotina vc monta um insert múltiplo. Isso faz toda diferença. Em 2006, eu fiz um backup personalizado que gerava mais rápido que o MySQLDUMP e também restaurava mais rápido que o próprio MySQL. E a técnica usada foi justamente esta, de aumentar a quantidade de registro em um insert, também compactei strings e explodia na restauração. Assim o arquivo ficava bem menor que o atual SQL do dump. Além de certa forma criptografar o backup. Parabéns emotta. A propósito ele pode ficar ainda mais rápido (e menor) se você usar apenas um insert com várias inserções: insert into tabela (campoa, campob) values ( valora1, valorb1), (valora2, valorb2), (valora3, valorc3).... Dê uma olhada.
  19. alex2002

    VS CODE

    Eu ainda uso a xDev. Estou querendo migrar para o VSCODE simplesmente pelo fato dele ser mais compativel com Docker, Python, Node, etc. Até hoje ainda não migrei devido ao tamanho do projeto e não ter ninguém pra trocar uma ideia. Mas depois que li o seu tópico, acho que vou nessa também. Um abraço, Alexandre Pereira
  20. alex2002

    TGif

    Olá Oliveiros. Gostaria de saber se vc resolveu, também tenho o mesmo problema seu e de fato o GIF para no processamento. Um abraço, Alexandre Pereira
  21. Sinceramente não entendo porque a Trigger não resolveria, sendo que vc pode setar ela, antes, durante e depois dos insertes/deletes/updates. Mas que bom que resolveu então.
  22. Emotta, o Trigger resolve o seu problema.
  23. Olá, Vc pode usar a função abaixo para validar tanto o campo digitado quanto a comparação. Se for em SQL vc tem que criar esta função também no SQL para comparar. Um abraço, Alexandre Pereira ////////////////////////////DADOS DA FUNCAO//////////////////////////////////////////// // NOME : TiraAcentoUTF // // SINTESE : Retirar acentos e cedilhas // // PARAMETROS : <1> cTexto para retirar os acentos // // RETORNO : cTexto sem acentos ou cedilhas // /////////////////////////////////////////////////////////////////////////////////////// function TiraAcentoUTF( cTexto ) cTexto := StrTran(cTexto,"ã","a") cTexto := StrTran(cTexto,"ä","a") cTexto := StrTran(cTexto,"à","a") cTexto := StrTran(cTexto,"á","a") cTexto := StrTran(cTexto,"ª","a") cTexto := StrTran(cTexto,"â","a") cTexto := StrTran(cTexto,"¦","a") cTexto := StrTran(cTexto,"è","e") cTexto := StrTran(cTexto,"é","e") cTexto := StrTran(cTexto,"ê","e") cTexto := StrTran(cTexto,"ë","e") cTexto := StrTran(cTexto,"ì","i") cTexto := StrTran(cTexto,"í","i") cTexto := StrTran(cTexto,"î","i") cTexto := StrTran(cTexto,"ï","i") cTexto := StrTran(cTexto,"ò","o") cTexto := StrTran(cTexto,"§","o") cTexto := StrTran(cTexto,"õ","o") cTexto := StrTran(cTexto,"ö","o") cTexto := StrTran(cTexto,"ó","o") cTexto := StrTran(cTexto,"º","o") cTexto := StrTran(cTexto,"ô","o") cTexto := StrTran(cTexto,"õ","o") cTexto := StrTran(cTexto,"ø","o") cTexto := StrTran(cTexto,"ù","u") cTexto := StrTran(cTexto,"ú","u") cTexto := StrTran(cTexto,"ü","u") cTexto := StrTran(cTexto,"û","u") cTexto := StrTran(cTexto,"ç","c") cTexto := StrTran(cTexto,"Ã","A") cTexto := StrTran(cTexto,"Ä","A") cTexto := StrTran(cTexto,"À","A") cTexto := StrTran(cTexto,"Á","A") cTexto := StrTran(cTexto,"Â","A") cTexto := StrTran(cTexto,"È","E") cTexto := StrTran(cTexto,"Ë","E") cTexto := StrTran(cTexto,"É","E") cTexto := StrTran(cTexto,"Ê","E") cTexto := StrTran(cTexto,"Ì","I") cTexto := StrTran(cTexto,"Í","I") cTexto := StrTran(cTexto,"Î","I") cTexto := StrTran(cTexto,"Ï","I") cTexto := StrTran(cTexto,"Ò","O") cTexto := StrTran(cTexto,"Õ","O") cTexto := StrTran(cTexto,"Ó","O") cTexto := StrTran(cTexto,"Ô","O") cTexto := StrTran(cTexto,"Ö","O") cTexto := StrTran(cTexto,"Ù","U") cTexto := StrTran(cTexto,"Ú","U") cTexto := StrTran(cTexto,"Ü","U") cTexto := StrTran(cTexto,"Û","U") cTexto := StrTran(cTexto,"Ç","C") cTexto := StrTran(cTexto,"«"," ") cTexto := StrTran(cTexto,"®"," ") cTexto := StrTran(cTexto,""," ") cTexto := StrTran(cTexto,"¬"," ") cTexto := StrTran(cTexto,"¯"," ") cTexto := StrTran(cTexto,"ý"," ") cTexto := StrTran(cTexto,","," ") cTexto := StrTran(cTexto,"'"," ") cTexto := StrTran(cTexto,"`"," ") cTexto := StrTran(cTexto,"/"," ") cTexto := StrTran(cTexto,"\"," ") return cTexto
×
×
  • Create New...