Clique abaixo para nos ajudar
Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
12 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 12 Visitantes :: 2 Motores de busca

Nenhum

[ Ver toda a lista ]


O recorde de usuários online foi de 468 em 1/3/2012, 10:43
Como preencher campos vazios

9/2/2017, 11:55 por Linghston

Pessoal boa tarde,

É o seguinte, eu preciso preencher os campos de uma coluna da tabela DBF que …

Comentários: 2

Enviar msg para WhatsAPP via VFP

7/2/2017, 10:31 por Eliana

Olá Pessoal!

Alguém sabe se é possível enviar mensagem para o WhatsAPP via VFP?


Grata


Comentários: 0

Tudo dá errado

3/2/2017, 16:50 por Douglas Pascini

Troquei de maquina, achei que seria uma boa, [Você precisa estar registrado e conectado para ver esta imagem.]  pois passei para uma maquina melhor.

Instalei o …

Comentários: 1

URGENTE - Instalação do aplicativo

24/1/2017, 08:51 por Douglas Pascini

Bom dia. Estou com um problema, ao fazer a instalação (colocar os arquivo) do aplicativo na …

Comentários: 0

USAR REPORT FORM

30/12/2016, 09:06 por AJC

Pessoal bom dia,
Estou com um grande problema, já pesquisei muita coisa sobre report form, mas o …

Comentários: 3

Estatísticas
Temos 7021 usuários registrados
O último usuário registrado atende pelo nome de diegopeixoto

Os nossos membros postaram um total de 21 mensagens em 12 assuntos

IF não retorna valor correto

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Resolvido IF não retorna valor correto

Mensagem por nathalia.delavi em 19/12/2010, 20:20

Boas gente!

estou com um problema que não consegui explicação...

No código seguinte o primeiro IF retorna TRUE mas o segundo IF retorna FALSE mostrando o que está no ELSE:

Código:
IF STREXTRACT(cfile,'<det nItem="','">',1)="1"
   vrprodutos1=STREXTRACT(cfile,'<det','</det>')
   MESSAGEBOX(vrprodutos1)
ELSE
   MESSAGEBOX("Não deu")
ENDIF

IF STREXTRACT(cfile,'<det nItem="','">',1)="2"
   vrprodutos2=STREXTRACT(cfile,'<det','</det>')
   MESSAGEBOX(vrprodutos2)
ELSE
   MESSAGEBOX("Não deu")
ENDIF


O arquivo que estou extraindo as informações possui esses valores, devendo os dois ter que retornar verdadeiro, mas somente o primeiro IF retorna TRUE.

O arquivo de teste que estou usando está em anexo...

Clique aqui para baixar

Valeus

nathalia.delavi
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Questao de logica se nao for 1 como pode ser 2?

Mensagem por alceu11 em 19/12/2010, 22:31

WRE= STREXTRACT(cfile,'<det nItem="','">',1)
WAIT WINDOW WRE && SEMPRE DARA 1
conclusao :
POR ISTO QUE O SEGUNDO IF DA ERRADO!!! nao deu!!!

Esta estranho isto que vc esta fazendo, voce pega todos os itens nfe no primeiro if, depois vai conferir se tem o segundo item da nfe? nao entendi !!!
***
Agora Natalia vc resolveu o topico de sexta feira 17/12/2010 e vc esta abrindo outro topico do mesmo assunto?
Nao seria o certo manter tudo do assunto num mesmo topico:??

alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Nao sei se e isto vc nao responde os topicos

Mensagem por alceu11 em 19/12/2010, 23:38

teste veja se isto te ajuda aqui nota tenho 20 itens
Veja se isto mesmo que voce quer
a 1 hs da manha
Código:

IF STREXTRACT(cfile,'<det nItem="','">',1)="1"
  vrprodutos1=STREXTRACT(cfile,'<det','</det>')
  WRE=  STREXTRACT(cfile,'<det nItem="','">',1)
  MESSAGEBOX(vrprodutos1)
   
ELSE
  MESSAGEBOX("1 IF Não deu")
ENDIF


IF STREXTRACT(cfile,'<det nItem="','">',2)="2"
  wre=STREXTRACT(cfile,'<det nItem="','">',2)
  WAIT WINDOW 'item nr '+WRE TIMEOUT 1
***aqui vou pegar o item 2 e assim sucessivamente
  vrprodutos2=STREXTRACT(cfile,'</det><det nItem="2">','</det>' ,1)
    MESSAGEBOX(vrprodutos2)

      ELSE
      WAIT WINDOW 'if nao encontrei o item 2 nao deu' TIMEOUT 1
      endif
*****************
 IF STREXTRACT(cfile,'<det nItem="','">',3)="3"
  wre=STREXTRACT(cfile,'<det nItem="','">',3)
  WAIT WINDOW 'item nr '+WRE TIMEOUT 1
  vrprodutos3=STREXTRACT(cfile,'<det nItem="3">','</det>' ,1)
    MESSAGEBOX(vrprodutos3)

      ELSE
      WAIT WINDOW 'if nao encontrei o item 3 nao deu' TIMEOUT 1
      endif
****************
******aqui sucessivamente ate chegar o item 20
 IF STREXTRACT(cfile,'<det nItem="','">',21)="21"
  wre=STREXTRACT(cfile,'<det nItem="','">',21)
  WAIT WINDOW WRE TIMEOUT 1
  vrprodutos3=STREXTRACT(cfile,'<det nItem="21">','</det>' ,1)
    MESSAGEBOX(vrprodutos3)

      ELSE
      WAIT WINDOW 'if 21 nao encontrei o 21 item' TIMEOUT 1
      endif

 


alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: IF não retorna valor correto

Mensagem por nathalia.delavi em 20/12/2010, 01:52

Não é o mesmo assunto, é pelo mesmo arquivo, mas não pelo mesmo assunto...


Mas consegui resolver hoje mesmo... realmente estava incorreto o jeito de fazer, mas já descobri e reverti. Desculpa não ter respondido antes, é que estava concentrada... Mas obrigada de qualquer forma Alceu! Cool

nathalia.delavi
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: IF não retorna valor correto

Mensagem por nathalia.delavi em 20/12/2010, 02:02

Alceu agora que vi que fiz a mesma coisa que vc falou, mas criei um prg pra cada produto... Por isso até demorei a responder aqui... Deu trabalho! rsrs Obrigada!

nathalia.delavi
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: IF não retorna valor correto

Mensagem por alceu11 em 20/12/2010, 07:55

Qual a solucao encontrada? poste o Resultado!!!

Vc um if para cada item , ai e perda de tempo!! eu nao acredito
crie um variavel n=1
n=n+1
e faca um
for

next
endfor
Outro topico
ajuda com XLMTOCURSOR COMO FICOU A SOLUCAO?
Se resolveu este e outro topicos coloque Resolvido, e agradece se for do seu entendimento!!



alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: IF não retorna valor correto

Mensagem por alceu11 em 20/12/2010, 09:32

vou fazer com
for next

codigo
Código:

CLEAR ALL
CLOSE DATABASES ALL
SET SAFETY off
*Atencao As TAG Tem QUE SE = AO QUE ESTA NO ARQ.XML MAISCULOS OU MINUSC

IF file ('c:\PEDRO\PEDRONFE.xml')
cfile=FILETOSTR('c:\PEDRO\PEDRONFE.xml')
cTag=STREXTRACT(cFile,'<emit><CNPJ>','</CNPJ>',1)
*MESSAGEBOX(CTAG)

**vou pegar so o nome do emitente dentro da arquivo nfe
cTag1=STREXTRACT(cFile,'<xNome>','</xNome>',1)
    wait window CTAG1 time 1
***aqui vou pegar o endereco do emitente
cTag2=STREXTRACT(cFile,'<xLgr>','</xLgr>',1)
cTag3=STREXTRACT(cFile,'<UF>','</UF>',1)

IF STREXTRACT(cfile,'<det nItem="','">',1)="1"
  vrprodutos1=STREXTRACT(cfile,'<det','</det>')
  WRE=  STREXTRACT(cfile,'<det nItem="','">',1)
  MESSAGEBOX(vrprodutos1)
ELSE
  MESSAGEBOX("1 IF Não deu")
ENDIF


***vou comecar pelo item 2 e vou ate o iten 50
n=2

FOR I =1 TO 50

IF STREXTRACT(cfile,'<det nItem="','">',n)=ALLTRIM(STR(n)) 
  wre=STREXTRACT(cfile,'<det nItem="','">',n)
  *WAIT WINDOW 'item nr '+WRE TIMEOUT 1
  vrprodutos2=STREXTRACT(cfile,'<det','</det>',n)
    MESSAGEBOX(vrprodutos2)
 n=n+1
      ELSE
    **se nao encontro n=50 para fechar o loop do for next
      n=50
      WAIT WINDOW 'Fim dos 50 itens nfe' TIMEOUT 1
      EXIT
     
      ENDIF

 ENDFOR
**assim vc economica comando     
***************** aqui dexei so como referencia do item 3
 IF STREXTRACT(cfile,'<det nItem="','">',3)="3"
  wre=STREXTRACT(cfile,'<det nItem="','">',3)
  WAIT WINDOW 'item nr '+WRE TIMEOUT 1
  vrprodutos3=STREXTRACT(cfile,'<det nItem="3">','</det>' ,1)
    MESSAGEBOX(vrprodutos3)

      ELSE
      WAIT WINDOW 'if nao encontrei o item 3 nao deu' TIMEOUT 1
      endif
***************************
 
 
****aqui vou inserir as tag que busquei e gravei em uma tabela
  CREATE TABLE TAGO( N_CAMPO C(10),CAMPO C(60))
  SELECT TAGO
    INSERT INTO tago (N_CAMPO,CAMPO) VALUES ('CNPJ',ctag)
 
  INSERT INTO tago (N_CAMPO,CAMPO) VALUES ('nome',ctag1)
      INSERT INTO tago (N_CAMPO,CAMPO) VALUES ('lgr',ctag2)
        INSERT INTO tago (N_CAMPO,CAMPO) VALUES ('UF',ctag3)
         
  BROWSE last
  ELSE
  WAIT WINDOW 'nao econtrei o arquivo' TIMEOUT 2
  endif
 
*  Warqtmp = FILETOSTR('c:\PEDRO\PEDRONFE.xml')
*  ? Warqtmp


Última edição por alceu11 em 20/12/2010, 09:38, editado 1 vez(es)

alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: IF não retorna valor correto

Mensagem por nathalia.delavi em 20/12/2010, 09:35

Oi Alceu,

sobre esse e o outro tópico os dois estão sinalizados como resolvido e em nenhum dos dois postei a resolução pois já estavam no seu post. Porém sinalizei a solução final.

Nesse, falei que fiz da mesma forma que vc tinha postado, mas usei um prg para cada.

Tanto este tópico quanto o de XMLTOCURSOR estão solucionados e em ambos agradeci a ajuda em post.

Vou verificar o uso do for da forma que vc postou, e informo aqui também!

Obrigada Alceu! Very Happy

nathalia.delavi
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Resolvido Re: IF não retorna valor correto

Mensagem por alceu11 em 20/12/2010, 09:37

Veja a resposta anteriro que ja te dei os itens de 2 a 50 com
Comando de sequencia reptitiva ,de bloco for e next

Eu acredito que messagebox dos itens, nao seja o seu codigo
acredito sim que voce esta gravando isto em algum lugar
para auditar as nota fiscal eletronica, se todos os dados estao corretos,
com a digitacao do usuario.
Mas geralmente, o usuario do forum nao demonstra o que realmene esta fazendo
em um linguagem acessivel para que os outros usuarios, vejam e entendao
o resultado da solucucao do topico.

alceu11
Usuário 5 Estrelas
Usuário 5 Estrelas


Voltar ao Topo Ir em baixo

Resolvido Re: IF não retorna valor correto

Mensagem por nathalia.delavi em 20/12/2010, 09:47

Realmente isso que ia te dizer agora...


O FOR funciona pra esse caso sim, dessa forma que postei o código... mas o resto do código vai um pouco mais além e não posso utilizar o FOR.

Mas fica a dica do Alceu para quem precisar, funcionou dessa forma que está ai...


Valeu Alceu, vc é fera! Smile

nathalia.delavi
Participante Regular
Participante Regular


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo


 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum