<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v = 
"urn:schemas-microsoft-com:vml" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word" xmlns:m = 
"http://schemas.microsoft.com/office/2004/12/omml"><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=Generator content="Microsoft Word 12 (filtered medium)">
<STYLE>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
..shape {behavior:url(#default#VML);}
</STYLE>

<STYLE>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:PMingLiU;
        panose-1:2 2 3 0 0 0 0 0 0 0;}
@font-face
        {font-family:PMingLiU;
        panose-1:2 2 3 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
@font-face
        {font-family:"\@PMingLiU";
        panose-1:2 2 3 0 0 0 0 0 0 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
pre
        {mso-style-priority:99;
        mso-style-link:"HTML Preformatted Char";
        margin:0cm;
        margin-bottom:.0001pt;
        font-size:10.0pt;
        font-family:"Courier New";
        color:black;}
tt
        {mso-style-priority:99;
        font-family:"Courier New";}
span.HTMLPreformattedChar
        {mso-style-name:"HTML Preformatted Char";
        mso-style-priority:99;
        mso-style-link:"HTML Preformatted";
        font-family:Consolas;
        color:black;}
p.avgcert, li.avgcert, div.avgcert
        {mso-style-name:avgcert;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        color:black;}
span.EmailStyle21
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
span.EmailStyle22
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
..MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.Section1
        {page:Section1;}
-->
</STYLE>
</HEAD>
<BODY dir=ltr lang=EN-NZ bgColor=white vLink=purple link=blue>
<DIV dir=ltr>
<DIV style="FONT-FAMILY: 'Arial'; COLOR: #000000; FONT-SIZE: 10pt">
<DIV>Lazy? or simpler and convenient?</DIV>
<DIV>&nbsp;</DIV>
<DIV>plain functions that might be useful anywhere in any program are best done 
like this I would think.&nbsp;&nbsp; Examples are in Delphi units afterall, eg 
StrUtils</DIV>
<DIV>&nbsp;</DIV>
<DIV style="FONT-FAMILY: 'Arial'; COLOR: #000000; FONT-SIZE: 10pt">John</DIV>
<DIV style="FONT-FAMILY: 'Arial'; COLOR: #000000; FONT-SIZE: 10pt">
<DIV 
style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none"></DIV>&nbsp;</DIV>
<DIV 
style="FONT-STYLE: normal; DISPLAY: inline; FONT-FAMILY: 'Calibri'; COLOR: #000000; FONT-SIZE: small; FONT-WEIGHT: normal; TEXT-DECORATION: none">
<DIV class=Section1>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d">I use some global 
variables.&nbsp; I also have what I assume are other bad habits like creating 
plain functions or procedures instead of declaring them inside the form 
class.&nbsp; Just lazy.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d">Ross.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d"><o:p></o:p></SPAN>&nbsp;</P>
<DIV>
<DIV 
style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<P class=MsoNormal><B><SPAN 
style="FONT-FAMILY: 'Tahoma','sans-serif'; COLOR: windowtext; FONT-SIZE: 10pt" 
lang=EN-US>From:</SPAN></B><SPAN 
style="FONT-FAMILY: 'Tahoma','sans-serif'; COLOR: windowtext; FONT-SIZE: 10pt" 
lang=EN-US> delphi-bounces@delphi.org.nz [mailto:delphi-bounces@delphi.org.nz] 
<B>On Behalf Of </B>Jolyon Smith<BR><B>Sent:</B> Friday, 21 January 2011 9:44 
AM<BR><B>To:</B> 'NZ Borland Developers Group - Delphi List'<BR><B>Subject:</B> 
Re: [DUG] Variables stored<o:p></o:p></SPAN></P></DIV></DIV>
<P class=MsoNormal><o:p></o:p>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Assignable 
typed constants are pointless.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">If 
you are going to declare a constant and then use a compiler switch to make it 
behave like a variable, then be honest and just use a 
variable!!<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Typed 
constants cannot even be used where “normal” constants can 
be:<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp; 
const<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
ONE: Integer = 1;<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">&nbsp;&nbsp; 
procedure Foo(aIndex: Integer = ONE);&nbsp;&nbsp; // ERROR: Constant expression 
expected<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">or:<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">&nbsp; 
case iValue of<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp; 
ONE: ;&nbsp; // ERROR: Constant expression expected<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">&nbsp; 
end;<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Remove 
the type declaration from the ONE const, and both compile just fine (note that 
this is independent of the Assigned Typed Constants compiler 
setting).<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">A 
typed constant is to all intents and purposes a variable, and might as well be 
declared as such (note that you can initialise a unit variable as part of it’s 
declaration):<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">&nbsp; 
var<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">&nbsp;&nbsp;&nbsp; 
ONE: Integer = 1;<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">One 
final comment – Delphi really has no concept of a “global” variable.&nbsp; The 
highest visibility is “unit variable”.&nbsp; You still have to explicitly “use” 
a unit to bring it into scope, and if two units declare variables of the same 
name normal scoping rules apply but you can explicitly qualify a reference using 
the unit name if you need to override the default scope.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">Most 
of the time global/unit variable is close enough that the distinction doesn’t 
matter, but when it comes to dogma the old rules that “global variables are the 
spawn of Satan himself” needs to be tempered in Delphi with the fact that they 
are a bit better “behaved” than the sort of global variable that those 
ritualistic rules were originally devised for.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt">However, 
it is still true that the occasions when a unit variable is called for are 
relatively few, but they should not be simply outlawed for being something they 
are not.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: wingdings; COLOR: #1f497d; FONT-SIZE: 11pt">J</SPAN><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'; COLOR: #1f497d; FONT-SIZE: 11pt"><o:p></o:p></SPAN>&nbsp;</P>
<DIV>
<DIV 
style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0cm; PADDING-LEFT: 0cm; PADDING-RIGHT: 0cm; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<P class=MsoNormal><B><SPAN 
style="FONT-FAMILY: 'Tahoma','sans-serif'; COLOR: windowtext; FONT-SIZE: 10pt" 
lang=EN-US>From:</SPAN></B><SPAN 
style="FONT-FAMILY: 'Tahoma','sans-serif'; COLOR: windowtext; FONT-SIZE: 10pt" 
lang=EN-US> delphi-bounces@delphi.org.nz [mailto:delphi-bounces@delphi.org.nz] 
<B>On Behalf Of </B>Robert martin<BR><B>Sent:</B> Friday, 21 January 2011 
09:18<BR><B>To:</B> NZ Borland Developers Group - Delphi List<BR><B>Subject:</B> 
Re: [DUG] Variables stored<o:p></o:p></SPAN></P></DIV></DIV>
<P class=MsoNormal><o:p></o:p>&nbsp;</P>
<P class=MsoNormal>Hi John<BR><BR>While all you suggest may be true (I don't 
know about the compiler setting stuff) I would strongly recommend anybody 
starting out with programming / delphi avoids using global variables.&nbsp; Its 
a nasty habit to get into :)&nbsp; <BR><BR>Also the compiler setting you talk 
about sounds dangerous as someone who didn't know about it could become highly 
confused looking at the code or trying to compile it on a fresh install of 
Delphi !<BR><BR>Also note I changed the typo spelling of the subject because it 
was annoying me :)<BR><BR>Cheers<BR>Rob<BR><BR>On 21/01/2011 9:04 a.m., John 
Bird wrote: <o:p></o:p></P>
<DIV>
<DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">There is another way 
as well, you can declare simple global variables – depending where you declare 
it determines it’s scope - how visible it it is.<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">In this example 
string2 can be seen by any unit that uses this one, just as Form11 (the 
particular instance of TForm11, and is also a global variable) is 
visible.<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">String3 can be seen 
by all procedures in this unit, but not by anywhere else.&nbsp;&nbsp;&nbsp; If 
you have lots of simple variables to store and they don’t need to be inherited 
etc this is the simplest way to do it.<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">You can take this 
further:<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">If I have lots of 
constants to declare, or variables to store I create a unit which is code only 
(no classes) eg called storeunit and declare all the constants and variables I 
want there, any form or unit that wants access to all these variables just has 
to add storeunit to its uses clause.&nbsp;&nbsp; This centralises all such 
declarations in one place away from a form and is very tidy.&nbsp;&nbsp; I will 
often put simple global functions and procedures in here too, as they also 
become globally available, eg various standard ways for formatting dates and 
strings.&nbsp;&nbsp; Also this unit can be uses in different projects as 
well.&nbsp;&nbsp; For this just go to File/New/Unit&nbsp;&nbsp; and the IDE 
gives you a new blank unit already to add stuff to – a simpler unit with no form 
or class stuff.<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">Here string4 string5 
integer1 integer2 integer3 can all be seen from anywhere that uses 
Storeunit<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">It depends on whether 
you like using global variables or not.&nbsp;&nbsp; Also its a good idea to use 
a clear naming convention for such variables.<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">There are other 
tricks you can do too -&nbsp; you can alter compiler settings to allow 
assignable constants for a procedure, then any values assigned here will be 
preserved between calls to the procedure.&nbsp;&nbsp; But that seems to be 
confusing to me, as it really becomes a variable and not a constant.&nbsp;&nbsp; 
I saw that used in and example where the program wanted a counter of the number 
of times the procedure was called, and the counter constant in the procedure was 
assigned a new value each time the procedure was called, its quite a tidy way to 
do that sort of thing.&nbsp; In this case the scope (visibility) of the variable 
is totally limited to the one procedure.<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><TT><SPAN style="FONT-SIZE: 10pt">type</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Courier New'"><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">&nbsp; TForm11 = class(TForm)</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Courier New'"><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp; Button1: TButton;</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Courier New'"><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp; procedure Button1Click(Sender: 
TObject);</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Courier New'"><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">&nbsp; private</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Courier New'"><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp; { Private declarations 
}</SPAN></TT><SPAN style="FONT-FAMILY: 'Courier New'"><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">&nbsp; public</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Courier New'"><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp; { Public declarations 
}</SPAN></TT><SPAN style="FONT-FAMILY: 'Courier New'"><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">&nbsp;&nbsp;&nbsp; MyString : string;</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Courier New'"><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">&nbsp; end;</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Courier New'"><BR><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">var</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Courier New'"><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">&nbsp; Form11: TForm11;</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><TT><SPAN style="FONT-SIZE: 10pt">&nbsp; string2: 
string;</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Courier New'"><BR><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">implementation</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><TT><SPAN style="FONT-SIZE: 10pt">uses 
storeunit;</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN style="FONT-FAMILY: 'Courier New'"><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">{$R *.dfm}</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><TT><SPAN style="FONT-SIZE: 10pt">var</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><TT><SPAN style="FONT-SIZE: 10pt">string3: 
string;</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Courier New'"><BR><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">procedure TForm11.Button1Click(Sender: 
TObject);</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Courier New'"><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">begin</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Courier New'"><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">&nbsp; MyString := 'Hello, world!';</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><TT><SPAN style="FONT-SIZE: 10pt">&nbsp; string2:=’Hello 
world2’;</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P style="MARGIN-BOTTOM: 12pt" class=MsoNormal><TT><SPAN 
style="FONT-SIZE: 10pt">&nbsp; string5:=’Hello world5’;</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Courier New'"><BR></SPAN><TT><SPAN 
style="FONT-SIZE: 10pt">end;</SPAN></TT><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt">unit Storeunit;</SPAN><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt">interface</SPAN><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt">var</SPAN><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt">string4:string;</SPAN><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt">string5:string;</SPAN><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt">integer1:integer;</SPAN><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt">integer2:integer;</SPAN><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt">integer3:integer;</SPAN><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt">implementation</SPAN><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Courier New'; FONT-SIZE: 10pt">end.</SPAN><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">John<o:p></o:p></SPAN></P></DIV>
<DIV>
<DIV>
<DIV>
<DIV>
<P class=MsoNormal><B><SPAN 
style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt">From:</SPAN></B><SPAN 
style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"> <A 
title=marshland@marshland.co.nz 
href="mailto:marshland@marshland.co.nz">Marshland Engineering</A> 
<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><B><SPAN 
style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt">Sent:</SPAN></B><SPAN 
style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"> Thursday, January 
20, 2011 3:45 PM<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><B><SPAN 
style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt">To:</SPAN></B><SPAN 
style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"> <A 
title=delphi@delphi.org.nz 
href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</A> 
<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><B><SPAN 
style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt">Subject:</SPAN></B><SPAN 
style="FONT-FAMILY: 'Tahoma','sans-serif'; FONT-SIZE: 10pt"> [DUG] Variabels 
stored<o:p></o:p></SPAN></P></DIV></DIV></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">&nbsp;<o:p></o:p></SPAN></P></DIV></DIV>
<DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">Is there a way to 
store variables so I can use them from one procedure to another?&nbsp; 
</SPAN><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">I have been currently 
storing them in hidden edit.text boxes on the form but there must be a better 
way. </SPAN><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'"><o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'">&nbsp;<o:p></o:p></SPAN></P></DIV>
<DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Arial','sans-serif'; FONT-SIZE: 10pt">Cheers 
Wallace</SPAN><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'"><o:p></o:p></SPAN></P></DIV>
<DIV style="TEXT-ALIGN: center" class=MsoNormal align=center><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'">
<HR align=center SIZE=2 width="100%">
</SPAN></DIV>
<P class=MsoNormal><SPAN 
style="FONT-FAMILY: 'Calibri','sans-serif'">_______________________________________________<BR>NZ 
Borland Developers Group - Delphi mailing list<BR>Post: <A 
href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</A><BR>Admin: <A 
href="http://delphi.org.nz/mailman/listinfo/delphi">http://delphi.org.nz/mailman/listinfo/delphi</A><BR>Unsubscribe: 
send an email to <A 
href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</A> with 
Subject: unsubscribe<o:p></o:p></SPAN></P></DIV></DIV></DIV><PRE><o:p></o:p>&nbsp;</PRE><PRE><o:p></o:p>&nbsp;</PRE><PRE>_______________________________________________<o:p></o:p></PRE><PRE>NZ Borland Developers Group - Delphi mailing list<o:p></o:p></PRE><PRE>Post: <A href="mailto:delphi@delphi.org.nz">delphi@delphi.org.nz</A><o:p></o:p></PRE><PRE>Admin: <A href="http://delphi.org.nz/mailman/listinfo/delphi">http://delphi.org.nz/mailman/listinfo/delphi</A><o:p></o:p></PRE><PRE>Unsubscribe: send an email to <A href="mailto:delphi-request@delphi.org.nz">delphi-request@delphi.org.nz</A> with Subject: unsubscribe<o:p></o:p></PRE>
<P style="MARGIN-BOTTOM: 12pt" class=MsoNormal><BR><BR><o:p></o:p></P>
<P class=avgcert>No virus found in this message.<BR>Checked by AVG - <A 
href="http://www.avg.com">www.avg.com</A><BR>Version: 10.0.1191 / Virus 
Database: 1435/3392 - Release Date: 01/20/11<o:p></o:p></P></DIV>
<P>
<HR>
_______________________________________________<BR>NZ Borland Developers Group - 
Delphi mailing list<BR>Post: delphi@delphi.org.nz<BR>Admin: 
http://delphi.org.nz/mailman/listinfo/delphi<BR>Unsubscribe: send an email to 
delphi-request@delphi.org.nz with Subject: 
unsubscribe</DIV></DIV></DIV></BODY></HTML>