vagner Posted March 19, 2008 Report Share Posted March 19, 2008 Olá Pessoal, Bom, estava eu tentando montar um programinha e me deparei com um erro gravÃssimo no xHarbour, perdi +- uns 30 min. para tentar entender o que aconteceu, pois estava tudo certo, sem erro de lógica nem nada Se alguém puder testar, pode ser no xharbour puro ou com fw Teste Simples de Tudo cTeste := ",QualquerCoisa" ? cTeste,cTeste # "",cTeste != "",cTeste == "",cTeste = "" cTeste := ".QualquerCoisa" ? cTeste,cTeste # "",cTeste != "",cTeste == "",cTeste = "" Nos dois casos, irá aparecer uma tela de alert dessa maneira : ,QualquerCoisa .F. .F. .F. .T. ou seja, se alguma var começar com vÃrgula ou ponto (não testei com outros), não irá fazer a comparação ,QualquerCoisa - cTeste .F. - cTeste # "" .F. - cTeste != "" .F. - cTeste == "" .T. - cTeste = "" Nesse último é ainda pior o caso pois ele afirma que cTeste é = a "" (Nil) Por favor, me reportem qual xharbour estão usando para eu passar para o Culik Vagner Wirts VI Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
vagner Posted March 19, 2008 Author Report Share Posted March 19, 2008 Olá Pessoal, Bom, estava eu tentando montar um programinha e me deparei com um erro gravÃssimo no xHarbour, perdi +- uns 30 min. para tentar entender o que aconteceu, pois estava tudo certo, sem erro de lógica nem nada Se alguém puder testar, pode ser no xharbour puro ou com fw Teste Simples de Tudo cTeste := ",QualquerCoisa" ? cTeste,cTeste # "",cTeste != "",cTeste == "",cTeste = "" cTeste := ".QualquerCoisa" ? cTeste,cTeste # "",cTeste != "",cTeste == "",cTeste = "" Nos dois casos, irá aparecer uma tela de alert dessa maneira : ,QualquerCoisa .F. .F. .F. .T. ou seja, se alguma var começar com vÃrgula ou ponto (não testei com outros), não irá fazer a comparação ,QualquerCoisa - cTeste .F. - cTeste # "" .F. - cTeste != "" .F. - cTeste == "" .T. - cTeste = "" Nesse último é ainda pior o caso pois ele afirma que cTeste é = a "" (Nil) Por favor, me reportem qual xharbour estão usando para eu passar para o Culik Vagner Wirts VI Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
Kbelo Posted March 20, 2008 Report Share Posted March 20, 2008 citação:Olá Pessoal, Bom, estava eu tentando montar um programinha e me deparei com um erro gravÃssimo no xHarbour, perdi +- uns 30 min. para tentar entender o que aconteceu, pois estava tudo certo, sem erro de lógica nem nada Se alguém puder testar, pode ser no xharbour puro ou com fw Teste Simples de Tudo cTeste := ",QualquerCoisa" ? cTeste,cTeste # "",cTeste != "",cTeste == "",cTeste = "" cTeste := ".QualquerCoisa" ? cTeste,cTeste # "",cTeste != "",cTeste == "",cTeste = "" Nos dois casos, irá aparecer uma tela de alert dessa maneira : ,QualquerCoisa .F. .F. .F. .T. ou seja, se alguma var começar com vÃrgula ou ponto (não testei com outros), não irá fazer a comparação ,QualquerCoisa - cTeste .F. - cTeste # "" .F. - cTeste != "" .F. - cTeste == "" .T. - cTeste = "" Nesse último é ainda pior o caso pois ele afirma que cTeste é = a "" (Nil) Por favor, me reportem qual xharbour estão usando para eu passar para o Culik Vagner Wirts VI Encontro está chegando , não perca id=quote>id=quote>Ah nem me impressiono mais. Mas nem adianta fala nada. Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Quote Link to comment Share on other sites More sharing options...
giovanyvecchi Posted March 20, 2008 Report Share Posted March 20, 2008 Ola Vagner Neste caso ai o compilador entende que voce esta querendo atribuir a variavel cTeste com valor caracter vazio de "" Quando a variavel ja esta preenchida e voce quer verificar e nesta verificação esta nula, em vez de checar o compilador atribui, no clipper não há este problema. Se voce fazer assim: IF cTeste = "" // Será atribuida na variavel cTeste o valor vazio de "" e retornara .T. IF cTeste == "" // Sera retornado o correto pelo compilador que é .F. Isto ja ta assim desde quando comecei em harbour em 2002 Então tomei as seguintes providencias Para atribuir valores a variavel: := Concatenar, Atribuir e nada de checar += Concatenar, Atribuir e somar a ele mesmo -= Concatenar, Atribuir e subtrair a ele mesmo Para checagens: == Verificar os valores apenas != Verificar os valores e inverter o resultado Pra voce ver, se voce usar IF cTeste = "AlgumaCoisa" ai ele faz a verificação em vez de atribuição. Giovany Vecchi - Jales - SP FWH 2.8 /Clipper 5.3b /Blinker 5.0 / Harbour 0.99 / xHarbour 99.71/ Bcc 5.6 / Ads 7.1 /PellesC Editado por - giovanyvecchi on 20/03/2008 08:59:35 Quote Link to comment Share on other sites More sharing options...
LUIS1361303120 Posted March 20, 2008 Report Share Posted March 20, 2008 ENGRACADO ACONTECEU UMA COISA PARECIDA COM USANDO CONDICIONAL,, NAO ME LEMBRO COMO FIZ,, MAS ELE RETORNA UM VALOR QUE NAO EXISTIA,,, EU NAO SEI SE COLOQUEI A VARIAVEL PRINCIPAL DE PESQUISA COM O NOME DE PRIVATE..... Quote Link to comment Share on other sites More sharing options...
kapiaba Posted March 20, 2008 Report Share Posted March 20, 2008 citação:ENGRACADO ACONTECEU UMA COISA PARECIDA COM USANDO CONDICIONAL,, NAO ME LEMBRO COMO FIZ,, MAS ELE RETORNA UM VALOR QUE NAO EXISTIA,,, EU NAO SEI SE COLOQUEI A VARIAVEL PRINCIPAL DE PESQUISA COM O NOME DE PRIVATE..... id=quote>id=quote>ISTO É VERDADE LUIZ, TIPO: IF ISSO # DAQUILO NAO FUNCIONA ENDIF CORRETO DESDE A VERSAO 5.3 DO CLIPPER. IF ISSO != DAQUILO FUNCIONA ENDIF DEPENDE DO LOCAL EM QUE VOCE ESTEJA EM UM PROGRAMA, ISTO OCORRE. MESMA COISA, É COM DO CASE... ENDCASE, DEPENDENDO DE ONDE ESTEJA NO PROGRAMA, O FIVEWIN NÃO OBEDECE, TENDO ENTAO, QUE SE DESVIAR PARA UMA FUNCAO. GIOVANY VECCHI, ESTà ABSOLUTAMENTE CORRETO, IMPLEMENTACOES A PARTIR DA VERSAO 5.3 BY COMPUTER ASSOCIATES, APRENDI ISTO NO CURSO DE CLIPPER QUE FIZ. Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
kapiaba Posted March 20, 2008 Report Share Posted March 20, 2008 Completando como aprendi: http://equipe.nce.ufrj.br/adriano/c/apostila/expres.htm http://equipe.nce.ufrj.br/adriano/c/apostila/expres.htm#relacionais João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
Luiz Arruda (ICO) Posted March 20, 2008 Report Share Posted March 20, 2008 Quer dizer que o Harbour/xHarbour herdaram até os erros e bugs do clipper ?? Luiz Arruda - Corumbá/MS FWH 2.4 - WS - xHB 09950 - xDev ico.corumba@gmail.com Quote Link to comment Share on other sites More sharing options...
vagner Posted March 20, 2008 Author Report Share Posted March 20, 2008 citação:Ola Vagner Neste caso ai o compilador entende que voce esta querendo atribuir a variavel cTeste com valor caracter vazio de "" Quando a variavel ja esta preenchida e voce quer verificar e nesta verificação esta nula, em vez de checar o compilador atribui, no clipper não há este problema. Se voce fazer assim: IF cTeste = "" // Será atribuida na variavel cTeste o valor vazio de "" e retornara .T. IF cTeste == "" // Sera retornado o correto pelo compilador que é .F. Isto ja ta assim desde quando comecei em harbour em 2002 Então tomei as seguintes providencias Para atribuir valores a variavel: := Concatenar, Atribuir e nada de checar += Concatenar, Atribuir e somar a ele mesmo -= Concatenar, Atribuir e subtrair a ele mesmo Para checagens: == Verificar os valores apenas != Verificar os valores e inverter o resultado Pra voce ver, se voce usar IF cTeste = "AlgumaCoisa" ai ele faz a verificação em vez de atribuição. Giovany Vecchi - Jales - SP FWH 2.8 /Clipper 5.3b /Blinker 5.0 / Harbour 0.99 / xHarbour 99.71/ Bcc 5.6 / Ads 7.1 /PellesC Editado por - giovanyvecchi on 20/03/2008 08:59:35 id=quote>id=quote>Olá Giovany, Esse não é o caso , eu nunca uso o = e sim o == para comparação e o := para atribuição, o problema foi constatando qndo em uma rotina mais abaixo, eu atribuo um "" para uma var executo uma função e depois preciso verificar se ela está # de "" para executar outra coisa cDecima := "" Aeval(aItensCompra,{|x| (cDecima := Iif((nPos := Rat(".",x[6])) # 0,Right(x[6],Len(x[6])-(nPos-1)),cDecima)) } ) If cDecima # "" //Acerta Casas Descimais Aeval(aItensCompra,{|x| (x[6] := AllTrim(x[6])+Iif((nPos := Rat(".",x[6])) == 0,Space((Len(cDecima)*2)-1),"")) } ) Endif id=code>id=code>Bom isso acima não funciona ele não passa, ah !, outra coisa a variável em questão pode ser qualquer coisa, não só com ponto ou vÃrgula, testei ontem também Agora o que funcionou, foi o sequinte : If cDecima # Nil -> Funciona, o que é um erro de interpretador, já que "" é Nil . Fica aqui anotado para que ninguém passe por esse problema Outra coisa que funcionou, foi colocar o Set Exact On no inÃcio do programa, mas nem sempre eu posso usar o Set Exact On, e ficar ligando e desligando, é um saco , além de poder esquecer em alguma parte e atrapalhar todo o processo Vagner Wirts VI Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
kapiaba Posted March 20, 2008 Report Share Posted March 20, 2008 citação:Quer dizer que o Harbour/xHarbour herdaram até os erros e bugs do clipper ?? Luiz Arruda - Corumbá/MS FWH 2.4 - WS - xHB 09950 - xDev ico.corumba@gmail.com id=quote>id=quote>QUE ERRO?? ACABEI DE DIZER, QUE GIOVANY VECCHI ESTà ABSOLUTAMENTE CORRETO. O CLIPPER 5.3 BY COMPUTER ASSOCIATES, FOI MUITO MODIFICADO PARA MELHORAR SEU DESEMPENHO E PREPARA-LO PARA O AMBIENTE FOR WINDOWS, Jà ADAPATANDO-SE PARA A API DO WINDOWS. UMA DAS MUDANÇAS, FOI A TROCA DO = PELO :=. # -> OBSOLETO - != PREFERENCIAL. PRIVATE -> OBSOLETO - MEMVAR - PREFERENCIAL. PENA, QUE ELES DESISTIRAM E CRIARAM O VISUAL OBJECTS QUE NÃO DECOLOU. Refiro-me sempre, a VERSÃO 5.3 que foi a que eu aprendi, demais não sei de nada. Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
vagner Posted March 20, 2008 Author Report Share Posted March 20, 2008 citação: citação:Quer dizer que o Harbour/xHarbour herdaram até os erros e bugs do clipper ?? Luiz Arruda - Corumbá/MS FWH 2.4 - WS - xHB 09950 - xDev ico.corumba@gmail.com id=quote>id=quote>QUE ERRO?? ACABEI DE DIZER, QUE GIOVANY VECCHI ESTà ABSOLUTAMENTE CORRETO. O CLIPPER 5.3 BY COMPUTER ASSOCIATES, FOI MUITO MODIFICADO PARA MELHORAR SEU DESEMPENHO E PREPARA-LO PARA O AMBIENTE FOR WINDOWS, Jà ADAPATANDO-SE PARA A API DO WINDOWS. UMA DAS MUDANÇAS, FOI A TROCA DO = PELO :=. # -> OBSOLETO - != PREFERENCIAL. PRIVATE -> OBSOLETO - MEMVAR - PREFERENCIAL. PENA, QUE ELES DESISTIRAM E CRIARAM O VISUAL OBJECTS QUE NÃO DECOLOU. Refiro-me sempre, a VERSÃO 5.3 que foi a que eu aprendi, demais não sei de nada. Abraços. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>Kapi, Não estou falando de # ou !=, leia primeiro , e faça o teste , mesmo com # ou com !=, não compara corretamente , tanto faz usar uma ou outra só não testei com <> que faz muito tempo que não uso isso Porém o # é exatamente igual ao != e ao <>, se é assim para que vou usar um caracter a mais, se faz a mesma coisa , o problema em sà está na comparação de expressão "" e não nos operadores . Pare e pense um pouco Vagner Wirts VI Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted March 20, 2008 Report Share Posted March 20, 2008 Vagnão, beleza?? Uma variável carregada com ="" não é NIL. É igual a SPACE(0) FUNCTION MAIN() PRIVATE WTESTE ? WTESTE // retorna NIL WTESTE="" ? WTESTE // retorna SPACE(0) IF WTESTE=SPACE(0) ? "DEU CERTO" ENDIF RETURN( NIL ) id=code>id=code> Quote Link to comment Share on other sites More sharing options...
vagner Posted March 20, 2008 Author Report Share Posted March 20, 2008 citação:Completando como aprendi: http://equipe.nce.ufrj.br/adriano/c/apostila/expres.htm http://equipe.nce.ufrj.br/adriano/c/apostila/expres.htm#relacionais João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe id=quote>id=quote>Kapi, esse jeito é muito antigo, onde usa-se o = para atribuição, digamos que vc precisa pegar o resultado de uma atribuição, no caso do = não funcionaria Ex.: cTeste = "A" cChave = "B" lOk = cChave = cTeste Fazendo desse jeito vc teria o lOk como "A", pois a ultima var passou seu ponteiro para as demais Agora se vc fizer : cTeste := "A" cChave := "A" lOk := cChave == cTeste Vc vai ter um lOk .F. , isso para mim ajuda muito principalmente não tendo que escrever muito , provavelmente vc faria desse jeito : If cChave == cTeste lOk := .T. Else lOk := .F. Endif id=code>id=code>Veja que vc ocuparia 5 linhas de programação enquanto eu 1 linha . Tá vc pode fazer o seguinte também lOk := Iif(cChave==cTeste,.T.,.F.) id=code>id=code>também daria uma linha, mas estaria chamando uma função que nada mais nada menos, executa o que eu fiz de inÃcio Vagner Wirts VI Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
vagner Posted March 20, 2008 Author Report Share Posted March 20, 2008 citação:Vagnão, beleza?? Uma variável carregada com ="" não é NIL. É igual a SPACE(0) FUNCTION MAIN() PRIVATE WTESTE ? WTESTE // retorna NIL WTESTE="" ? WTESTE // retorna SPACE(0) IF WTESTE=SPACE(0) ? "DEU CERTO" ENDIF RETURN( NIL ) id=code>id=code> id=quote>id=quote>Olá Paulo, Blz ? Bom se Space(0) não é Nil, então porque a Comparação com Nil Funciona ? Vagner Wirts VI Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
LUIS1361303120 Posted March 20, 2008 Report Share Posted March 20, 2008 sera que tirar a opcao de privat, da o mesmo resultado,, ????????? Quote Link to comment Share on other sites More sharing options...
kapiaba Posted March 20, 2008 Report Share Posted March 20, 2008 Para não gerar vucko, vucko, não vou comentar. http://en.wikipedia.org/wiki/Nil Graças à Deus, eu raciocino bem, e programo bem. hehehe. João Santos - São Paulo. kmt_karinha@pop.com.br kapiaba@brfree.com.br Fone: (11) 3106-2832 FWH 2.7 - xHARBOUR 0.99.61 - WorkShop.Exe Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted March 20, 2008 Report Share Posted March 20, 2008 citação:Olá Paulo, Blz ? Bom se Space(0) não é Nil, então porque a Comparação com Nil Funciona ? Vagner Wirts VI Encontro está chegando , não perca id=quote>id=quote>Vagnão, Bom, como tenho pelo menos 7 anos a mais de teimosia que você, lá vai: FUNCTION MAIN() PRIVATE WTESTE ? WTESTE WTESTE="" ? WTESTE IF WTESTE==SPACE(0) ? "E IGUAL A SPACE(0)" ENDIF IF WTESTE==NIL ? "E IGUAL A NIL - O PAULO É UM CABEÇÃO" ELSE ? "NAO E IGUAL A NIL - O VAGNER É UM CABEÇÃO (hehe)" ENDIF RETURN NIL id=code>id=code> Quote Link to comment Share on other sites More sharing options...
giovanyvecchi Posted March 20, 2008 Report Share Posted March 20, 2008 Simples apenas agrupe as funções para que o compilador entenda cTeste := "A" cChave := "A" lOk = (cChave == cTeste) Retorna .T. lOk := {cTeste := "A",cChave := "A",(cTeste==cChave)}[3] Retorna .T. tambem Giovany Vecchi - Jales - SP FWH 2.8 /Clipper 5.3b /Blinker 5.0 / Harbour 0.99 / xHarbour 99.71/ Bcc 5.6 / Ads 7.1 /PellesC Quote Link to comment Share on other sites More sharing options...
vagner Posted March 20, 2008 Author Report Share Posted March 20, 2008 citação:Simples apenas agrupe as funções para que o compilador entenda cTeste := "A" cChave := "A" lOk = (cChave == cTeste) Retorna .T. lOk := {cTeste := "A",cChave := "A",(cTeste==cChave)}[3] Retorna .T. tambem Giovany Vecchi - Jales - SP FWH 2.8 /Clipper 5.3b /Blinker 5.0 / Harbour 0.99 / xHarbour 99.71/ Bcc 5.6 / Ads 7.1 /PellesC id=quote>id=quote>Sim Giovany, Pois vc está comparando com == , como eu havia falado para o Kapiaba Vagner Wirts VI Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
vagner Posted March 20, 2008 Author Report Share Posted March 20, 2008 citação: citação:Olá Paulo, Blz ? Bom se Space(0) não é Nil, então porque a Comparação com Nil Funciona ? Vagner Wirts VI Encontro está chegando , não perca id=quote>id=quote>Vagnão, Bom, como tenho pelo menos 7 anos a mais de teimosia que você, lá vai: FUNCTION MAIN() PRIVATE WTESTE ? WTESTE WTESTE="" ? WTESTE IF WTESTE==SPACE(0) ? "E IGUAL A SPACE(0)" ENDIF IF WTESTE==NIL ? "E IGUAL A NIL - O PAULO É UM CABEÇÃO" ELSE ? "NAO E IGUAL A NIL - O VAGNER É UM CABEÇÃO (hehe)" ENDIF RETURN NIL id=code>id=code> id=quote>id=quote>Paulo, Entenda , acho q vc pegou a mania do Kapi, não estou comparando == e sim # WTESTE="" ? WTESTE IF WTESTE==SPACE(0) ? "E IGUAL A SPACE(0)" ENDIF IF WTESTE # "" ? "E DIFERENTE DE NIL - O VAGNER É UM CABEÇÃO (hehe)" ELSE ? "NAO E DIFERENTE DE NIL - O PAULO É UM CABEÇÃO" ENDIF IF WTESTE # Nil ? "E DIFERENTE DE NIL - O PAULO É UM CABEÇÃO" ELSE ? "NAO E DIFERENTE DE NIL - O VAGNER É UM CABEÇÃO (hehe)" ENDIF id=code>id=code>Vagner Wirts VI Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
pauloaraujo Posted March 20, 2008 Report Share Posted March 20, 2008 citação:Paulo, Entenda , acho q vc pegou a mania do Kapi, não estou comparando == e sim # WTESTE="" ? WTESTE IF WTESTE==SPACE(0) ? "E IGUAL A SPACE(0)" ENDIF IF WTESTE # "" ? "E DIFERENTE DE NIL - O VAGNER É UM CABEÇÃO (hehe)" ELSE ? "NAO E DIFERENTE DE NIL - O PAULO É UM CABEÇÃO" ENDIF IF WTESTE # Nil ? "E DIFERENTE DE NIL - O PAULO É UM CABEÇÃO" ELSE ? "NAO E DIFERENTE DE NIL - O VAGNER É UM CABEÇÃO (hehe)" ENDIF id=code>id=code>Vagner Wirts VI Encontro está chegando , não perca id=quote>id=quote>Veja a tua afirmação: citação: If cDecima # Nil -> Funciona, o que é um erro de interpretador, já que "" é Nil id=red> id=quote>id=quote>Mas Vagner, Não há erro algum de interpretador: cDecima sempre será diferente de NIL, pois ela é igual a "" ( SPACE(0) ) O que estou contestando é a tua afirmação de que "" é igual a NIL. Não é, nem a pau, Juvenal. WTESTE:="" IF WTESTE # Nil ? "É DIFERENTE DE NIL - O VAGNER É UM CABEÇÃO (hehe)" ELSE ? "É IGUAL A NIL - O PAULO É UM CABEÇÃO" ENDIF id=code>id=code> Editado por - pauloaraujo on 20/03/2008 11:16:05 Quote Link to comment Share on other sites More sharing options...
vagner Posted March 20, 2008 Author Report Share Posted March 20, 2008 citação: citação:Paulo, Entenda , acho q vc pegou a mania do Kapi, não estou comparando == e sim # WTESTE="" ? WTESTE IF WTESTE==SPACE(0) ? "E IGUAL A SPACE(0)" ENDIF IF WTESTE # "" ? "E DIFERENTE DE NIL - O VAGNER É UM CABEÇÃO (hehe)" ELSE ? "NAO E DIFERENTE DE NIL - O PAULO É UM CABEÇÃO" ENDIF IF WTESTE # Nil ? "E DIFERENTE DE NIL - O PAULO É UM CABEÇÃO" ELSE ? "NAO E DIFERENTE DE NIL - O VAGNER É UM CABEÇÃO (hehe)" ENDIF id=code>id=code>Vagner Wirts VI Encontro está chegando , não perca id=quote>id=quote>Veja a tua afirmação: citação: If cDecima # Nil -> Funciona, o que é um erro de interpretador, já que "" é Nil id=red> id=quote>id=quote>Mas Vagner, Não há erro algum de interpretador: cDecima sempre será diferente de NIL, pois ela é igual a "" ( SPACE(0) ) O que estou contestando é a tua afirmação de que "" é igual a NIL. Não é, nem a pau, Juvenal. WTESTE:="" IF WTESTE # Nil ? "É DIFERENTE DE NIL - O VAGNER É UM CABEÇÃO (hehe)" ELSE ? "É IGUAL A NIL - O PAULO É UM CABEÇÃO" ENDIF id=code>id=code> Editado por - pauloaraujo on 20/03/2008 11:16:05 id=quote>id=quote>Paulão, Faça esse Teste : cDecima := ".999" d := "" c := "A" d := "B" ? '"" == Nil"',"" == Nil, '"" # Nil',"" # Nil,'"" == ""', "" == "", '"a" # ""',"a" # "", 'c # ""',c # "", 'd # ""',d # "",'cDecima # ""',cDecima # "" id=code>id=code>Só de olhar o C,D e o cDecima # "" teria que retornar .T., pois o C é "A" o D é "B" e o cDecima ".999", certo ?, bom eles retornam todos .F., então presume-se que se diferente é .F. então ele é igual É gente, o único caso que retornou correta a resposta foi colocar !(cDecima=="") Vagner Wirts VI Encontro está chegando , não perca Quote Link to comment Share on other sites More sharing options...
Kbelo Posted March 20, 2008 Report Share Posted March 20, 2008 citação:O que estou contestando é a tua afirmação de que "" é igual a NIL. Não é, nem a pau, Juvenal. id=quote>id=quote>C ta doido é se for isso mesmo vou ter que fazer um recall dos meus sistemas tudo. Não, não. Eh tudo como o vagner ta falando, pelo menos deveria senão to ferrado. Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Editado por - kbelo on 20/03/2008 13:10:46 Quote Link to comment Share on other sites More sharing options...
Kbelo Posted March 20, 2008 Report Share Posted March 20, 2008 Ah uma coisa paulo vc nao esta confundindo com SQL nao??? no sql sim space(0) é diferente de null. Mas com xh acho que nao. Marcelo Michels marcelo@infototal.com.br celo.michels@hotmail.com xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate. Quote Link to comment Share on other sites More sharing options...
giovanyvecchi Posted March 20, 2008 Report Share Posted March 20, 2008 Quando a variavel for Nil Valtype(cTeste) // U Quando a variavel for caracter mesmo se for "" Valtype(cTeste) // C Giovany Vecchi - Jales - SP FWH 2.8 /Clipper 5.3b /Blinker 5.0 / Harbour 0.99 / xHarbour 99.71/ Bcc 5.6 / Ads 7.1 /PellesC Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.