Re: [WebDNA] How to use [function]

This WebDNA talk-list message is from

2012


It keeps the original formatting.
numero = 108659
interpreted = N
texte = Lawrence I tend to use functions where I have a complicated bit of logic (either = within or without a search context), more often when I would prefer no = white space in between lines you can do it like this [hideif [myVar]=3D1][!] [/!][text]myNewVar=3D100[/text][!] [/!][/hideif] is the same as this [function name=3DgenerateNewVar] [hideif [myVar]=3D1] [text scope=3Dglobal]myNewVar=3D100[/text] [/hideif] [return][/return] [/function][generateNewVar] I find the 2nd one easier to read. It is especially handy when generating XML, I find. Alternatively I would use it for text translation - [translateMyText = textToTranslate=3D[myDateVar]&language=3Dfrench] - and MySQL functions - = somehow it's easier to print out [findMyRecords myVar=3D1] than do all = the steps necessary for=20 Normally a repeated bit of logic where the output is always in the same = format, but small input elements change is where I would use it most. In = the example you have given, I would almost always write this as inline = code. If, however, you wanted to have a find function that always = printed the results out in the same manner, you could do the following: [function name=3DgetResults] [search db=3D[whichDb].db&&neSKUdata=3D[blank]] [founditems] [return]
[SKU]-[name]
[/return] [/founditems] [showif [numfound]=3D0] [return]Nothing to see here[/return] [/showif] [/search] [/function] and on your page
[getResults whichDb=3DmyDb]
and again somewhere else
[getResults whichDb=3DanotherDb]
Hope this helps.... TC > Toby,=20 > I'm trying to understand in which case I should use the [function] or = not. > Your example is clear, It looks like it would be nice to have all the = webdna code in separate files, and have only the result called in the = page, that would make page codes clear. > for the break/stop the documentation says : > "'The [return] context does NOT 'break out' of a function call, so it = is possible to use one or more [return] contexts to 'tailor' the = functions output. " >=20 > Kenneth,=20 > how would you use an array with this kind of search function? >=20 > Thanks > Lawrence Associated Messages, from the most recent to the oldest:

    
  1. Re: [WebDNA] How to use [function] (Govinda 2012)
  2. Re: [WebDNA] How to use [function] (Donovan Brooke 2012)
  3. Re: [WebDNA] How to use [function] (Banahan 2012)
  4. Re: [WebDNA] How to use [function] (Toby Cox 2012)
  5. Re: [WebDNA] How to use [function] (WebDNA Solutions 2012)
  6. Re: [WebDNA] How to use [function] (Toby Cox 2012)
  7. Re: [WebDNA] How to use [function] (WebDNA Solutions 2012)
  8. Re: [WebDNA] How to use [function] (Banahan 2012)
  9. Re: [WebDNA] How to use [function] (Toby Cox 2012)
  10. Re: [WebDNA] How to use [function] (WebDNA Solutions 2012)
  11. Re: [WebDNA] How to use [function] (Banahan 2012)
  12. Re: [WebDNA] How to use [function] (WebDNA Solutions 2012)
  13. [WebDNA] How to use [function] (Banahan 2012)
Lawrence I tend to use functions where I have a complicated bit of logic (either = within or without a search context), more often when I would prefer no = white space in between lines you can do it like this [hideif [myVar]=3D1][!] [/!][text]myNewVar=3D100[/text][!] [/!][/hideif] is the same as this [function name=3DgenerateNewVar] [hideif [myVar]=3D1] [text scope=3Dglobal]myNewVar=3D100[/text] [/hideif] [return][/return] [/function][generateNewVar] I find the 2nd one easier to read. It is especially handy when generating XML, I find. Alternatively I would use it for text translation - [translateMyText = textToTranslate=3D[myDateVar]&language=3Dfrench] - and MySQL functions - = somehow it's easier to print out [findMyRecords myVar=3D1] than do all = the steps necessary for=20 Normally a repeated bit of logic where the output is always in the same = format, but small input elements change is where I would use it most. In = the example you have given, I would almost always write this as inline = code. If, however, you wanted to have a find function that always = printed the results out in the same manner, you could do the following: [function name=3DgetResults] [search db=3D[whichDb].db&&neSKUdata=3D[blank]] [founditems] [return]
[SKU]-[name]
[/return] [/founditems] [showif [numfound]=3D0] [return]Nothing to see here[/return] [/showif] [/search] [/function] and on your page
[getResults whichDb=3DmyDb]
and again somewhere else
[getResults whichDb=3DanotherDb]
Hope this helps.... TC > Toby,=20 > I'm trying to understand in which case I should use the [function] or = not. > Your example is clear, It looks like it would be nice to have all the = webdna code in separate files, and have only the result called in the = page, that would make page codes clear. > for the break/stop the documentation says : > "'The [return] context does NOT 'break out' of a function call, so it = is possible to use one or more [return] contexts to 'tailor' the = functions output. " >=20 > Kenneth,=20 > how would you use an array with this kind of search function? >=20 > Thanks > Lawrence Toby Cox

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:

America Online Issues (1998) Error: Missing c in orderfile???? (2005) Help name our technology! (1997) [append] problem (1997) Live server problems (1999) webmerch and serials - almost there (1997) WebCat2b13MacPlugIn - [shownext method=post] ??? (1997) [WriteFile] problems (1997) Multiple prices (1997) can WC render sites out? (1997) [WebDNA] RETS Import (2010) Talk List Suggestions (1997) [WriteFile] problems (1997) [sendmail] on NT? (1997) Setting up WebCatalog with Retail Pro data (1996) code under a [purchase] tag executed when already an Order? (2000) possible, WebCat2.0 and checkboxes-restated (1997) Re:trouble (1997) Great product and great job ! (1997) Linebreaks and [writefile] (2003)