Jump to content
Fivewin Brasil

AprendizFW

Membros
  • Posts

    198
  • Joined

  • Last visited

Everything posted by AprendizFW

  1. Olá, Estou gerando uma planilha através do meu sistema e nela preciso criar várias abas. Estou utilizando o oExcel:Sheets:Add() para isso, entretanto, percebi que ele vai "empurrando" as abas já existentes para à direita e a nova aba fica sendo sempre a primeira, gostaria de saber se têm como ele ir acrescentando novas abas logo após as que já existêm. Um grande abraço a todos.
  2. Olá meu amigo Judson, Quando eu programava em clipão puro, utilizando NTX, tive muitos problemas com indices, então resolvi abrir e fechar os bandos de dados, com seus indices, apenas na hora de salvar os dados, foi um santo remédio. Nunca mais tive problema com indices. Obs.: Na época o servidor era NOVELL. Um grande abraço.
  3. Olá Ercily Junior, Realmente vc têm razão, vender havaianas dá mais dinheiro mesmo, hehehehehe, mas vou tentar conciliar as duas coisas, se não der, vou continuar só com minha pequena loja de havaianas. Um grande abraço.
  4. Meu grande amigo Kleyber Derick, já tô sabendo que vc vai ser papai de novo, parabens meu amigo e que esta criança venha com muita saúde. Com relação ao fivewin, pretendo continuar usando apenas para criar rotinas muito especificas, pois têm certas coisas que é mais fácil e rápido criar com o fivewin, mas pretendo mesmo utilizar o Scriptcase, inclusive vou precisar da sua ajuda para configurar um servidor na nuvem para hospedar os meus programas, vou te ligar para conversarmos mais sobre isso. Um grande abraço meu amigo.
  5. kkkkkkkk, Obrigado Kapi. Um abração.
  6. Estava sem programar a mais ou menos 1 ano, pois estava mentalmente cansado e resolvi dar um tempo disso tudo. Durante esse periodo abri uma pequena loja para vender havaianas e gostei muito da experiência, mas o desejo de voltar a trabalhar com programação falou mais alto e estou retornando para este vício. Espero contar com a ajuda dos amigos, caso precise tirar algumas dúvidas, pois 1 ano fora da área de informática é muito tempo. Um grande abraço a todos deste fórum. Edilson (São Luís - MA).
  7. Olá Roni, Recentemente eu precisei fazer isso e consegui instalando o Firebird 2.5.0 e o IBExpert Developer Studio. Para fazer a conexão com o banco de dados utilize o usuário sysdba e a senha masterkey o IBExpert permite vc exportar os dados para vários formatos. Edilson, São Luís do Maranhão (ILHA REBELDE).
  8. Meu amigo Kleyber, Isso acontece comigo também, se eu tenho dois relatórios diferentes no mesmo cadastro, e o 1º relatório têm 10 colunas e o 2º relatório têm 6 colunas, mesmo com o nome do objeto report sendo diferentes dá o mesmo erro. É como se o 2º relatório herdasse as informações da quantidade de colunas do 1º relatório. Acho que seria necessário "destruir" o objeto report do 1º relatório para poder zerar a informação da quantidade de colunas e ai sim gerar o 2º relatório normalmente. Infelizmente não existe um evento "Destroy()" no report, pelo menos eu acho que é isso... Edilson. São Luís do Maranhão (ILHA REBELDE).
  9. Olá Eduardo Motta, Obrigado pelo esclarecimento, como estou começando com o xBrowse, ainda estou apanhando nesses pequenos grandes detalhes. Um abração, Edilson.
  10. Olá Marciano Queiroz, Rapaz vc é fera mesmo heim, foi só eu retirar a linha abaixo: oBroItens:SetRDD() que funcionou legal. Então isso significa que só pode haver o :SetRDD() no primeiro browse, os outros devem ficam sem ele. Eu não sabia disso e já tinha até trocado pra listbox, mas vou voltar a usar o xBrowse pois ele têm um visual melhor. Muitissímo obrigado e um grande abraço, Edilson. Editado por - AprendizFW on 23/10/2012 21:32:29 Editado por - AprendizFW on 23/10/2012 21:33:29
  11. Grande Kleyber Derick, Meu amigão é que estou tendo que trabalhar com DBF, MYSQL e TXT ao mesmo tempo. Deixa eu tentar explicar, em uma rotina de pedido de compras que trabalha com DBF, ele importa um arquivo TXT que veio de outra loja como transferência, sendo que eu tenho que mostrar os itens dessa transferência antes que a importação seja realizada, para isto utilizo um xbrowse com o array criado apartir do TXT. Na outra ponta existe uma tabela em MYSQL com todos os produtos da empresa que estão centralizados em um servidor remoto e utilizo o SQLARRAY para pegar esses dados que são armazenados também em um array. Resumindo, enquanto eu não terminar de converter o sistema para MYSQL, estou utilizando browse com DBF e com ARRAY. Eu devo está fazendo alguma coisa errada que não está certa (rsrsrsrs, essa frase é tua), pois o xBrowse com array fica doidinho. Pra não perder mais tempo, troquei o xBrowse para Listbox na hora de usar array apenas nesta rotina e resolveu meu problema, pois em outras rotinas em que utilizo apenas um xBrowse com array funciona normal. Um abração, Edilson.
  12. Valeu João, segue a lógica... // 1º Browse Com DBF oBrwItem := TXBrowse():New( oDlgNota ) oBrwItem:nMarqueeStyle := MARQSTYLE_HIGHLROW oBrwItem:nColDividerStyle := LINESTYLE_LIGHTGRAY oBrwItem:nRowDividerStyle := LINESTYLE_LIGHTGRAY oBrwItem:bSeek := {|c| DbSeek( Upper( c ) ) } oBrwItem:bClrHeader := {|| {CLR_BLACK,CLR_LGREEN}} oBrwItem:l2007:= .F. oBrwItem:SetRDD() oBrwItem:CreateFromResource( 120 ) oColnota:=oBrwItem:AddCol() oColnota:cHeader := "Codigo" oColnota:bStrData := { || MOVI->cdpr } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 90 oColnota:=oBrwItem:AddCol() oColnota:cHeader := "Produto" oColnota:bStrData := { || MOVI->desc } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 200 oColnota:=oBrwItem:AddCol() oColnota:cHeader := "CFOP" oColnota:bStrData := { || trans(MOVI->cfop,"@r 9.999") } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 45 oColnota:=oBrwItem:AddCol() oColnota:cHeader := "Quantidade" oColnota:bStrData := { || str(MOVI->quan,10,3) } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 80 oColnota:= oBrwItem:AddCol() oColnota:cHeader := "Unitário" oColnota:bStrData := { || transform(MOVI->vuni,wmasc2) } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 100 oColnota:= oBrwItem:AddCol() oColnota:cHeader := "Embalagem" oColnota:bStrData := { || str(MOVI->emba,8,3) } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 80 oColnota:= oBrwItem:AddCol() oColnota:cHeader := "Descto(%)" oColnota:bStrData := { || transform(MOVI->ades,"999.99") } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 80 oColnota:= oBrwItem:AddCol() oColnota:cHeader := "IPI(%)" oColnota:bStrData := { || transform(MOVI->aipi,"999.99") } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 80 oColnota:= oBrwItem:AddCol() oColnota:cHeader := "S.Trib(%)" oColnota:bStrData := { || transform(MOVI->psbt,"999.99") } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 80 oColnota:= oBrwItem:AddCol() oColnota:cHeader := "Total Item" oColnota:bStrData := { || transform(MOVI->tpro,"@E 999,999.99") } oColnota:nDataStrAlign := AL_LEFT oColnota:nHeadStrAlign := AL_LEFT oColnota:nWidth := 100 ACTIVATE DIALOG oDlgNota CENTER ON INIT ( oBrwItem:Refresh() ) // 2º Browse Com Array oBroItens:= TXBrowse():New( oDlgItens ) oBroItens:CreateFromResource( 350 ) oBroItens:nMarqueeStyle := MARQSTYLE_HIGHLROW oBroItens:nColDividerStyle := LINESTYLE_LIGHTGRAY oBroItens:nRowDividerStyle := LINESTYLE_LIGHTGRAY oBroItens:bClrHeader := {|| {CLR_BLACK,CLR_LGREEN}} oBroItens:bClrSelFocus := {|| {CLR_WHITE,CLR_LBLUE} } oBroItens:bClrRowFocus := {|| {CLR_WHITE,CLR_LBLUE} } oBroItens:bClrSel := {|| {CLR_WHITE,CLR_LBLUE} } oBroItens:l2007 := .F. oBroItens:SetRDD() oBroItens:SetArray( aItens ) oBroItens:aCols[ 1 ]:cHeader := "Código" oBroItens:aCols[ 1 ]:bStrData := { || aItens[oBroItens][1] } oBroItens:aCols[ 1 ]:nWidth := 90 oBroItens:aCols[ 1 ]:nDataStrAlign := AL_LEFT oBroItens:aCols[ 1 ]:nHeadStrAlign := AL_LEFT oBroItens:aCols[ 2 ]:cHeader := "Descrição" oBroItens:aCols[ 2 ]:bStrData := { || aItens[oBroItens][2] } oBroItens:aCols[ 2 ]:nWidth := 500 oBroItens:aCols[ 2 ]:nDataStrAlign := AL_LEFT oBroItens:aCols[ 2 ]:nHeadStrAlign := AL_LEFT ACTIVATE DIALOG oDlgItens CENTER ON INIT ( oBroItens:Refresh() ) id=code>id=code>Um abraço, Edilson.
  13. Olá Pessoal, Comecei a utilizar o xBrowse à pouco tempo e estou tendo um problema quando utilizo 2 xBrowse na mesma rotina. Exemplo: o primeiro xbrowse mostra os itens de uma nota de compra que está armazenado em um dbf e quando vou incluir um novo item na compra, chamo um segundo xbrowse que contêm um array com todos os itens disponiveis no cadastro. Nesse segundo xbrowse aparece apenas um item repetido várias vezes. Curiosamente isso só acontece quando eu preciso utilizar um xbrowse com um dbf e outro com um array, se eu utilizar os dois xbrowse com dbf's ou os dois xbrowse com array fica normal. Já tomei o cuidado de utilizar nomes diferentes para os dois xbrowse, alguém já passou por isso ???. Um abraço a todos, Edilson. Editado por - AprendizFW on 23/10/2012 21:15:12
  14. Olá Pessoal, Comecei a utilizar o xBrowse à pouco tempo e estou tendo um problema quando utilizo 2 xBrowse na mesma rotina. Exemplo: o primeiro xbrowse mostra os itens de uma nota de compra que está armazenado em um dbf e quando vou incluir um novo item na compra, chamo um segundo xbrowse que contêm um array com todos os itens disponiveis no cadastro. Nesse segundo xbrowse aparece apenas um item repetido várias vezes. Curiosamente isso só acontece quando eu preciso utilizar um xbrowse com um dbf e outro com um array, se eu utilizar os dois xbrowse com dbf's ou os dois xbrowse com array fica normal. Já tomei o cuidado de utilizar nomes diferentes para os dois xbrowse, alguém já passou por isso ???. Um abraço a todos, Edilson. Editado por - AprendizFW on 23/10/2012 21:15:12
  15. Olá Erciley, Como prometido, estou postando aqui o resultado do teste que fiz com array. Sem dúvida nenhuma o ganho de velocidade é muito grande, pois eu estava usando o (USE SQL) para pegar os dados de uma tabela remota de 35.000 registros (MUITO LENTO), então passei a usar o (SQLARRAY), ficou show de bola. Só estou apanhando um pouco com o listbox (POSICIONAMENTO), pois ainda não tinha usado ele com array, mas isso é o de menos. Muito obrigado à todos, Edilson.
  16. Olá Marcelo, Obrigado pela dica, outra coisa, quando trabalhamos com dbf existe o Upstable() para atualizar o browse quando têm mais registros que a janela pode suportar, existe algo parecido para array ??? Att, Edilson.
  17. Olá Pessoal, Não lembro como "setar" um item no listbox, exemplo, quero posicionar no item 8 e atualizar o browse. Estou usando "Array". Desde já Agradeço, Edilson. Editado por - AprendizFW on 19/07/2012 17:38:47
  18. Olá Pessoal, Não lembro como "setar" um item no listbox, exemplo, quero posicionar no item 8 e atualizar o browse. Estou usando "Array". Desde já Agradeço, Edilson. Editado por - AprendizFW on 19/07/2012 17:38:47
  19. Olá Erciley, Vou fazer um teste agora utilizando array e posto aqui o resultado. Obrigado, Edilson.
  20. Olá Geraldo, É exatamente isso, porque quando eu insiro um novo registro eu tenho que executar novamente o "select" para ele reconhecer no browse esse novo registro, entretanto como ele está ordenado pelo "nome" não sei a posição que ele ficou nessa ordenação, por isso estou usando o LOCATE para ele posicionar no registro inserido e dar o "refresh", em bases pequenas fica blz, mas em bases grandes fica muito lento. Um abraço, Edilson.
  21. Vixi Erciley, Pior que uso o "USE SQL" então não vou poder usar o DBSEEK, acho que vou me contentar com o LOCATE mesmo (rsrsrs), ou então vou mudar a lógica dos meus cadastros, ao invés de mostrar um browse e colocar botões para inserir, alterar e excluir, vou logo abrir a tela para cadastro e se o registro já existir perguntar se o usuário quer alterar ou excluir. Paralelo a isso vou montar um filtro que seria o browse (nesse caso não precisaria me preocupar com o posicionamento do registro que acabou de ser inserido). De qualquer forma agradeço sua ajuda e a do Eduardo, um abraço a todos. Edilson.
  22. Olá Erciley Junior, Eu uso o browse como se estivesse usando um "DBF" e utilizo uma ordenação por nome, exemplo ( select * clientes order by nome ), quando insiro um registro não estou conseguindo a posição em que ele fica nessa ordenação, por isso estou utilizando o comando LOCATE para fazer esse posicionamento, pois o comando DBSEEK precisa de um índice e acho que o índice criado para mysql não funciona com esse comando, pelo menos eu acho, vou até testar... Um abraço, Edilson.
  23. Olá Pessoal, Utilizo a SQLLIB FREE para trabalhar com mysql e uma dificuldade que tenho nas rotinas de browse é posicionar no registro que acabei de inserir (pois ele sempre posiciona no primeiro registro). Uma solução que vi em alguns exemplos e que estou utilizando é usar o comando LOCATE para fazer esse posicionamento, entretanto com o aumento da quantidade de registros isso vai atrapalhando pois fica muito lento. Gostaria de saber se alguém utiliza outra solução para resolver esse problema. Um grande abraço a todos, Edilson. Editado por - AprendizFW on 16/07/2012 10:45:56
  24. Olá Pessoal, Utilizo a SQLLIB FREE para trabalhar com mysql e uma dificuldade que tenho nas rotinas de browse é posicionar no registro que acabei de inserir (pois ele sempre posiciona no primeiro registro). Uma solução que vi em alguns exemplos e que estou utilizando é usar o comando LOCATE para fazer esse posicionamento, entretanto com o aumento da quantidade de registros isso vai atrapalhando pois fica muito lento. Gostaria de saber se alguém utiliza outra solução para resolver esse problema. Um grande abraço a todos, Edilson. Editado por - AprendizFW on 16/07/2012 10:45:56
  25. Olá Marcelo Ferro, Era isso mesmo que tava procurando, obrigado !!! Um abraço, Edilson.
×
×
  • Create New...