BUG in [showif] using ^ (contains)
This WebDNA talk-list message is from 1997
It keeps the original formatting.
numero = 11705
interpreted = N
texte = I seen to have found a bug in the [showif] context when using ^ (contains)as the operator ... and when both sides of the operator are numbers. Idon't really want to call it a bug, because maybe it's just something thatfailed to get included in the html docs, but it's a problem nevertheless.The docs say that when using these operators in a showif context:= < >... and when both sides of the showif comparison happen to be numeric, theshowif will evaluate both sides as numbers. However, the docs say nothingabout this happening when the operator is ^ (contains) - and it DOES HAPPEN... which causes an unexpected problem that everyone should be aware of ...When using the ^ operator in a showif or hideif context and both sides ofthe comparison are number, the showif is effectively ignored - as if younever put it there in the first place. It makes no difference what thenumbers are - the showif is ignored whether the numbers are the same orcompletely different.The work-around is to make sure the left side does NOT look like a numberto WebCat2. To make it look like a regular string of text instead of anumber, you can simply add a letter to the left side (not the right side)of the showif comparison like I've done below.In other words, instead of using the first technique which does NOT work:[showif [publicationID]^[sku]]... use the following example which works just fine:[showif z[publicationID]^[sku]]See? I placed a letter 'z' immediately in front of the left side of theequation. I would imagine that the following would also work the same way:[showif [publicationID]z^[sku]]... because in either case, all you're doing is making sure WebCat knowsthat the left side of the equation is NOT a number. Apparently that's allit takes to fix this problem.Since I cannot imagine any situation where my work-around technique willdo the 'wrong' thing, I highly recommend that you do this whenever youhappen to be comparing two values using the ^ (contains) operator.Please note, I'm recommending that you do this ONLY when using the ^operator - not when using any other operators. And don't try using a numberinstead of a letter because that won't fix a thing ... :)Sincerely, Ken Grome ..... ken@iav.comhttp://usarea.net/home.html
Associated Messages, from the most recent to the oldest:
I seen to have found a bug in the
[showif] context when using ^ (contains)as the operator ... and when both sides of the operator are numbers. Idon't really want to call it a bug, because maybe it's just something thatfailed to get included in the html docs, but it's a problem nevertheless.The docs say that when using these operators in a showif context:= < >... and when both sides of the showif comparison happen to be numeric, theshowif will evaluate both sides as numbers. However, the docs say nothingabout this happening when the operator is ^ (contains) - and it DOES HAPPEN... which causes an unexpected problem that everyone should be aware of ...When using the ^ operator in a showif or hideif context and both sides ofthe comparison are number, the showif is effectively ignored - as if younever put it there in the first place. It makes no difference what thenumbers are - the showif is ignored whether the numbers are the same orcompletely different.The work-around is to make sure the left side does NOT look like a numberto WebCat2. To make it look like a regular string of text instead of anumber, you can simply add a letter to the left side (not the right side)of the showif comparison like I've done below.In other words, instead of using the first technique which does NOT work:[showif [publicationID]^[sku]]... use the following example which works just fine:[showif z[publicationID]^[sku]]See? I placed a letter 'z' immediately in front of the left side of theequation. I would imagine that the following would also work the same way:[showif [publicationID]z^[sku]]... because in either case, all you're doing is making sure WebCat knowsthat the left side of the equation is NOT a number. Apparently that's allit takes to fix this problem.Since I cannot imagine any situation where my work-around technique willdo the 'wrong' thing, I highly recommend that you do this whenever youhappen to be comparing two values using the ^ (contains) operator.Please note, I'm recommending that you do this ONLY when using the ^operator - not when using any other operators. And don't try using a numberinstead of a letter because that won't fix a thing ... :)Sincerely, Ken Grome ..... ken@iav.comhttp://usarea.net/home.html
Kenneth Grome
DOWNLOAD WEBDNA NOW!
Top Articles:
Talk List
The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...
Related Readings:
Help name our technology! (1997)
bug in [SendMail] (1997)
Setting up the server (1997)
Email Formatting (1998)
Variables not being passed *back* (2000)
CVS Files for databases (2000)
[WebDNA] [WebDNA] WebDNA Host being retired (2014)
SPAM (OT) (2004)
a little OT (2001)
question: webmerchant connection (1997)
Possible Bug in 2.0b15.acgi (1997)
A little syntax help (1997)
Triggers and today's leap day? (2000)
problems with 2 tags shakur (1997)
Kaaaaahhhhhhhnnnnnnn! (1997)
[group] ? (1997)
[/application] error? (1997)
WCS Newbie question (1997)
logic help (1998)
Format question WC Mac f3 (1997)