Clique abaixo para nos ajudar
Login

Esqueci minha senha

Estamos no Facebook
Buscar
 
 

Resultados por:
 


Rechercher Busca avançada

Quem está conectado
9 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 9 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
Últimos assuntos
» Alterar uma palavra num arquivo de texto
Ontem à(s) 12:02 por Teseu

» Buscar endereço por CEP
3/12/2016, 19:59 por pedrossian

» USAR WEBSERVICE NO VFP9
2/12/2016, 09:50 por AJC

» BANIMENTO DE USUARIO
17/11/2016, 08:31 por FAF

» Impressora Ticket
15/11/2016, 09:20 por clima238

» Gráfico
9/11/2016, 10:43 por hidroluz

» TRANSPOR TABELA
9/11/2016, 10:34 por hidroluz

» MUDANÇA DO .DBF PARA POTSGREE
9/11/2016, 09:12 por AJC

» Website com videoaulas sobre linguagens de programação
8/11/2016, 09:56 por JLDR

» Parceria para desenvolvimento de template em Wordpress
7/11/2016, 19:15 por mindix

» Data fica invertida na planilha que é gerada via programa.
27/10/2016, 11:00 por Linghston

» Maximizar report direto do menu
21/10/2016, 20:48 por Rosangela Pires

» Fechar form com tempo
21/10/2016, 10:15 por Rosangela Pires

» URGENTE: Ajuda com impressora ELGIN-L42
14/10/2016, 09:53 por megasoft

» Opções para gerar NF-e
10/10/2016, 09:07 por mavsinfo

» Google Maps
8/10/2016, 15:08 por Rosangela Pires

» Mysql
5/10/2016, 11:22 por Marcos Guedes

» Acessando Banco em MYSQL de um projeto WORDPRESS
3/10/2016, 10:58 por Marcos Guedes

» OPTION SELECT MOSTRAR CAMPOS QUASE PRONTO
26/9/2016, 21:09 por BobKuspe

» Pesquisa em grid
14/9/2016, 09:24 por AJC

Alterar uma palavra num arquivo de texto

5/12/2016, 12:02 por Teseu

Olá prezados colegas de programação!

Este é eu primeiro post no fórum e gostaria de poder …

Comentários: 0

Buscar endereço por CEP

3/12/2016, 19:59 por pedrossian

Caros amigos, meu código para buscar endereço pelo CEP não funciona mais.
Alguém pode me …

Comentários: 0

USAR WEBSERVICE NO VFP9

2/12/2016, 09:50 por AJC

Pessoal, preciso de um material ou livro que me traga instruções como
usar a consumação de …

Comentários: 0

BANIMENTO DE USUARIO

13/11/2016, 16:21 por FAF

A usuária ROSANGELA PIRES ao tentar acessar o Forum obtem sempre a mensagem de BANIMENTO.
A mesma …

Comentários: 3

Impressora Ticket

15/11/2016, 09:20 por clima238

Bom dia,
Por favor alguém me explique porque o código abaixo imprime no ecrã em vez do printer: …

Comentários: 0

Estatísticas
Temos 6960 usuários registrados
O último usuário registrado atende pelo nome de Maycon Hersing

Os nossos membros postaram um total de 17118 mensagens em 2576 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

Resolvido Re: IF não retorna valor correto

Mensagem por Conteúdo patrocinado Hoje à(s) 05:13


Conteúdo patrocinado


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