Jump to content
Fivewin Brasil

beniti

Membros
  • Posts

    79
  • Joined

  • Last visited

Everything posted by beniti

  1. Valeu Erciley Junior Funcionou certinho, apenas corrigindo o comando: oPrinter:FillRect( {pos1, pos2, pos3, pos4}, oBrush) Obrigado!!! FW 2.7 / XH 0.99.61 / XMATE
  2. Olá!!! Criei um oprn:box para imprimi um box cinza. Define Pen oPen1 Width 23*w of oPrn Color nRgb(230,230,230) Na visualização fica ok, , isso para fazer o relatório zebrado, só que quando mando imprimir na laser o box sai todo preto, não mantém o cinza do preview. Alguém sabe como imprimir o box em cinza na laser ? estou usando PRINT oprn NAME prntitulo PREVIEW para imprimir. Obrigado... FW 2.7 / XH 0.99.61 / XMATE
  3. Olá!!! Criei um oprn:box para imprimi um box cinza. Define Pen oPen1 Width 23*w of oPrn Color nRgb(230,230,230) Na visualização fica ok, , isso para fazer o relatório zebrado, só que quando mando imprimir na laser o box sai todo preto, não mantém o cinza do preview. Alguém sabe como imprimir o box em cinza na laser ? estou usando PRINT oprn NAME prntitulo PREVIEW para imprimir. Obrigado... FW 2.7 / XH 0.99.61 / XMATE
  4. Realmente o Aloisio tinha razão, eu estava tão certo que a instrução estava correta, que pulei este teste básico, pois na verdade peguei 3 selects que funcionam e fiz 1, só que coloquei Union All apenas entre o 1 e 2, esquecendo de colocar entre o select 2 e 3. Respondendo tb ao Vailton, o select ficou com 856 caracteres. Obrigado!!!! FW 2.7 / XH 0.99.61 / XMATE
  5. Olá Montei um instrução de várias linhas na variavel CSQL, do comando: USE SQL (CSQL) ALIAS XXX VIA "MYSQL" , ele dá erro e cortar parte do final do comando, são 3 Union All, tirei o segundo e funcionou, tudo indicando um limite de tamanho, alguém já passou por isso ? abraços FW 2.7 / XH 0.99.61 / XMATE
  6. Olá Montei um instrução de várias linhas na variavel CSQL, do comando: USE SQL (CSQL) ALIAS XXX VIA "MYSQL" , ele dá erro e cortar parte do final do comando, são 3 Union All, tirei o segundo e funcionou, tudo indicando um limite de tamanho, alguém já passou por isso ? abraços FW 2.7 / XH 0.99.61 / XMATE
  7. Alguém conseguiu entre ontem ou hoje enviar nota de Testes ? Para mim ainda dá como servidor fora do ar. Obrigado Fernando FW 2.7 / XH 0.99.61 / XMATE
  8. Olá Fiz a seguinte função para resolveu um problema igual ao seu. xhoras=elapmeu(datai,horai,dataf,horaf) ********************************************************** * Calcula a diferenca entre hora, levando em conta a data * isso que diferencia do elaptime, que so considera a hora ********************************************************** Function Elapmeu Para vdatai58,vhorai58,vdataf59,vhoraf59 v60=elaptime(vhorai58,vhoraf59) if vdataf59>vdatai58 //TESTA DIFERENCA ENTRE AS DATAS v59=(vdataf59-vdatai58) * 24 if vhoraf59 v59-=24 elseif vhoraf59>=vhorai58 endif v61=subs(v60,3,3) v60=val(subs(v60,1,2))+v59 v60=strzero(v60,2)+v61 endif Retu v60 //retorna hora Teste e veja se resolve. Abraços Fernando FW 2.7 / XH 0.99.61 / XMATE
  9. Olá Washington Será que usam o Zeus para fazer a conexão Delphi com o Mysql ? Obrigado FW 2.7 / XH 0.99.61 / XMATE
  10. Olá Migrei meus programas de clipper para xharbour, agora consigo usar o Mysql, pois compramos a Sqllib, também tem coisa que será migrada para o Fivewin e ao mesmo tempo algumas outras vão direto para Delphi. A dúvida é, posso usar xharbour com Mysql e ao mesmo tempo Delphi para acessar a mesma base ? Uma base ser acessada pelo xharbour e pelo Delphi ao mesmo tempo. Obrigado Fernando FW 2.7 / XH 0.99.61 / XMATE Editado por - beniti on 18/01/2008 07:55:23 Editado por - beniti on 19/01/2008 16:11:01
  11. Olá Migrei meus programas de clipper para xharbour, agora consigo usar o Mysql, pois compramos a Sqllib, também tem coisa que será migrada para o Fivewin e ao mesmo tempo algumas outras vão direto para Delphi. A dúvida é, posso usar xharbour com Mysql e ao mesmo tempo Delphi para acessar a mesma base ? Uma base ser acessada pelo xharbour e pelo Delphi ao mesmo tempo. Obrigado Fernando FW 2.7 / XH 0.99.61 / XMATE Editado por - beniti on 18/01/2008 07:55:23 Editado por - beniti on 19/01/2008 16:11:01
  12. O problema continua, foi digitação incorreta no tópico. O que fazer ? dividir o campo em outros 2 ? ou usar o custom001, desde que funcione?!! FW 2.7 / XH 0.99.61 / XMATE
  13. Realmente errei na digitação, o correto é: str(produto,5)+subs(mes_ano,4,4)+subs(mes_ano,1,2) Agora sim, fica 200711 FW 2.7 / XH 0.99.61 / XMATE
  14. Olá!!! Estou testando a Sqllib e me deparei com um tipo de situação que não sei melhor forma de resolver, caso você já tenha passado por isso, por favor, me ilumine. Tenho atualmente em cdx um índice assim: index on str(produto,5)+subs(mes_ano,5,4)+subs(mes_ano,1,2) Exemplo: produto 5 mes_ano=11/2007 , usando o subs eu ordeno por ano e depois mês. Para migrar isso para a sqllib eu teria que criar um índice customizado, até fiz, mas não anda dando certo, uma que não tá gravando na coluna custom001 e outra que o skip não funciona legal. Outra saida, seria eu quebrar este campo em 2 (ano e mês), mas será super trabalhoso, são centenas de prg's que atualizam ele... Enfim, espero que alguém já tenha passado por isso!!! Obrigado Fernando FW 2.7 / XH 0.99.61 / XMATE
  15. Olá!!! Estou testando a Sqllib e me deparei com um tipo de situação que não sei melhor forma de resolver, caso você já tenha passado por isso, por favor, me ilumine. Tenho atualmente em cdx um índice assim: index on str(produto,5)+subs(mes_ano,5,4)+subs(mes_ano,1,2) Exemplo: produto 5 mes_ano=11/2007 , usando o subs eu ordeno por ano e depois mês. Para migrar isso para a sqllib eu teria que criar um índice customizado, até fiz, mas não anda dando certo, uma que não tá gravando na coluna custom001 e outra que o skip não funciona legal. Outra saida, seria eu quebrar este campo em 2 (ano e mês), mas será super trabalhoso, são centenas de prg's que atualizam ele... Enfim, espero que alguém já tenha passado por isso!!! Obrigado Fernando FW 2.7 / XH 0.99.61 / XMATE
  16. Ok, obrigado Gilmer. Vou tenta fazer assim então... Valeu FW 2.7 / XH 0.99.61 / XMATE
  17. Olá Estou precisando fazer o seguinte, dentro do bgotfocus, colocar a pergunta "Deseja digitar a observação ?", isso para saber se ele quer entrar no get. O interessante é que testando o exemplo abaixo, quando escolho o Sim ou Não, ele retorna a pergunta na tela, por várias vezes até depois sumir. oget2:bgotfocus := {|| teste1()} Function Teste1 *if pergunta("Deseja digitar a observação ?")='S' * retu .t. *else * retu .f. *endif ? 'entrou na função' retu .t. O que estou fazendo de errado ? Obrigado Fernando FW 2.7 / XH 0.99.61 / XMATE
  18. Olá Estou precisando fazer o seguinte, dentro do bgotfocus, colocar a pergunta "Deseja digitar a observação ?", isso para saber se ele quer entrar no get. O interessante é que testando o exemplo abaixo, quando escolho o Sim ou Não, ele retorna a pergunta na tela, por várias vezes até depois sumir. oget2:bgotfocus := {|| teste1()} Function Teste1 *if pergunta("Deseja digitar a observação ?")='S' * retu .t. *else * retu .f. *endif ? 'entrou na função' retu .t. O que estou fazendo de errado ? Obrigado Fernando FW 2.7 / XH 0.99.61 / XMATE
  19. Blz com seu exemplo, Vagner. Alguns ajustes e tá liberando o campo. Obrigado a todos. FW 2.7 / XH 0.99.61 / XMATE
  20. Funcionou beleza... Foi só colocar a linha: obtn2gravar:ojump:=oget1 e funcionou certinho. Obrigado a todos FW 2.7 / XH 0.99.61 / XMATE
  21. Olá No exemplo abaixo, eu preciso rodar uma função e logo em seguida jogar o foco para um certo, mas ele não vai... FUNCTION MEU() Local oDlg XGET1:=0 XGET2:=0 XGET3:=0 XGETX:=SPACE(40) DEFINE DIALOG oDlg FROM 0,0 to 30,40 TITLE "TESTE" @ 01,01 get oget1 var xget1 pict '9999' @ 03,01 get oget2 var xget2 pict '9999' @ 05,01 get oget3 var xget3 pict '9999' @ 08,01 get ogetX var xgetX pict '@!' @ 150,030 button obtn2gravar prompt 'Gravar' size 36,14 font fntwin pixel Action Fazisso1() @ 150,060 button obtn2gravar3 prompt 'Sair' size 36,14 font fntwin pixel Action odlg:end() ACTIVATE DIALOG oDlg CENTERED return nil RETURN FUNCTION FAZISSO1 teste7() xsetfocus(oget1) *oget1:setfocus() retu .t. Function Teste7 aaa=1 retu .f. O que pode estar errado ? Obrigado Fernandno FW 2.7 / XH 0.99.61 / XMATE
  22. Olá No exemplo abaixo, eu preciso rodar uma função e logo em seguida jogar o foco para um certo, mas ele não vai... FUNCTION MEU() Local oDlg XGET1:=0 XGET2:=0 XGET3:=0 XGETX:=SPACE(40) DEFINE DIALOG oDlg FROM 0,0 to 30,40 TITLE "TESTE" @ 01,01 get oget1 var xget1 pict '9999' @ 03,01 get oget2 var xget2 pict '9999' @ 05,01 get oget3 var xget3 pict '9999' @ 08,01 get ogetX var xgetX pict '@!' @ 150,030 button obtn2gravar prompt 'Gravar' size 36,14 font fntwin pixel Action Fazisso1() @ 150,060 button obtn2gravar3 prompt 'Sair' size 36,14 font fntwin pixel Action odlg:end() ACTIVATE DIALOG oDlg CENTERED return nil RETURN FUNCTION FAZISSO1 teste7() xsetfocus(oget1) *oget1:setfocus() retu .t. Function Teste7 aaa=1 retu .f. O que pode estar errado ? Obrigado Fernandno FW 2.7 / XH 0.99.61 / XMATE
  23. Tem razão, aqui no meu teste eu tinha a linha: oget2:bgotfocus := {|| teste1()} que tem a função teste1 e estava estragando tudo. Mas tem um detalhe, se vc alterar sua linha: oGetX:oJump := oget1 para oGetX:oJump := oget2 ele joga o foco para o get2 ? FW 2.7 / XH 0.99.61 / XMATE
  24. Paulo, é o seguinte, na verdade eu estou atrás de assuntos, um é evitar um loop no get, teste o exemplo abaixo: FUNCTION Main() Local oDlg XGET1:=0 XGET2:=0 XGET3:=0 XGETX:=SPACE(40) DEFINE DIALOG oDlg FROM 0,0 to 18,40 TITLE "TESTE" @ 01,01 get oget1 var xget1 pict '9999' WHEN XPODE='S' @ 03,01 get oget2 var xget2 pict '9999' WHEN XPODE='S' @ 05,01 get oget3 var xget3 pict '9999' WHEN XPODE='S' @ 08,01 get ogetX var xgetX pict '@!' WHEN XPODE='S' .AND. teste() ACTIVATE DIALOG oDlg CENTERED return( nil ) Function teste if (xget1+xget2+xget3)<100 oGetX:oJump := oget1 return( .f. ) else return( .t. ) endif O que eu queria era que quando chegasse no XGETX o sistema fizesse um teste e voltasse para o Get1, só que ele entra no Get1 e fica lá. No exemplo do João Santos não entrava em loop pq os get's estavam sem o When, falha minha que esqueci de colocar isso no meu exemplo. Outra coisa que estou tentando descobrir, graças as dicas estou no quase... Seria colocar um MSGYESNO ou mesmo um MSGINFO em uma função que esteja neste ponto: oGet3:bLostfocus := {||Teste()} Function Teste if pergunta("Deseja digitar a observação ?")='S' retu .f. else xsetfocus(oget4) endif retu .T. Só que para mim, a tela da pergunta é exibida várias vezes na tela, até que uma hora some e ai sim entra no get. Obrigado pelas dicas... Fernando FW 2.7 / XH 0.99.61 / XMATE
  25. No exemplo que montei, faltou o principal, colocar o When. Inclusive o exemplo do João Santos, se for colocado um when 1=1, ele já entra em loop. Desculpem pelo detalhe esquecido. FW 2.7 / XH 0.99.61 / XMATE
×
×
  • Create New...