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:

Server Freeze (1998) Semi-OT SSL IE problem (2005) color and size options / ARCHIVES (1997) problems with 2 tags shakur (1997) Email...Thanks (1997) Round UP to nearest 100 (2007) WC2.0 Memory Requirements (1997) Logging purchases (1997) Permissions Ignored - PLEASE HELP (2003) Which is Faster (1998) system crashes, event log (1997) Feedback on new features (2000) Search Folder? (1998) passing info to thankyou.tpl (1998) no global [username] or [password] displayed ... (1997) HMAC-MD5 hash -- what the... (2003) Mac: [ListFiles] bug alert (1997) WebCatalog2 Feature Feedback (1996) Variables for chat (1997) sandboxes with 6.0 (2004)