They're all good people (not just those mentioned) and everybody's help and opinion is appreciated by me - even if, on the rare occasion, I disagree with an opinion.
Regards, Alastair. ----- Original Message ----- From: "Jim Limburg" <[EMAIL PROTECTED]> To: "RBASE-L Mailing List" <[EMAIL PROTECTED]> Sent: Thursday, September 11, 2003 9:04 PM Subject: [RBASE-L] - Re: Create variable on the fly > Very, Very Good point. I always attempt to follow > this, or at least now I do. I wasted quite a bit of time troubleshooting > a problem along those lines about a year ago. It like to have drove me nuts. > It did improve my troubleshooting skills with the TRACE environment. I had to > go through a lot of old posts and I found alot of tips on how to use the > debugging environment. > > P. S. One other major thing. Most if not all of what I now know has to be > attributed to the people on this list. Especially Bill Downall, Sami Aaron, > Dennis McGrath, David Blocker, Troy Sosoman, Mike Byerly, Ben Perterson, > and so many more... OH yea... that wacky packi... what was is name again. > > > Jim > > > > Alastair Burr wrote: > > Just one thing to add, Jim: > > > > Set Var vXyx_Txt TEXT = NULL > > Set Var vXyz_Int INTEGER=NULL > > > > then to convert values use: > > > > Set Var vXyz_Int = .vXyz_Txt > > Set Var vXyz_Txt = (CTXT(.vXyz_Int) > > > > so that the variable type is not changed - ever!! > > > > Regards, > > Alastair. > > > > > > > > ----- Original Message ----- > > From: "Jim Limburg" <[EMAIL PROTECTED]> > > To: "RBASE-L Mailing List" <[EMAIL PROTECTED]> > > Sent: Thursday, September 11, 2003 3:00 PM > > Subject: [RBASE-L] - Re: Create variable on the fly > > > > > > > >>Bill, Alastait, James, listmembers.. Fourscore and seven... hmm.hhmmmm > >> > >>Interesting idea of getting used to using the same variables all the way > >>through... Cold make smaller routines easy, but think it would make larger > >>routines hard to keep track of. I have always leaned toward the > >>more descriptive (somewhat self documenting) declaring/naming of > > > > variables. > > > >>Along with this idea have gotten into the habit that were suggested by > >>some of gurus on this list of using a prefix based on how the var is going > >>to be used... I use > >> > >>vm_ for variables that I use in what I call a module/function role > >>vg_ for variables that are going to be of a more global basis, that is > >> I will need it across more that one module/function > >>vp_ for variables that are going to be used in stored procedures > >> > >>ve_ for variables that are going to be used in a quick eep > >> > >>vf_ for variables that are used in a forms scope > >>vr_ for variables that are used in a reports scope > >> > >>and so on. > >> > >>Then when I need to clear them (like you say) at the end of the routine > >>the I would use CLEAR VAR vm_% which would just clear out just only > >>what I had used in the module/function of code. or... at application > >>end CLEAR VAR v% > >> > >>I have thought of but never implemented using a convetion that would > >>also let me easily see what the datatype should be like.. > >> > >>vm_t for all text variable > >>vm_i for all integers > >>vm_c for currency > >>vm_d for date > >>vm_r for real > >>vm_dt for datetime > >>vm_tm for time > >>vm_v for varbit > >>vm_db for double > >>vm_b for bit > >>vm_bn for bitnote > >>vm_n for note > >> > >>and so on. > >> > >>I have used this code below provided by the great Troy Sosamon for > >>predfining some variables before the call of a form. I have > >>modified Troy's original version for own needs here. > >> > >>-- ARRAY SIMMULATION PROGRAM > >>-- EXAMPLE WRITTEN BY TROY SOSAMON 1/4/98 > >>-- EXAMPLE MODIFIED BY JIM LIMBURG 09-11-2003 > >>SET VAR vname TEXT = 'vf_value' > >>SET VAR vtemp TEXT = NULL > >>-- ASSIGN VALUES TO VARS vf_value0 - 10 > >>SET VAR vi INT = 0 > >>WHILE vi <= 10 THEN > >> SET VAR vtemp = (.vname + (CTXT(.vi))) > >> SET VAR &vtemp = NULL > >> SET VAR vi = (.vi + 1) > >>ENDWHILE > >> > >> > >>Jim > >> > >>William Stacy wrote: > >> > >>>I agree with you completely. I have a command file that runs every time > >>>I start my app, and it looks something like: > >>> > >>>set v i1 int=null > >>>set v i2 int=null > >>>set v i3 int=null > >>>set v t1 text=null > >>>set v t2 text=null > >>>set v d1 date=null > >>>set v d2 date=null > >>>set v n1 num(4,2,)=null > >>>set v count_of_pn int=0 > >>> > >>>and I have about 2 pages of this kind of stuff that presets all my > >>>variables with a null, zero or whatever > >>>default/starting value I want. > >>> > >>>I NEVER use the CLEAR VAR command, instead just reset /reuse all these > >>>preset variables using the > >>>very compact syntaxes of: > >>> > >>>d1=.#date > >>>i1=0 > >>>t1='y' > >>>t2=null > >>>and so on. > >>>Very compact, clean and lean, and the fastest, because it's so easy on > >>>the CPU > >>> > >>>I've always suspected that clearing variables created a memory leak, but > >>>cannot prove it. > >>>But it surely causes more typing when coding! > >>> > >>>bill > >>> > >>> > >>>Alastair Burr wrote: > >>> > >>> > >>>>Whilst I appreciate that it is sometimes nice to know if a variable > >>> > > already > > > >>>>exists (and, if so, maybe even its value) but I would suggest that it is > >>>>much better to declare _all_ of them at the start of your app/cmd > >>>>file/eep/whatever and _never_ clear them until the end. > >>>> > >>>>Of course there will always be exceptions but I have found it much > >>> > > easier to > > > >>>>be able to see all the vars at the top of the file and their data type > >>> > > in > > > >>>>one place. If I need to reset any I simply set it to null or a specific > >>>>value before use. > >>>> > >>>>Would anybody like to comment on the overhead of keeping variables > >>> > > defined > > > >>>>against regularly setting and clearing them (and, maybe losing them)? > >>> > > With > > > >>>>computing power such as it is these days can a practical limit be > >>> > > reached? > > > >>>>Regards, > >>>>Alastair. > >>>> > >>>> > >>>>----- Original Message ----- > >>>>From: "James Hageman" <[EMAIL PROTECTED]> > >>>>To: "RBASE-L Mailing List" <[EMAIL PROTECTED]> > >>>>Sent: Wednesday, September 10, 2003 9:24 PM > >>>>Subject: [RBASE-L] - Re: Create variable on the fly > >>>> > >>>> > >>>> > >>>> > >>>> > >>>>>I like that, short and sweet. However it does give a warning about > >>>>>setting the variable to NULL without indicator variable or something, > >>>>>but it still works and holds the assigned value if it is defined. Cool > >>>>>Thanks Jim > >>>>>James > >>>>> > >>>>> > >>>>>Jim Limburg wrote: > >>>>> > >>>>> > >>>>> > >>>>> > >>>>>>James > >>>>>> > >>>>>>Just use > >>>>>> > >>>>>>SET VAR v1 TEXT > >>>>>> > >>>>>>... or whatever datatype is is delcared to as before. Be sure to > >>>>>>keep the datatypes the same though.. > >>>>>> > >>>>>>Don't set it to null. Doing it this way will not clear the variables > >>>>>>setting if it already exist, but well set it to NULL if it doesn't > >>>>>> > >>>>>> > >>>>> > >>>>exist. > >>>> > >>>> > >>>> > >>>>>>Jim Limburg > >>>>>> > >>>>>> > >>>>>> > >>>>>>James Hageman wrote: > >>>>>> > >>>>>> > >>>>>> > >>>>>> > >>>>>>>I want to be able to find out if a variable exists and if not to > >>>>>>>create it and then pronpt the user to assign a value to it. > >>>>>>> > >>>>>>>I thought I could do something like : > >>>>>>> > >>>>>>>IF (IFEXIST(v1,.v1,NULL)) IS NULL THEN > >>>>>>> DIALOG 'Enter value for v1' v1 vEndKey 1 > >>>>>>>ENDIF > >>>>>>> > >>>>>>>But I get an error message telling me v1 doesnt exist, Right! I know. > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>>> > >>>>>> > >>>>. > >>>> > >>>> > >>>> > >>> > > > > >

