Jump to content
Fivewin Brasil

gilbrodrigues

Membros
  • Posts

    143
  • Joined

  • Last visited

Everything posted by gilbrodrigues

  1. S.A.Oliveira Eu uso o Listbox direto: REDEFINE LISTBOX oLbx9 ; FIELDS (aliaslaudo)->LAUDO,; (aliaslaudo)->LOGRA,; (aliaslaudo)->ENDER,; (aliaslaudo)->NUM,; (aliaslaudo)->COMPL,; TRANSFORM((aliaslaudo)->VALOR, mask1 ) ; ALIAS (aliaslaudo); ID 4007 OF otela1; HEADERS "Cod.Laudo","Logr","Rua","Num","Complemento", " Valor (R$)" ; ON DBLCLICK EditaLaudo(.F.) ; FIELDSIZES 100,40,200,80,50,95 UPDATE oLbx9:bkeydown:={|nkey| if(nkey == 13 , EditaLaudo(.F.) , nil )} oLbx9:aJustify := {.F.,.F.,.F.,.F.,.F.,.F.} // .T. DIREITA
  2. desculpem é feliz 2011 e nao 2009 ! Ele nao esta considerando os registros duplicados (ja usei PACK) o problema é que ele duplica o registro. Se o resultado deveria ter um registro ele pega este registro e mostra 3 vezes. Existe como eu mostrar a tela do programa ? Editado por - gilbrodrigues on 04/01/2011 10:09:11 Editado por - gilbrodrigues on 04/01/2011 10:19:37
  3. A solucao que tenho a fazer é gerar um arquivo temporario, o problema que se trata de varios arquivos com estruturas diferentes. Obrigado a todos e Feliz 2011 Editado por - gilbrodrigues on 04/01/2011 10:04:13
  4. Uso um CDX como indice. Porem o teste de usar SET INDEX TO nao funcionou. Estou quase desistindo e fazer uma combo. Nesse caso terei que fazer com que ele envie um parametro para alteração do registro. No Listbox ficava mas facil para o usuario. Estou tb vendo a possibilidade de ser o PELLES C
  5. Ola Theotokos, fiz o teste colocando true no parametro como vc indicou mas continua a mesma coisa. Na verdade ele 'toma a forma do conteúdo anterior', se o resultado anterior contiver 3 linhas o próximo resultado mesmo com 1 registro ele exibirá com 3 linhas (repetidas) Editado por - gilbrodrigues on 03/01/2011 13:53:49
  6. Quando exibo um LISTBOX com um set filter ele está duplicando o registro. Ex. Caso o resultado de um set filter seja apenas 1 registro ele coloca 3 linhas repetidas. Por que sera: --------------------------------------------- FUNCTION MostFilt() TIPOIMOV->(dbSetOrder(3)) // descricao TIPOIMOV->(dbSeek(optpimovel)) aliaslaudo := TIPOIMOV->BASE SET FILTER TO // LIMPANDO O FILTRO CORRENTE otela1:update() oLbx9:hide() SELECT (aliaslaudo) // SELECIONANDO A AREA (BASE) (aliaslaudo)->(dbGotop()) IF EMPTY(xcodLaudo) SET FILTER TO (aliaslaudo)->BAIRRO == opBairro ELSE SET FILTER TO ALLTRIM( (aliaslaudo)->LAUDO ) == ALLTRIM(xcodLaudo) ENDIF &(aliaslaudo)->(dbGoTop()) //oLbx9:UpsTable() oLbx9:refresh() oLbx9:Gotop() otela1:update() otela1:refresh() oLbx9:SetFocus() oLbx9:show() RETURN .T. --------------------------- Obrigado para aqueles que puderem ajudar.
  7. Quando exibo um LISTBOX com um set filter ele está duplicando o registro. Ex. Caso o resultado de um set filter seja apenas 1 registro ele coloca 3 linhas repetidas. Por que sera: --------------------------------------------- FUNCTION MostFilt() TIPOIMOV->(dbSetOrder(3)) // descricao TIPOIMOV->(dbSeek(optpimovel)) aliaslaudo := TIPOIMOV->BASE SET FILTER TO // LIMPANDO O FILTRO CORRENTE otela1:update() oLbx9:hide() SELECT (aliaslaudo) // SELECIONANDO A AREA (BASE) (aliaslaudo)->(dbGotop()) IF EMPTY(xcodLaudo) SET FILTER TO (aliaslaudo)->BAIRRO == opBairro ELSE SET FILTER TO ALLTRIM( (aliaslaudo)->LAUDO ) == ALLTRIM(xcodLaudo) ENDIF &(aliaslaudo)->(dbGoTop()) //oLbx9:UpsTable() oLbx9:refresh() oLbx9:Gotop() otela1:update() otela1:refresh() oLbx9:SetFocus() oLbx9:show() RETURN .T. --------------------------- Obrigado para aqueles que puderem ajudar.
  8. Continuando a ideia acima adicionei a seguinte linha: ******************************************* FUNCTION Tamobs(oOBS2D,oSayob2,fixobs,formobs,sayob2) LOCAL CHRLF := chr(10)+chr(13)//, sitobs := .T. Local nTama := Len(oOBS2D:cText()) sayob2 := ALLTRIM(STR(fixobs-nTama)) + " caracteres" If nTama > fixobs MsgAlert("Tamanho máximo permitido !","Aviso !") xobs2 := STUFF(xobs2,LEN(xobs2)-1,1,"") // NOTE AQUI QUE ELE AINDA ADICIONAVA CARACTERES ENTAO FOI NECESSARIO TRAVAR A EDICAO. NAO ESTOU MAIS USANDO O VALID !!! Endif formobs:update() formobs:refresh() oOBS2D:SetPos( LEN(xobs2) + 1 ) IF LEN(xObs2) < fixobs oOBS2D:SetPos( LEN(xobs2) + 1 ) ENDIF id=red>id=black>
  9. Agradeço a todos e principalmente ao LUISAO a apos a dica oGet:SetPos( LEN(cGet) + 1 ) funcionou. RESOLVIDO: oOBS2D:SetPos( LEN(xobs2) + 1 )
  10. Na linha onde se lê: ...800-LEN( ... deve mudar para 600 foi um esquecimento. (São 600 caracteres no máximo onde o usuário deve utilizar ).
  11. Observe as funcoes: Quando eu faço com um GET VALID funciona, mas ao mudar para ON CNANGE , parece que o cursor se perde. FUNCTION OBSLAUDO1() sayob2 := ALLTRIM(STR(600-LEN(xobs2))) + " caracteres" DEFINE DIALOG oshwobs RESOURCE "OBSLAUDO" REDEFINE GET oOBS1A VAR xobs1 ID 4001 OF oshwobs MEMO UPDATE REDEFINE GET oOBS1B VAR xobstit2 ID 4007 OF oshwobs UPDATE REDEFINE GET oOBS1C VAR xendweb ID 4008 OF oshwobs UPDATE REDEFINE SAY oSayob2 VAR sayob2 ID 4010 OF oshwobs UPDATE REDEFINE GET oOBS2D VAR xobs2 ID 4002 OF oshwobs MEMO ON CHANGE Tamobs(oOBS2D,@oSayob2,(800-LEN(xobs2)),@oshwobs,@sayob2) UPDATE REDEFINE GET oOBS3E VAR xobs3 ID 4003 OF oshwobs MEMO UPDATE REDEFINE BUTTON obtobs ID 100 OF oshwobs ACTION oshwobs:End() ACTIVATE DIALOG oshwobs CENTERED RETURN NIL ******************************************* FUNCTION Tamobs(oOBS2D,oSayob2,fixobs,formobs,sayob2) LOCAL CHRLF := chr(10)+chr(13)//, sitobs := .T. Local nTama := Len(oOBS2D:cText()) sayob2 := ALLTRIM(STR(fixobs-nTama)) + " caracteres" If nTama > fixobs MsgAlert("Tamanho máximo permitido !","Aviso !") //sitobs := .F. Endif formobs:update() formobs:refresh() oOBS2D:Goend() RETURN NIL *********************************************
  12. Acabei de efetuar o teste e o 'editbox' some ao passar pela função...
  13. Ainda estou testando as dicas (ainda nao funcionou), estou fazendo algumas mudancas na rotina que é executada (antes do retorno). Obrigado a todos.
  14. Ola a todos Estou tentando fazer uma pesquisa em um GET a medida que o usuário vai digitando, porém ao retornar da funcao de verificação ele perde a coluna (ou seja a posicao do cursor que ele estava anteriormente), indo parar no inicio do campo. Tentei enviar um KEYBOARD CHR(6) - Tecla END mas nao funciona se alguem tiver alguma sugestao agradeco veja o exemplo das intrucoes: LINHA ONDE CHAMA A FUNCAO ... REDEFINE GET oOBS2D VAR xobs2 ID 4002 OF oshwobs MEMO ON CHANGE Tamobs(oOBS2D,@oSayob2,500,@oshwobs) UPDATE TRECHO DA FUNCAO QUE EXECUTA E RETORNA Local nTama := Len(oOBS2D:cText()) sayob2 := ALLTRIM(STR(fixobs - nTama)) + " caracteres" formobs:update() formobs:refresh() ... oOBS2D:setfocus() KEYBOARD CHR(6)
  15. Ola a todos Estou tentando fazer uma pesquisa em um GET a medida que o usuário vai digitando, porém ao retornar da funcao de verificação ele perde a coluna (ou seja a posicao do cursor que ele estava anteriormente), indo parar no inicio do campo. Tentei enviar um KEYBOARD CHR(6) - Tecla END mas nao funciona se alguem tiver alguma sugestao agradeco veja o exemplo das intrucoes: LINHA ONDE CHAMA A FUNCAO ... REDEFINE GET oOBS2D VAR xobs2 ID 4002 OF oshwobs MEMO ON CHANGE Tamobs(oOBS2D,@oSayob2,500,@oshwobs) UPDATE TRECHO DA FUNCAO QUE EXECUTA E RETORNA Local nTama := Len(oOBS2D:cText()) sayob2 := ALLTRIM(STR(fixobs - nTama)) + " caracteres" formobs:update() formobs:refresh() ... oOBS2D:setfocus() KEYBOARD CHR(6)
×
×
  • Create New...