<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Capitalization Routine? in Libraries &amp; objects</title>
    <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108985#M35510</link>
    <description>&lt;BLOCKQUOTE&gt;TomWaltz wrote:&lt;BR /&gt;OR, did you actually turn on pCapitalize in the Parameters window to trigger GLOB_MODPAR_NAME?&lt;/BLOCKQUOTE&gt;

Right.  pCapitalize is a Boolean parameter.  Turning it on triggers the capitalization, at the end of the capitalization the programming switches pCapitalize back to 'off'.</description>
    <pubDate>Fri, 13 Jan 2006 23:59:05 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2006-01-13T23:59:05Z</dc:date>
    <item>
      <title>Capitalization Routine?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108978#M35503</link>
      <description>&lt;DIV class="actalk-migrated-content"&gt;&lt;R&gt;Why doesn't this work?  It's making me crazy.  GDL is beating me up this week -- I hope it gets better next week.&lt;BR /&gt;
&lt;BR /&gt;
This is in the Parameter script.  Any other suggestions are certainly welcome!&lt;BR /&gt;
&lt;BR /&gt;
&lt;FONT color="darkblue"&gt;!!ROUTINE FOR CAPITALIZING THE ROOM NAME&lt;BR /&gt;
IF GLOB_MODPAR_NAME = `pCapitalize` THEN&lt;BR /&gt;
	NameLen = STRLEN(ROOM_NAME)&lt;BR /&gt;
	NewName = ""&lt;BR /&gt;
	SubChar = ""&lt;BR /&gt;
	FOR Idx = 1 TO NameLen - 1&lt;BR /&gt;
		NameChar = STRSUB(ROOM_NAME, Idx, 1)&lt;BR /&gt;
		GOSUB 1000&lt;BR /&gt;
		IF SubChar = "" THEN&lt;BR /&gt;
			NewName = NewName + NameChar&lt;BR /&gt;
		ELSE&lt;BR /&gt;
			NewName = NewName + SubChar&lt;BR /&gt;
		ENDIF&lt;BR /&gt;
	NEXT Idx&lt;BR /&gt;
	pCapitalize = 0&lt;BR /&gt;
	PARAMETERS ROOM_NAME = NewName&lt;BR /&gt;
	PARAMETERS pCapitalize = pCapitalize, ROOM_NAME = ROOM_NAME&lt;BR /&gt;
ENDIF&lt;BR /&gt;
&lt;BR /&gt;
GOTO 2000:&lt;BR /&gt;
&lt;BR /&gt;
1000:&lt;BR /&gt;
IF NameChar = "a" THEN SubChar = "A"&lt;BR /&gt;
IF NameChar = "b" THEN SubChar = "B"&lt;BR /&gt;
IF NameChar = "c" THEN SubChar = "C"&lt;BR /&gt;
IF NameChar = "d" THEN SubChar = "D"&lt;BR /&gt;
IF NameChar = "e" THEN SubChar = "E"&lt;BR /&gt;
IF NameChar = "f" THEN SubChar = "F"&lt;BR /&gt;
IF NameChar = "g" THEN SubChar = "G"&lt;BR /&gt;
IF NameChar = "h" THEN SubChar = "H"&lt;BR /&gt;
IF NameChar = "i" THEN SubChar = "I"&lt;BR /&gt;
IF NameChar = "j" THEN SubChar = "J"&lt;BR /&gt;
IF NameChar = "k" THEN SubChar = "K"&lt;BR /&gt;
IF NameChar = "l" THEN SubChar = "L"&lt;BR /&gt;
IF NameChar = "m" THEN SubChar = "M"&lt;BR /&gt;
IF NameChar = "n" THEN SubChar = "N"&lt;BR /&gt;
IF NameChar = "o" THEN SubChar = "O"&lt;BR /&gt;
IF NameChar = "p" THEN SubChar = "P"&lt;BR /&gt;
IF NameChar = "q" THEN SubChar = "Q"&lt;BR /&gt;
IF NameChar = "r" THEN SubChar = "R"&lt;BR /&gt;
IF NameChar = "s" THEN SubChar = "S"&lt;BR /&gt;
IF NameChar = "t" THEN SubChar = "T"&lt;BR /&gt;
IF NameChar = "u" THEN SubChar = "U"&lt;BR /&gt;
IF NameChar = "v" THEN SubChar = "V"&lt;BR /&gt;
IF NameChar = "w" THEN SubChar = "W"&lt;BR /&gt;
IF NameChar = "x" THEN SubChar = "X"&lt;BR /&gt;
IF NameChar = "y" THEN pSubChar = "Y"&lt;BR /&gt;
IF NameChar = "z" THEN pSubChar = "Z"&lt;BR /&gt;
RETURN&lt;BR /&gt;
&lt;BR /&gt;
2000:&lt;BR /&gt;
!!END&lt;/FONT&gt;&lt;/R&gt;&lt;/DIV&gt;</description>
      <pubDate>Fri, 13 Jan 2006 16:27:21 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108978#M35503</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2006-01-13T16:27:21Z</dc:date>
    </item>
    <item>
      <title>Re: Capitalization Routine?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108979#M35504</link>
      <description>How does it not work? What results do you get from it?</description>
      <pubDate>Fri, 13 Jan 2006 16:52:04 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108979#M35504</guid>
      <dc:creator>TomWaltz</dc:creator>
      <dc:date>2006-01-13T16:52:04Z</dc:date>
    </item>
    <item>
      <title>Re: Capitalization Routine?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108980#M35505</link>
      <description>&lt;BLOCKQUOTE&gt;TomWaltz wrote:&lt;BR /&gt;How does it not work? What results do you get from it?&lt;/BLOCKQUOTE&gt;

I start with ROOM_NAME being "Test Name", and after the routine runs, ROOM_NAME is still "Test Name" -- no change at all.  It has clearly attempted something because the floor plan preview in the GDL editor blinks when I execute this routine.</description>
      <pubDate>Fri, 13 Jan 2006 17:01:43 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108980#M35505</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2006-01-13T17:01:43Z</dc:date>
    </item>
    <item>
      <title>Re: Capitalization Routine?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108981#M35506</link>
      <description>&lt;BLOCKQUOTE&gt;Jay wrote:&lt;BR /&gt;
&lt;PRE&gt;!!ROUTINE FOR CAPITALIZING THE ROOM NAME
IF GLOB_MODPAR_NAME = `pCapitalize` THEN
	NameLen = STRLEN(ROOM_NAME)
	NewName = ""
	SubChar = ""
	FOR Idx = 1 TO NameLen - 1
		NameChar = STRSUB(ROOM_NAME, Idx, 1)
		GOSUB 1000
		IF SubChar = "" THEN
			NewName = NewName + NameChar
		ELSE
			NewName = NewName + SubChar
		ENDIF
	NEXT Idx
	...
ENDIF&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;

Jay,&lt;BR /&gt;
&lt;BR /&gt;
One thing I see in a quick scan is that SubChar is set to "" outside of the loop, so after it ias assigned once in your 1000 Sub, it will never be "" again ... hence your IF will always be concatenating SubChar... so if you had "ab123c", your routine would produce "ABBBBC".&lt;BR /&gt;
&lt;BR /&gt;
Rather than move the initialization into the loop, I don't see a need for that variable or the IF block ... just reassign NameChar in your 1000 Sub.&lt;BR /&gt;
&lt;BR /&gt;
Tip for code on ac-talk ... there is a 'code' button in the format bar when you enter a message - keeps the indentation of the original.&lt;BR /&gt;
&lt;BR /&gt;
Karl</description>
      <pubDate>Fri, 13 Jan 2006 20:33:00 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108981#M35506</guid>
      <dc:creator>Karl Ottenstein</dc:creator>
      <dc:date>2006-01-13T20:33:00Z</dc:date>
    </item>
    <item>
      <title>Re: Capitalization Routine?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108982#M35507</link>
      <description>&lt;BLOCKQUOTE&gt;Karl wrote:&lt;BR /&gt;One thing I see in a quick scan is that SubChar is set to "" outside of the loop, so after it ias assigned once in your 1000 Sub, it will never be "" again ... hence your IF will always be concatenating SubChar... so if you had "ab123c", your routine would produce "ABBBBC".&lt;/BLOCKQUOTE&gt;

Oops.  I originally had it set to "" at the beginning of the 1000 loop, but it still had the same result -- nothing.&lt;BR /&gt;

&lt;BLOCKQUOTE&gt;Karl wrote:&lt;BR /&gt;Tip for code on ac-talk ... there is a 'code' button in the format bar when you enter a message - keeps the indentation of the original.&lt;/BLOCKQUOTE&gt;

Thanks!  I never noticed that.  A wish granted before I even posted it!</description>
      <pubDate>Fri, 13 Jan 2006 20:48:02 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108982#M35507</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2006-01-13T20:48:02Z</dc:date>
    </item>
    <item>
      <title>Re: Capitalization Routine?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108983#M35508</link>
      <description>Having taken a clue from Karl, I change the routine to this:
&lt;PRE&gt;IF GLOB_MODPAR_NAME = `pCapitalize` THEN
	NameLen = STRLEN(ROOM_NAME)
	NewName = ""
	FOR Idx = 1 TO NameLen - 1
		NameChar = STRSUB(ROOM_NAME, Idx, 1)
		IF NameChar = "a" THEN NameChar = "A"
		IF NameChar = "b" THEN NameChar = "B"
		IF NameChar = "c" THEN NameChar = "C"
&amp;lt;...&amp;gt;
		IF NameChar = "x" THEN NameChar = "X"
		IF NameChar = "y" THEN NameChar = "Y"
		IF NameChar = "z" THEN NameChar = "Z"
		NewName = NewName + NameChar
	NEXT Idx
	pCapitalize = 0
	PARAMETERS ROOM_NAME = NewName
	PARAMETERS pCapitalize = pCapitalize, ROOM_NAME = ROOM_NAME
ENDIF&lt;/PRE&gt;

This still doesn't work.</description>
      <pubDate>Fri, 13 Jan 2006 20:52:48 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108983#M35508</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2006-01-13T20:52:48Z</dc:date>
    </item>
    <item>
      <title>Re: Capitalization Routine?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108984#M35509</link>
      <description>Have you tried with without the GLOB_MODPAR_NAME to see if the routine works without the restriction?&lt;BR /&gt;
&lt;BR /&gt;
OR, did you actually turn on pCapitalize in the Parameters window to trigger GLOB_MODPAR_NAME?</description>
      <pubDate>Fri, 13 Jan 2006 21:17:52 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108984#M35509</guid>
      <dc:creator>TomWaltz</dc:creator>
      <dc:date>2006-01-13T21:17:52Z</dc:date>
    </item>
    <item>
      <title>Re: Capitalization Routine?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108985#M35510</link>
      <description>&lt;BLOCKQUOTE&gt;TomWaltz wrote:&lt;BR /&gt;OR, did you actually turn on pCapitalize in the Parameters window to trigger GLOB_MODPAR_NAME?&lt;/BLOCKQUOTE&gt;

Right.  pCapitalize is a Boolean parameter.  Turning it on triggers the capitalization, at the end of the capitalization the programming switches pCapitalize back to 'off'.</description>
      <pubDate>Fri, 13 Jan 2006 23:59:05 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108985#M35510</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2006-01-13T23:59:05Z</dc:date>
    </item>
    <item>
      <title>Re: Capitalization Routine?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108986#M35511</link>
      <description>I think you have PARAMETERS once too much. Not:
&lt;PRE&gt;pCapitalize = 0
   PARAMETERS ROOM_NAME = NewName
   PARAMETERS pCapitalize = pCapitalize, ROOM_NAME = ROOM_NAME &lt;/PRE&gt;
but:
&lt;PRE&gt;pCapitalize = 0
   ROOM_NAME = NewName
   PARAMETERS pCapitalize = pCapitalize, ROOM_NAME = ROOM_NAME &lt;/PRE&gt;
Haven't proofed, but this should do it.</description>
      <pubDate>Mon, 16 Jan 2006 07:37:03 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108986#M35511</guid>
      <dc:creator>Frank Beister</dc:creator>
      <dc:date>2006-01-16T07:37:03Z</dc:date>
    </item>
    <item>
      <title>Re: Capitalization Routine?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108987#M35512</link>
      <description>&lt;PRE&gt;1000:
IF NameChar = "a" THEN SubChar = "A"
IF NameChar = "b" THEN SubChar = "B"
IF NameChar = "c" THEN SubChar = "C"
...&lt;/PRE&gt; is a bit raw. &lt;E&gt;&lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/E&gt;&lt;BR /&gt;
Try this:
&lt;PRE&gt;low=ROOM_NAME
result=""
downT=" abcdefghijklmnopqrstufwxyz"
upT=" ABCDEFGHIJKLMNOPQRSTUVWXYZ"
FOR i=1 TO STRLEN(low)
  subT=STRSUB(low,i,1)
  posT=STRSTR(downT,subT)
  IF posT THEN
    result=result+STRSUB(upT,posT,1)
    ELSE
    result=result+subT
    ENDIF
  NEXT i&lt;/PRE&gt;</description>
      <pubDate>Mon, 16 Jan 2006 07:48:32 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108987#M35512</guid>
      <dc:creator>Frank Beister</dc:creator>
      <dc:date>2006-01-16T07:48:32Z</dc:date>
    </item>
    <item>
      <title>Re: Capitalization Routine?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108988#M35513</link>
      <description>&lt;BLOCKQUOTE&gt;F. wrote:&lt;BR /&gt;&lt;PRE&gt;1000:
IF NameChar = "a" THEN SubChar = "A"
IF NameChar = "b" THEN SubChar = "B"
IF NameChar = "c" THEN SubChar = "C"
...&lt;/PRE&gt; is a bit raw. &lt;E&gt;&lt;span class="lia-unicode-emoji" title=":winking_face:"&gt;😉&lt;/span&gt;&lt;/E&gt;&lt;/BLOCKQUOTE&gt;

It's more than raw -- it's ugly, but the only other way I had done capitalization was comparing ascii values.  Thanks for showing me the clean way to do it. &lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_biggrin.gif" style="display : inline;" /&gt; &lt;BR /&gt;
&lt;BR /&gt;
Unfortunately, changing that method didn't entirely fix the problem.  HOWEVER, the post you sent just before this one WAS they key to my problem.  Removing PARAMETERS made the text update properly.&lt;BR /&gt;
&lt;BR /&gt;
Of course, now I'm confused.  Why do I have to use PARAMETERS on my own parameters, but not on Graphisoft's parameters?  Or is that just another one of those deep ArchiCAD mysteries?  &lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_wink.gif" style="display : inline;" /&gt; &lt;BR /&gt;
&lt;BR /&gt;
For those of you keeping track, here is the code after Beister's comments:&lt;BR /&gt;

&lt;PRE&gt;IF GLOB_MODPAR_NAME = `pCapitalize` THEN
	NewName = ""
	LowerChars = "abcdefghijklmnopqrstufwxyz"
	UpperChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
	FOR Idx = 1 TO STRLEN(ROOM_NAME)
		NameChar = STRSUB(ROOM_NAME, Idx, 1)
		CharPos = STRSTR(LowerChars, NameChar)
		IF CharPos THEN
			NewName = NewName + STRSUB(UpperChars, CharPos, 1)
		ELSE
			NewName = NewName + NameChar
		ENDIF
	NEXT Idx
	pCapitalize = 0
	ROOM_NAME = NewName
	PARAMETERS pCapitalize = pCapitalize, ROOM_NAME = ROOM_NAME
ENDIF&lt;/PRE&gt;
Thanks again!!</description>
      <pubDate>Mon, 16 Jan 2006 16:03:06 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108988#M35513</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2006-01-16T16:03:06Z</dc:date>
    </item>
    <item>
      <title>Re: Capitalization Routine?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108989#M35514</link>
      <description>I have explained that in different postings hidden in some other deep threads before:&lt;BR /&gt;
&lt;BR /&gt;
Each instance of an object gets an entry in the database, out of which your project is built. This entry stores position, label etc. AND the starting value of each parameter of the parameter list. If the objects shape is rebuilt, the script has the values refreshed out of this entry. Each var=value inside the script does NOT change this stored values, but the values of the running script, discarded at the end of running. Only PARAMETERS var=value changes the entry but NOT (!!!) the value of the parameter in the running script. If you write&lt;BR /&gt;
&lt;BR /&gt;
PARAMETERS ROOM_NAME = NewName&lt;BR /&gt;
&lt;BR /&gt;
the parameter ROOM_NAME has in the next line not the value of NewName, but the value it had before. Only &lt;BR /&gt;
&lt;BR /&gt;
ROOM_NAME = NewName&lt;BR /&gt;
PARAMETERS ROOM_NAME = NewName&lt;BR /&gt;
&lt;BR /&gt;
makes shure both is changed well. The second line can be &lt;BR /&gt;
&lt;BR /&gt;
PARAMETERS ROOM_NAME = ROOM_NAME&lt;BR /&gt;
&lt;BR /&gt;
as well. Understandable?</description>
      <pubDate>Mon, 16 Jan 2006 19:12:36 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108989#M35514</guid>
      <dc:creator>Frank Beister</dc:creator>
      <dc:date>2006-01-16T19:12:36Z</dc:date>
    </item>
    <item>
      <title>Re: Capitalization Routine?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108990#M35515</link>
      <description>&lt;BLOCKQUOTE&gt;F. wrote:&lt;BR /&gt;Understandable?&lt;/BLOCKQUOTE&gt;

Understood -- but crazy.  What possible value could there be in &lt;FONT color="darkblue"&gt;PARAMETERS ROOM_NAME = NewName&lt;/FONT&gt; not actually changing the value of ROOM_NAME?  &lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_confused.gif" style="display : inline;" /&gt;   That's not an intiutive idea at all.  When would I ever use a line of code like that &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;expecting &lt;E&gt;&lt;/E&gt;that nothing will change?</description>
      <pubDate>Mon, 16 Jan 2006 20:55:28 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108990#M35515</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2006-01-16T20:55:28Z</dc:date>
    </item>
    <item>
      <title>Re: Capitalization Routine?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108991#M35516</link>
      <description>&lt;BLOCKQUOTE&gt;Jay wrote:&lt;BR /&gt;&lt;BLOCKQUOTE&gt;F. wrote:&lt;BR /&gt;Understandable?&lt;/BLOCKQUOTE&gt;

Understood -- but crazy.  What possible value could there be in &lt;FONT color="darkblue"&gt;PARAMETERS ROOM_NAME = NewName&lt;/FONT&gt; not actually changing the value of ROOM_NAME?  &lt;IMG src="https://community.graphisoft.com/legacyfs/online/emojis/icon_confused.gif" style="display : inline;" /&gt;   That's not an intiutive idea at all.  When would I ever use a line of code like that &lt;I&gt;&lt;/I&gt;&lt;S&gt;&lt;I&gt;&lt;I&gt;&lt;/I&gt;&lt;/I&gt;&lt;/S&gt;expecting &lt;E&gt;&lt;/E&gt;that nothing will change?&lt;/BLOCKQUOTE&gt;

I know what Frank is getting at.&lt;BR /&gt;
&lt;BR /&gt;
Archicad maintains the values in the parameter lists and the values within a script separate. Think of it like this: The Parameter lists controls the value of a parameter at the start of a script. What you do with it after that is up to you.&lt;BR /&gt;

&lt;PRE&gt;PARAMETERS ROOM_NAME = NewName
PARAMETERS ROOM_NAME = NAME&lt;/PRE&gt;

is akin to saying:
&lt;PRE&gt;ROOM_NAME = 1
ROOM_NAME = 2&lt;/PRE&gt;

At no time are you setting the script parameter ROOM_NAME to be NewName.&lt;BR /&gt;
&lt;BR /&gt;
The line
&lt;PRE&gt;PARAMETERS ROOM_NAME = NewName&lt;/PRE&gt;
sets the Parameter List variable "Room Name" to be equal to NewName, not the ROOM_NAME variable inside the script.&lt;BR /&gt;
&lt;BR /&gt;
The line
&lt;PRE&gt;PARAMETERS ROOM_NAME = ROOM_NAME&lt;/PRE&gt;
overwrites the previous line, setting the Parameter List variable ROOM_NAME back to itself,  since the ROOM_NAME variable in the script has not been changed.&lt;BR /&gt;
&lt;BR /&gt;
Most programming languages have similar concepts (C++, Java, Visual Basic), where variables are edited locally, not globally, and mixing the two can cause a lot of headaches.</description>
      <pubDate>Mon, 16 Jan 2006 22:03:29 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108991#M35516</guid>
      <dc:creator>TomWaltz</dc:creator>
      <dc:date>2006-01-16T22:03:29Z</dc:date>
    </item>
    <item>
      <title>Re: Capitalization Routine?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108992#M35517</link>
      <description>&lt;BLOCKQUOTE&gt;TomWaltz wrote:&lt;BR /&gt;The line
&lt;PRE&gt;PARAMETERS ROOM_NAME = NewName&lt;/PRE&gt;
sets the Parameter List variable "Room Name" to be equal to NewName, not the ROOM_NAME variable inside the script.&lt;/BLOCKQUOTE&gt;
If I have this correct, to make it simple we can say that the only time you should reference any of the parameters in the script is if you are getting a value (&lt;FONT color="darkblue"&gt;MyRoomName = ROOM_NAME&lt;/FONT&gt;), or if you are saving a value into the parameter (&lt;FONT color="darkblue"&gt;PARAMETERS ROOM_NAME = MyNewName&lt;/FONT&gt;).  In all other circumstances, you should use variables to perform the manipulations because a statement like &lt;FONT color="darkblue"&gt;ROOM_NAME = MyNewName + "CLASSROOM"&lt;/FONT&gt; is creating a new &lt;U&gt;&lt;/U&gt;&lt;S&gt;&lt;U&gt;&lt;U&gt;&lt;/U&gt;&lt;/U&gt;&lt;/S&gt;variable&lt;E&gt;&lt;/E&gt; called ROOM_NAME, on the fly.</description>
      <pubDate>Mon, 16 Jan 2006 23:00:01 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108992#M35517</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2006-01-16T23:00:01Z</dc:date>
    </item>
    <item>
      <title>Re: Capitalization Routine?</title>
      <link>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108993#M35518</link>
      <description>I do not know, If you have understood, what I was talking about. There are three shedules for the parameters:&lt;BR /&gt;
&lt;BR /&gt;
&lt;B&gt;1. The parameter list&lt;/B&gt;&lt;BR /&gt;
This list is visible and editable in the object editing dialog window and is stored inside the object. This list is used to preset the values of List #2. The list, which is created by each inserting of the object into the plan.&lt;BR /&gt;
&lt;BR /&gt;
&lt;B&gt;2. The database list&lt;/B&gt;&lt;BR /&gt;
This list is available, when you are in settings dialog of a placed (or to be placed) object. It gets ONCE its preset values out of list #1. All changes to the parameters in settings dialog and by moveable hotspots will be stored here and finaly in your plan. The list is used to preset the values of list #3.&lt;BR /&gt;
&lt;BR /&gt;
&lt;B&gt;3. The variable list&lt;/B&gt;&lt;BR /&gt;
Each time a script is started the variable list is cleared. For each parameter of the list #2 will be created a variable by the same (!) name. All changes made inside the script to the variable will be cleared and NOT stored at the end of the script anywhere.  Of EACH running of the script. This list has no effect to list #1 or #2. (The scripts run several times, before the shape of the object is done: master-parameter-script, master-userinterface-script, master-2D-script...)&lt;BR /&gt;
&lt;BR /&gt;
&lt;B&gt;The clue&lt;/B&gt;&lt;BR /&gt;
Inside the script you can change the list #2 and #3. To change the variable list (#3), you just use a variable declaration with, or without LET:&lt;BR /&gt;
&lt;BR /&gt;
LET ROOM_NAME="living"&lt;BR /&gt;
or&lt;BR /&gt;
ROOM_NAME="living"&lt;BR /&gt;
&lt;BR /&gt;
This changes the variable list and NOT the database list.&lt;BR /&gt;
&lt;BR /&gt;
To change the database list (#2) you have to use the PARAMETERS command. And it will NOT change the variable list. Just list #2 will get new values.&lt;BR /&gt;
&lt;BR /&gt;
PARAMETERS ROOM_NAME="living"&lt;BR /&gt;
&lt;BR /&gt;
or&lt;BR /&gt;
&lt;BR /&gt;
string="living"&lt;BR /&gt;
PARAMETERS ROOM_NAME=string&lt;BR /&gt;
or&lt;BR /&gt;
&lt;BR /&gt;
ROOM_NAME="living"&lt;BR /&gt;
PARAMETERS ROOM_NAME=ROOM_NAME&lt;BR /&gt;
&lt;BR /&gt;
The first and second code example will not change the value of ROOM_NAME in the varaiable list. The last does, because there is a varaible declaration before the PARAMETERS command.&lt;BR /&gt;
&lt;BR /&gt;
Maybe you had got it yet, but this "model" helps to keep the difference.&lt;BR /&gt;
&lt;BR /&gt;
P.S. If you are in the editing window/mode the PARAMETERS command changes the parameter list (#1), because there's no database list.&lt;BR /&gt;
&lt;BR /&gt;
And again, because it was nice to have it: In AC7 you got a raw plan dump, which printed the content of the actual plan into a text file. You was able to see the database list of each placed object. To see the varaiable list you can use the GDL-debugger.</description>
      <pubDate>Tue, 17 Jan 2006 00:16:50 GMT</pubDate>
      <guid>https://community.graphisoft.com/t5/Libraries-objects/Capitalization-Routine/m-p/108993#M35518</guid>
      <dc:creator>Frank Beister</dc:creator>
      <dc:date>2006-01-17T00:16:50Z</dc:date>
    </item>
  </channel>
</rss>

