Jump to content
Fivewin Brasil

xHarbour Com Pau


vagner

Recommended Posts

citação:

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


id=quote>id=quote>

Marcelo,

Acho que você não foi muito claro. O Vagner está dizendo que "" = NIL. Eu estou dizendo que é diferente.

Se você achar que o Vagner está certo, pode iniciar o recall.

Para começar, nem do mesmo tipo essas variáveis são.

Você costuma comparar IF 999 == "ANIMAL" ???? É a mesma coisa.

A única necessidade de checar se uma váriavel é NIL, é para ver se ela foi somente declarada e não inicializada.


FUNCTION MAIN()

PRIVATE WTESTE

WTESTE:=NIL

? VALTYPE(WTESTE) // retornará U (indefinido)

WTESTE="" // retornará C (caracter)

? VALTYPE(WTESTE)

RETURN( NIL )

id=code>id=code>

assinatpaulo.jpg

Link to comment
Share on other sites

citação:

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


id=quote>id=quote>

Boa, Giovany

Estava digitando quando você postou.

Um abraço

assinatpaulo.jpg

Link to comment
Share on other sites

citação:

citação:

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


id=quote>id=quote>

Marcelo,

Acho que você não foi muito claro. O Vagner está dizendo que "" = NIL. Eu estou dizendo que é diferente.

Se você achar que o Vagner está certo, pode iniciar o recall.

Para começar, nem do mesmo tipo essas variáveis são.

Você costuma comparar IF 999 == "ANIMAL" ???? É a mesma coisa.

A única necessidade de checar se uma váriavel é NIL, é para ver se ela foi somente declarada e não inicializada.


FUNCTION MAIN()

PRIVATE WTESTE

WTESTE:=NIL

? VALTYPE(WTESTE) // retornará U (indefinido)

WTESTE="" // retornará C (caracter)

? VALTYPE(WTESTE)

RETURN( NIL )

id=code>id=code>

assinatpaulo.jpg


id=quote>id=quote>

Puts quase me borrei tudo agora.

Bom eu ate uso em alguns lugares isso mas na comparação faço

IF !EMPTY(VARIAVEL)

Marcelo Michels

marcelo@infototal.com.br

celo.michels@hotmail.com

xHarbour 1.1 + Fwh 8.01 + WorkShop + Bcc 5.82 + WvwTools + SQLRDD + xMate.

Link to comment
Share on other sites

citação:

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


id=quote>id=quote>

ESTE MULEKE, É INFERNAL!! GENTE INTELIGENTE, É OUTRA COISA! SÓ FALTA ELE SER CORINTHIANO, AI, EU MORRO DE ALEGRIA! kkkk.

EU VOU PRA GALERA...

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

Link to comment
Share on other sites

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 icon_smile_big.gif

Se alguém puder testar, pode ser no xharbour puro ou com fw icon_smile_big.gif

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 icon_smile_big.gif

,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 icon_smile_wink.gif

Vagner Wirts

VI Encontro está chegando icon_smile_big.gif, não perca icon_smile_big.gif


id=quote>id=quote>

Não é problema na linguagem, consultem:

xharbour\xdiff.txt

? 'A' + 1 // 'B' Isso até acho aceitável

? 1 = 'X' // .F. Mas isso, acho um exagêro, descaracteriza a origem Clipper, além de mascarar erros em sistemas antigos.

assinatura3.jpg

Link to comment
Share on other sites

só pra constar...

"" não é nil

feliz Pascoa para todos!...

[]s..

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Porto Alegre - RS

siscatsoftware@hotmail.com

SigLCS Sistema Integrado de Gestão

App Siscat Serverid=green>

FWH for xHarbour + SQL + SQLRDD + xDevStudio

Link to comment
Share on other sites

citação:

só pra constar...

"" não é nil

feliz Pascoa para todos!...

[]s..

Marllon Figueiredo

Analista de Sistemas ERP/CRM

Porto Alegre - RS

siscatsoftware@hotmail.com

SigLCS Sistema Integrado de Gestão

App Siscat Server

id=green>

FWH for xHarbour + SQL + SQLRDD + xDevStudio


id=quote>id=quote>

Marllon, tudo bem??

Acontece o seguinte, o Vagner ficou com muito medo dos 2 pinguelos (""), porque, da próxima vez, virão gêmeos (hehe).

Além da pérola ""=NIL, ele ficou tão fixado nisso (""), que só fez testes somente com eles e não percebe que:

SET EXACT OFF

? "abc" # "a" // retornará .F.

SET EXACT ON

? "abc" # "a" // retornará .T.

Se não me engano, com o SEEK ocorre a mesma coisa.

Feliz Pascoa para você também.

assinatpaulo.jpg

Link to comment
Share on other sites

citação:

nunca vou comparar usando "" sempre

uso empty() pra saber se existe qquer

atribuição de valor dentro da variavel

ou campo. pois "" ou nil realmente

dá diferença.. sempre soube disto,

entao melhor ir para o mais pratiko

vitor

s.b.c.


id=quote>id=quote>

Putz!! Não tinha visto, ´tirou´ o Vagner Wirts de boa??

Taiz evoluindo em muleke?? Parabéns, absolutamente correto.

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

Link to comment
Share on other sites

Uma observação interessante.

No clipper e versões anteriores do xHarbour SET EXACT por default era definida como .T.

SET EXACT ON

Não sei em qual versão do xHarbour algum cabeção resolveu mudar o valor default de SET EXACT para .F.

SET EXACT OFF

O SET EXACT afeta diretamente o resultado de comparações feitas com "=" o mesmo não acontece usando "==" (que significa exatamente igual)

se testar "Amor" = "Amo" e SET EXACT estiver OFF retorna .T.

testando "Amor" = "Amo" e SET EXACT estiver ON retorna .F.

porém, independente de SET EXACT ON ou OFF o teste:

"Amor" == "Amo" sempre retornará .F.

Pois usamos "==" (exatamente igual)

Refaça o programinha da seguinte maneira:

cTeste := ",QualquerCoisa"

? cTeste,cTeste # "",cTeste != "",cTeste == "",cTeste = ""

cTeste := ".QualquerCoisa"

? cTeste,cTeste # "",cTeste != "",cTeste == "",cTeste = ""

Retornará

,QualquerCoisa

.F.

.F.

.F.

.T.

depois:

.QualquerCoisa

.F.

.F.

.F.

.T.

Agora acrescentando a linha SET EXACT ON:

SET EXACT ON

cTeste := ",QualquerCoisa"

? cTeste,cTeste # "",cTeste != "",cTeste == "",cTeste = ""

cTeste := ".QualquerCoisa"

? cTeste,cTeste # "",cTeste != "",cTeste == "",cTeste = ""

Retornará

,QualquerCoisa

.T.

.T.

.F.

.F.

depois:

.QualquerCoisa

.T.

.T.

.F.

.F.

Que é supostamente o correto.

Em resumo:

SET EXACT ON no início do programa encerra esta discusão e faz com que o "==" e "=" se comportem da forma habitual.

Abraços.

Shark - FWH 8.01 / xharbour 1.1.0 / xMate 1.15 / Resource WorkShop

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...