Coercion of a list of items to a list of variables

46 views
Skip to first unread message

andre.tremblay

unread,
Mar 17, 2021, 5:31:14 PM3/17/21
to SuperCard Discussion
I wonder if there is a way with SuperCard, maybe I missed it in the user's manual, to coerce a list of items to a list of variables?

I have in mind the example of copy in AppleScript which has the general form of:

copy {list of four items} to {variable_1, variable_2, variable_3, variable_4}

Regards,

André


Joe Koomen

unread,
Mar 17, 2021, 5:57:12 PM3/17/21
to superca...@googlegroups.com

Enumeration is great if you need sequential numbers in your variables.

 

Joe

--
You received this message because you are subscribed to the Google Groups "SuperCard Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to supercard-tal...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/supercard-talk/c8d46913-7cb9-4356-831c-61c22270adacn%40googlegroups.com.

MARK LUCAS

unread,
Mar 17, 2021, 6:42:52 PM3/17/21
to superca...@googlegroups.com
There's no built-in command for doing this, but you can roll your own equivalent using 'by reference' parameters:

on mouseUp
  local s1, s2, s3, s4
  splat "Moe,Larry,Curly,Shemp,Curly Joe", @s1, @s2, @s3, @s4
  answer s1 & cr & s2 & cr & s3 & cr &s4
end mouseUp

on splat inList
  local i = 2, n = paramCount()
  repeat for each item anItem of inList
    if i > n then exit script
    put anItem into param(i)
    add 1 to i
  end repeat
end splat

HTH,
-Mark

Jean-Guy Daoust

unread,
Mar 17, 2021, 11:55:00 PM3/17/21
to SuperCard Group
Would it be possible for the content of a variable instead of a quoted string to be stocked in s1, s2, s3? And could the content of that variable be a complete text with CR and tabs?

Jean-Guy Daoust

MARK LUCAS

unread,
Mar 18, 2021, 1:07:26 AM3/18/21
to superca...@googlegroups.com
You can definitely pass that routine a variable instead of a quoted string, and you can also then parse it however you like at the receiving end before you stuff the resulting bits into 'by reference' parameters.

What exactly are you trying to do?

-Mark

Jean-Guy Daoust

unread,
Mar 18, 2021, 12:16:55 PM3/18/21
to SuperCard Group


My script would need to load some template files and put them each in a variable. The script will later put some data into these templates. I cannot create those variables in advance in the script itself, because I do not know in advance how many of them I will need.  (Part of a genealogy project; the number of templates to load depends on the lineage chosen).

Jean-Guy Daoust

--
You received this message because you are subscribed to the Google Groups "SuperCard Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to supercard-tal...@googlegroups.com.
Message has been deleted

andre.tremblay

unread,
Mar 18, 2021, 12:36:48 PM3/18/21
to SuperCard Discussion

| but you can roll your own equivalent using 'by reference' parameters:

I should have scratched my head a little more regarding the 'by reference' parameters! 

I have adapted and tested your example for my immediate need, which is the result of a long spaghetti function that returns a RETURN and COMMA list of datas.

For the benefit of SC users, here is a practical application. The instructions:

1- Declare the list of variables in your script, local or global.

2- Insert the coertion command and elaborate your list of variables

3- The first parameter being the list you want to elaborate 

4- Elaboration your list of variables in the same order as returned list of datas and add the @ as a prefix for each of them. 

5- The last [Optional] one being a different item delimiter than the default item delimiter. 

The sample command below has a maximum capacity of twelve variables, the actual count may be less. 

------ (Sorry I can't get the coloured formatting to work, copy and paste in your editor)

on mouseUp

  local LaListe,P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12

  put ListOfPastas() into LaListe

  CoerParams LaListe,@P01,@P02,@P03,@P04,@P05,@P06,@P07,@P08,@P09,@P10,@P11,@P12,CR

  -- For demonstration of the resulting coertion in the variables

  -- TRACE -- To view to content of each variables in the ScriptEditor window

  answer P01&cr&P02&cr&P03&cr&P04&cr&P05&cr&P06&cr&P07&cr&P08&cr&P09&cr&P10&cr&P11&cr&P12

end mouseUp


on CoerParams ListeParametres

  -- CoerParams ListeParametres -- Mark Lucas 2021

  local X=2,NbrItems=ParamCount()

  put TAB&&CR&&COMMA into ListeSeparateurs

  put the itemDelimiter into SCtid

  if ListeSeparateurs contains param(NbrItems) then set the itemDelimiter to param(NbrItems)

  repeat for each item LaVariable of ListeParametres

    if X > NbrItems then exit script

    put LaVariable into param(X)

    add 1 to X

  end repeat

  set the itemDelimiter to SCtid

end CoerParams


function ListOfPastas -- A test result of a CR and COMMA list

  return "Fettuccine "&COMMA&"Ribbon of pasta approximately 6.5 millimeters wide. Larger and thicker than tagliatelle "&CR&"Fileja "&COMMA&"Elongated screw "&CR&"Linguine "&COMMA&"Flattened spaghetti or Little tongues "&CR&"Lagane "&COMMA&"Wide pasta square or rectangle sheets of pasta that sometimes have fluted edges "&CR&"Lasagnette "&COMMA&"Narrower version of Lasagna or Little lasagna "&CR&"Lasagnotte "&COMMA&"Longer version of Lasaga or Bigger lasagna "&CR&"Maccheroncini di Campofilone "&COMMA&"Thin strands of egg-based pasta. Similar to Capelli d'angelo "&CR&"Mafalde "&COMMA&"Long rectangular ribbons with ruffled sides. "&COMMA&"Named in honor of Princess Mafalda of Savoy "&CR&"Matriciani "&COMMA&"Similar to perciatelli, but folded over rather than hollowed out "&CR&"Pappardelle "&COMMA&"Thick flat ribbons[29] of egg-based dough "&COMMA&"From Tuscan papparsi: to pig out"&CR&"Perciatelli "&COMMA&"From perciare :to hollow"

end ListOfPastas

MARK LUCAS

unread,
Mar 18, 2021, 2:56:44 PM3/18/21
to superca...@googlegroups.com
For posterity, you don't actually need to save and restore the itemDel in that function (unless you've set the localDelimiters to false), or to copy the output of your ListOfPastas function to an intermediate variable.

To grab the colorization (assuming it's turned on) use the Copy With Indent option (in SC the shortcut for that is Command-Shift-C).

Also (just for the sake of a sexier-looking example ;-) in the current release if you switch the secondary delimiter from comma to tab you can use ask list ... style to gussy up that output a bit.

on mouseUp
  local P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12
  CoerParams ListOfPastas(),@P01,@P02,@P03,@P04,@P05,@P06,@P07,@P08,@P09,@P10,@P11,@P12,CR
  ask list P01&CR&P02&CR&P03&CR&P04&CR&P05&CR&P06&CR&P07&CR&P08&CR&P09&CR&P10&CR&P11&CR&P12 style "width=-1,-1" & cr "greenBar=1:246" & cr & "cellHeight=24"
end mouseUp

on CoerParams ListeParametres
  local X = 2, NbrItems = ParamCount(), ListeSeparateurs = TAB & CR & COMMA, delimiterChar = param(NbrItems)
  if ListeSeparateurs contains delimiterChar then set the itemDelimiter to delimiterChar
  repeat for each item LaVariable of ListeParametres
    if X > NbrItems then exit script
    put LaVariable into param(X)
    add 1 to X
  end repeat
end CoerParams

function ListOfPastas -- A test result of a CR and TAB list
  return "Fettuccine" & TAB & "Ribbon of pasta approximately 6.5 millimeters wide. Larger and thicker than tagliatelle" & ¬
    CR & "Fileja" & TAB & "Elongated screw" & ¬
    CR & "Linguine" & TAB & "Flattened spaghetti or Little tongues" & ¬
    CR & "Lagane" & TAB & "Wide pasta square or rectangle sheets of pasta that sometimes have fluted edges" & ¬
    CR & "Lasagnette" & TAB & "Narrower version of Lasagna or Little lasagna" & ¬
    CR & "Lasagnotte" & TAB & "Longer version of Lasaga or Bigger lasagna" & ¬
    CR & "Maccheroncini di Campofilone" & TAB & "Thin strands of egg-based pasta. Similar to Capelli d'angelo" & ¬
    CR & "Mafalde" & TAB & "Long rectangular ribbons with ruffled sides. " & TAB & "Named in honor of Princess Mafalda of Savoy" & ¬
    CR & "Matriciani" & TAB & "Similar to perciatelli, but folded over rather than hollowed out" & ¬
    CR & "Pappardelle" & TAB & "Thick flat ribbons[29] of egg-based dough " & TAB & "From Tuscan papparsi: to pig out" & ¬
    CR & "Perciatelli" & TAB & "From perciare :to hollow"
end ListOfPastas

HTH,
-Mark

andre.tremblay

unread,
Mar 18, 2021, 3:27:57 PM3/18/21
to SuperCard Discussion
Hello Mark, 

Thank you so much for the corrections and improvments!
For posterity, you don't actually need to save and restore the itemDel in that function (unless you've set the localDelimiters to false), or to copy the output of your ListOfPastas function to an intermediate variable.

Yes! It was just a bit of extra safety by motivated by laziness!
 
To grab the colorization (assuming it's turned on) use the Copy With Indent option (in SC the shortcut for that is Command-Shift-C).

Well yes! That part works fine! But suddenly in the Google Group interface I can't get colours when I paste the script, nor can I edit the post after publication? I am probably missing something, it used to work!
 
Also (just for the sake of a sexier-looking example ;-) in the current release if you switch the secondary delimiter from comma to tab you can use ask list ... style to gussy up that output a bit.

Thank's for improving the visual, I am really a beginner regarding SC visual interface!

All in all, this command will be extremely useful to clean-up the clutter in long scripts when BigSphagetti's functions are called. I hope the explanations are clear enough! I have just implemented it and it is a wonder to create or refresh a bunch of variables in ONE line. 

Many thanks

André

  

MARK LUCAS

unread,
Mar 18, 2021, 3:46:46 PM3/18/21
to superca...@googlegroups.com
Ah, I get it now…

Yes that stuff used to work (albeit somewhat unreliably) but stopped at some point last year following an update to the Groups UI, which is why I usually respond now via email.

I guess someone decided all that complex HTML markup code was using up too much space on their servers. :-(

-Mark

MARK LUCAS

unread,
Mar 18, 2021, 9:53:45 PM3/18/21
to superca...@googlegroups.com
Sorry, I missed your reply…

Basically to populate variables passed by reference, they must already exist. They don't actually need to be declared though, instantiating them via put statements works too.

If you can post a more specific example (script-wise) of what you're trying to do I might be able to offer more guidance.

-Mark

André Tremblay

unread,
Mar 18, 2021, 10:42:48 PM3/18/21
to 'MARK LUCAS' via SuperCard Discussion
On testing the previous CoerParams command, I am learning that this logical statement, will always return TRUE:

"Anything" contains EMPTY

In the case that the last parameter passed is EMPTY, the global delimiterChar = param(NbrItems) will be EMPTY, trying to set the itemDelimiter to delimiterChar to EMPTY will provoke a SuperCar error. 

Maybe there is a better solutions, meanwhile for safety, I have added and tested an extra condition for this occurence: 

on mouseUp
  local P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12
  CoerParams ListOfPastas(),@P01,@P02,@P03,@P04,@P05,@P06,@P07,@P08,@P09,@P10,@P11,@P12,CR
  ask list P01&CR&P02&CR&P03&CR&P04&CR&P05&CR&P06&CR&P07&CR&P08&CR&P09&CR&P10&CR&P11&CR&P12 style "width=-1,-1" & cr & "greenBar=1:250" & cr & "cellHeight=24"
end mouseUp

on CoerParams ListeParametres
  local X = 2, NbrItems = ParamCount(), ListeSeparateurs = TAB & CR & COMMA, delimiterChar = param(NbrItems)
  if delimiterChar is not EMPTY then if ListeSeparateurs contains delimiterChar then set the itemDelimiter to delimiterChar
  repeat for each item LaVariable of ListeParametres
    if X > NbrItems then exit script
    put LaVariable into param(X)
    add 1 to X
  end repeat
end CoerParams

function ListOfPastas -- A test result of a CR and TAB list
  return "Fettuccine" & TAB & "Ribbon of pasta approximately 6.5 millimeters wide. Larger and thicker than tagliatelle" & ¬
    CR & "Fileja" & TAB & "Elongated screw" & ¬
    CR & "Linguine" & TAB & "Flattened spaghetti or Little tongues" & ¬
    CR & "Lagane" & TAB & "Wide pasta square or rectangle sheets of pasta that sometimes have fluted edges" & ¬
    CR & "Lasagnette" & TAB & "Narrower version of Lasagna or Little lasagna" & ¬
    CR & "Lasagnotte" & TAB & "Longer version of Lasaga or Bigger lasagna" & ¬
    CR & "Maccheroncini di Campofilone" & TAB & "Thin strands of egg-based pasta. Similar to Capelli d'angelo" & ¬
    CR & "Mafalde" & TAB & "Long rectangular ribbons with ruffled sides. " & TAB & "Named in honor of Princess Mafalda of Savoy" & ¬
    CR & "Matriciani" & TAB & "Similar to perciatelli, but folded over rather than hollowed out" & ¬
    CR & "Pappardelle" & TAB & "Thick flat ribbons of egg-based dough " & TAB & "From Tuscan papparsi: to pig out" & ¬
    CR & "Perciatelli" & TAB & "From perciare: to hollow"
end ListOfPastas

I am implementing this command in existing scripts and it is greatly useful. 

Practically, for example, you need to declare a group of less than twelve variables in your script and insert the CoerParams command and append the '@' before the name of the variable:

on Test
  local variable01,variable02,variable03
  -- Populate the variable LisOfParameter
  CoerParams LisOfParameter, @variable01, @variable02, @variable03
  -- The variables <variable01,variable02,variable03> will be updated 
end Test

Also, I notice that if a variable is already populated, it will not be erased by an empty parameters. 

Regards

André

Jean-Guy Daoust

unread,
Mar 19, 2021, 11:41:59 AM3/19/21
to SuperCard Group
Oups! Don't bother! While explaining for you what I wanted to do, it striked me that there is a much simpler way to achieve my goal than the one I had thought of when reading your script. Classic! It's very often while explaining a problem to someone else, that you fully understand it and find the solution! It happened again! Sorry I stole a bit of your time uselessly…

Jean-Guy Daoust

--
You received this message because you are subscribed to the Google Groups "SuperCard Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to supercard-tal...@googlegroups.com.

MARK LUCAS

unread,
Mar 19, 2021, 3:47:53 PM3/19/21
to superca...@googlegroups.com
That's not what my testing here seems to indicate.

Can you post a sample script demonstrating this behavior?

Thanks,
-Mark

André Tremblay

unread,
Mar 22, 2021, 11:03:10 AM3/22/21
to 'MARK LUCAS' via SuperCard Discussion
Hello Mark,


That's not what my testing here seems to indicate.

Can you post a sample script demonstrating this behavior?

I stand corrected, it seems my observation was based on a missing parameters and not for an empty one!

André

----------

Here is my demonstration:

on mouseUp
  Test01 -- Shows empty lines as parameters
  Test02 -- Shows a missing last item as parameters
end mouseUp

on Test01
  local P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12
  CoerParams ListOfPastas01(),@P01,@P02,@P03,@P04,@P05,@P06,@P07,@P08,@P09,@P10,@P11,@P12,CR
  ask list P01&CR&P02&CR&P03&CR&P04&CR&P05&CR&P06&CR&P07&CR&P08&CR&P09&CR&P10&CR&P11&CR&P12 style "width=-1,-1" & cr & "greenBar=1:250" & cr & "cellHeight=24"
  CoerParams ListOfPastas02(),@P01,@P02,@P03,@P04,@P05,@P06,@P07,@P08,@P09,@P10,@P11,@P12,CR
  ask list P01&CR&P02&CR&P03&CR&P04&CR&P05&CR&P06&CR&P07&CR&P08&CR&P09&CR&P10&CR&P11&CR&P12 style "width=-1,-1" & cr & "greenBar=1:250" & cr & "cellHeight=24"
end Test01

on Test02
  local variable01,variable02,variable03,variable04
  -- Populate the list of variables
  CoerParams MarxBros(),@variable01,@variable02,@variable03,@variable04
  -- The variables <variable01,variable02,variable03,variable04> are updated 
  ask list variable01&CR&variable02&CR&variable03&CR&variable04 style "width=-1,-1" & cr & "greenBar=1:250" & cr & "cellHeight=24"
  CoerParams MarxFilms(),@variable01,@variable02,@variable03,@variable04
  ask list variable01&CR&variable02&CR&variable03&CR&variable04 style "width=-1,-1" & cr & "greenBar=1:250" & cr & "cellHeight=24"
end Test02

on CoerParams ListeParametres
  local X = 2, NbrItems = ParamCount(), ListeSeparateurs = TAB & CR & COMMA, delimiterChar = param(NbrItems)
  if delimiterChar is not EMPTY then if ListeSeparateurs contains delimiterChar then set the itemDelimiter to delimiterChar
  repeat for each item LaVariable of ListeParametres
    if X > NbrItems then exit script
    put LaVariable into param(X)
    add 1 to X
  end repeat
end CoerParams

function ListOfPastas01 -- A test funciton for a CR and TAB list
  return "Fettuccine" & TAB & "Ribbon of pasta approximately 6.5 millimeters wide. Larger and thicker than tagliatelle" & ¬
    CR & "Fileja" & TAB & "Elongated screw" & ¬
    CR & "Linguine" & TAB & "Flattened spaghetti or Little tongues" & ¬
    CR & "Lagane" & TAB & "Wide pasta square or rectangle sheets of pasta that sometimes have fluted edges" & ¬
    CR & "Lasagnette" & TAB & "Narrower version of Lasagna or Little lasagna" & ¬
    CR & "Lasagnotte" & TAB & "Longer version of Lasaga or Bigger lasagna" & ¬
    CR & "Maccheroncini di Campofilone" & TAB & "Thin strands of egg-based pasta. Similar to Capelli d'angelo" & ¬
    CR & "Mafalde" & TAB & "Long rectangular ribbons with ruffled sides. " & TAB & "Named in honor of Princess Mafalda of Savoy" & ¬
    CR & "Matriciani" & TAB & "Similar to perciatelli, but folded over rather than hollowed out" & ¬
    CR & "Pappardelle" & TAB & "Thick flat ribbons of egg-based dough " & TAB & "From Tuscan papparsi: to pig out" & ¬
    CR & "Perciatelli" & TAB & "From perciare: to hollow"
end ListOfPastas01

function ListOfPastas02 -- A test funciton for a CR and TAB list with EMPTY lines
  return "Fettuccine" & TAB & "Ribbon of pasta approximately 6.5 millimeters wide. Larger and thicker than tagliatelle" & ¬
    CR & ¬
    CR & "Linguine" & TAB & "Flattened spaghetti or Little tongues" & ¬
    CR & ¬
    CR & "Lasagnette" & TAB & "Narrower version of Lasagna or Little lasagna" & ¬
    CR & ¬
    CR & "Maccheroncini di Campofilone" & TAB & "Thin strands of egg-based pasta. Similar to Capelli d'angelo" & ¬
    CR & ¬
    CR & "Matriciani" & TAB & "Similar to perciatelli, but folded over rather than hollowed out" & ¬
    CR & ¬
    CR & "Perciatelli" & TAB & "From perciare: to hollow"
end ListOfPastas02

function MarxBros -- A test funciton for a COMMA delimited list
  return "Chico,Harpo,Groucho,Zeppo"
end MarxBros

Function MarxFilms -- A test funciton for a COMMA delimited list with and empty item and a missing forth one
  return "The Cocoanuts,,Animal Crackers"
end MarxFilms

André Tremblay

unread,
Mar 25, 2021, 5:27:46 PM3/25/21
to 'MARK LUCAS' via SuperCard Discussion
Indeed the function does a good job to erase a bunch of variables. 

Here is my take for a command to do it, very hand to erase to EMPTY a few dozen of variables in one sweep:

Take notes:

1- The variables should be declared previously in the script.
2- The command will process a list of COMMMA separated variables. 
3- The character @ should be appended as a prefix for each variable's name.


on EffacerVariables ListeParametres 
-- Erase a comma separated list of variables, @ should be a prefix for each variable names
  local NbrItems = ParamCount()
  repeat with X = 1 to NbrItems
    put EMPTY into param(X)
  end repeat
end EffacerVariables

Again, thank's to Mark Lucas for his help and inspiration!

André

--------------------

For those to whom it might be of interest, here is a practical demonstration:

on mouseUp
  Test01 -- Shows empty lines as parameters
  Test02 -- Shows a missing last item as parameters
end mouseUp

on Test01
  local P01,P02,P03,P04,P05,P06,P07,P08,P09,P10,P11,P12
  CoerParams ListOfPastas01(),@P01,@P02,@P03,@P04,@P05,@P06,@P07,@P08,@P09,@P10,@P11,@P12,CR
  ask list P01&CR&P02&CR&P03&CR&P04&CR&P05&CR&P06&CR&P07&CR&P08&CR&P09&CR&P10&CR&P11&CR&P12 style "width=-1,-1" & cr & "greenBar=1:250" & cr & "cellHeight=24"
  CoerParams ListOfPastas02(),@P01,@P02,@P03,@P04,@P05,@P06,@P07,@P08,@P09,@P10,@P11,@P12,CR
  ask list P01&CR&P02&CR&P03&CR&P04&CR&P05&CR&P06&CR&P07&CR&P08&CR&P09&CR&P10&CR&P11&CR&P12 style "width=-1,-1" & cr & "greenBar=1:250" & cr & "cellHeight=24"
  EffacerVariables @P01,@P02,@P03,@P04,@P05,@P06,@P07,@P08,@P09,@P10,@P11,@P12
  ask list P01&CR&P02&CR&P03&CR&P04&CR&P05&CR&P06&CR&P07&CR&P08&CR&P09&CR&P10&CR&P11&CR&P12 style "width=-1,-1" & cr & "greenBar=1:250" & cr & "cellHeight=24"
end Test01

on Test02
  local variable01,variable02,variable03,variable04
  -- Populate the list of variables
  CoerParams MarxBros(),@variable01,@variable02,@variable03,@variable04
  -- The variables <variable01,variable02,variable03,variable04> are updated 
  ask list variable01&CR&variable02&CR&variable03&CR&variable04 style "width=-1,-1" & cr & "greenBar=1:250" & cr & "cellHeight=24"
  CoerParams MarxFilms(),@variable01,@variable02,@variable03,@variable04
  ask list variable01&CR&variable02&CR&variable03&CR&variable04 style "width=-1,-1" & cr & "greenBar=1:250" & cr & "cellHeight=24"
  EffacerVariables @variable01,@variable02,@variable03,@variable04
  ask list variable01&CR&variable02&CR&variable03&CR&variable04 style "width=-1,-1" & cr & "greenBar=1:250" & cr & "cellHeight=24"
end Test02

on CoerParams ListeParametres
  local X = 2, NbrItems = ParamCount(), ListeSeparateurs = TAB & CR & COMMA, delimiterChar = param(NbrItems)
  if delimiterChar is not EMPTY then if ListeSeparateurs contains delimiterChar then set the itemDelimiter to delimiterChar
  repeat for each item LaVariable of ListeParametres
    if X > NbrItems then exit script
    put LaVariable into param(X)
    add 1 to X
  end repeat
end CoerParams

function ListOfPastas01 -- A test funciton for a CR and TAB list
  return "Fettuccine" & TAB & "Ribbon of pasta approximately 6.5 millimeters wide. Larger and thicker than tagliatelle" & ¬
    CR & "Fileja" & TAB & "Elongated screw" & ¬
    CR & "Linguine" & TAB & "Flattened spaghetti or Little tongues" & ¬
    CR & "Lagane" & TAB & "Wide pasta square or rectangle sheets of pasta that sometimes have fluted edges" & ¬
    CR & "Lasagnette" & TAB & "Narrower version of Lasagna or Little lasagna" & ¬
    CR & "Lasagnotte" & TAB & "Longer version of Lasaga or Bigger lasagna" & ¬
    CR & "Maccheroncini di Campofilone" & TAB & "Thin strands of egg-based pasta. Similar to Capelli d'angelo" & ¬
    CR & "Mafalde" & TAB & "Long rectangular ribbons with ruffled sides. " & TAB & "Named in honor of Princess Mafalda of Savoy" & ¬
    CR & "Matriciani" & TAB & "Similar to perciatelli, but folded over rather than hollowed out" & ¬
    CR & "Pappardelle" & TAB & "Thick flat ribbons of egg-based dough " & TAB & "From Tuscan papparsi: to pig out" & ¬
    CR & "Perciatelli" & TAB & "From perciare: to hollow"
end ListOfPastas01

function ListOfPastas02 -- A test funciton for a CR and TAB list with EMPTY lines
  return "Fettuccine" & TAB & "Ribbon of pasta approximately 6.5 millimeters wide. Larger and thicker than tagliatelle" & ¬
    CR & ¬
    CR & "Linguine" & TAB & "Flattened spaghetti or Little tongues" & ¬
    CR & ¬
    CR & "Lasagnette" & TAB & "Narrower version of Lasagna or Little lasagna" & ¬
    CR & ¬
    CR & "Maccheroncini di Campofilone" & TAB & "Thin strands of egg-based pasta. Similar to Capelli d'angelo" & ¬
    CR & ¬
    CR & "Matriciani" & TAB & "Similar to perciatelli, but folded over rather than hollowed out" & ¬
    CR & ¬
    CR & "Perciatelli" & TAB & "From perciare: to hollow"
end ListOfPastas02

function MarxBros -- A test funciton for a COMMA delimited list
  return "Chico,Harpo,Groucho,Zeppo"
end MarxBros

Function MarxFilms -- A test funciton for a COMMA delimited list with and empty item and a missing forth one
  return "The Cocoanuts,,Animal Crackers"
end MarxFilms

on EffacerVariables ListeParametres -- Efface la liste de variable passées en paramètres
  local NbrItems = ParamCount()
  repeat with X = 1 to NbrItems
    put EMPTY into param(X)
  end repeat
end EffacerVariables

MARK LUCAS

unread,
Mar 26, 2021, 1:29:58 AM3/26/21
to superca...@googlegroups.com
LOL! Well, I'm pleased someone (besides me!) found this feature helpful.

I remember when I added it I thought it was just the bee's knees, but alas Scott was, um, 'vocally unconvinced'… ;-)

-Mark
Reply all
Reply to author
Forward
0 new messages