If I have many hard coded values such as file paths, file names, timeouts,
etc, where is the best place to define them? Meaning, in the case something
needs changing for example, rather than running down all the subs or
functions that may contain these values, I'd like one place to change them
and have that changed reflected in the subs or functions that use those
values. I'd like to avoid globals; keeping the values private to only those
subs or functions using them.
Thanks,
Brett 10 2802
Hi,
I would make a variable that is private to the class or form.
That way all the sub routines and functions can use it. It wont be
accessable out side the form or class.
Ken
-----------
"Brett" <no@spam.net> wrote in message
news:%2****************@tk2msftngp13.phx.gbl...
If I have many hard coded values such as file paths, file names, timeouts,
etc, where is the best place to define them? Meaning, in the case something
needs changing for example, rather than running down all the subs or
functions that may contain these values, I'd like one place to change them
and have that changed reflected in the subs or functions that use those
values. I'd like to avoid globals; keeping the values private to only those
subs or functions using them.
Thanks,
Brett
Nice. Thanks.
Brett
"Ken Tucker [MVP]" <vb***@bellsouth.net> wrote in message
news:Op***************@TK2MSFTNGP15.phx.gbl... Hi,
I would make a variable that is private to the class or form. That way all the sub routines and functions can use it. It wont be accessable out side the form or class.
Ken ----------- "Brett" <no@spam.net> wrote in message news:%2****************@tk2msftngp13.phx.gbl... If I have many hard coded values such as file paths, file names, timeouts, etc, where is the best place to define them? Meaning, in the case something needs changing for example, rather than running down all the subs or functions that may contain these values, I'd like one place to change them and have that changed reflected in the subs or functions that use those values. I'd like to avoid globals; keeping the values private to only those subs or functions using them.
Thanks, Brett
There will be some shared variables mixed in. Meaning, I'll define
variables in one class that will also be used in other classes or forms.
For those shared variables, should I just create a class that only houses
them? This provides one place to change them and have those changes cascade
through out forms/classes that are using them.
Brett
"Ken Tucker [MVP]" <vb***@bellsouth.net> wrote in message
news:Op***************@TK2MSFTNGP15.phx.gbl... Hi,
I would make a variable that is private to the class or form. That way all the sub routines and functions can use it. It wont be accessable out side the form or class.
Ken ----------- "Brett" <no@spam.net> wrote in message news:%2****************@tk2msftngp13.phx.gbl... If I have many hard coded values such as file paths, file names, timeouts, etc, where is the best place to define them? Meaning, in the case something needs changing for example, rather than running down all the subs or functions that may contain these values, I'd like one place to change them and have that changed reflected in the subs or functions that use those values. I'd like to avoid globals; keeping the values private to only those subs or functions using them.
Thanks, Brett
"Brett" <no@spam.net> wrote in message
news:%2****************@tk2msftngp13.phx.gbl... If I have many hard coded values such as file paths, file names, timeouts, etc, where is the best place to define them? Meaning, in the case
something needs changing for example, rather than running down all the subs or functions that may contain these values, I'd like one place to change them and have that changed reflected in the subs or functions that use those values. I'd like to avoid globals; keeping the values private to only
those subs or functions using them.
Thanks, Brett
In situations like this - what do you think of including the file paths,
file names, timeouts, and those hard-code values in a separate text file you
can read at run-time.
The program would not need to be modified when things change - just change
the values in the file.
"Hal Rosser" <hm******@bellsouth.net> wrote in message
news:1D**************@bignews2.bellsouth.net... "Brett" <no@spam.net> wrote in message news:%2****************@tk2msftngp13.phx.gbl... If I have many hard coded values such as file paths, file names, timeouts, etc, where is the best place to define them? Meaning, in the case something needs changing for example, rather than running down all the subs or functions that may contain these values, I'd like one place to change them and have that changed reflected in the subs or functions that use those values. I'd like to avoid globals; keeping the values private to only those subs or functions using them.
Thanks, Brett
In situations like this - what do you think of including the file paths, file names, timeouts, and those hard-code values in a separate text file you can read at run-time. The program would not need to be modified when things change - just change the values in the file.
Is this how it is normally done?
This file would only need to be read the first time the program loads
correct? It will also only be for globals right?
Thanks,
Brett
"Brett" <no@spam.net> wrote in message
news:%2****************@tk2msftngp13.phx.gbl... "Hal Rosser" <hm******@bellsouth.net> wrote in message news:1D**************@bignews2.bellsouth.net... "Brett" <no@spam.net> wrote in message news:%2****************@tk2msftngp13.phx.gbl... If I have many hard coded values such as file paths, file names, timeouts, etc, where is the best place to define them? Meaning, in the case something needs changing for example, rather than running down all the subs or functions that may contain these values, I'd like one place to change them and have that changed reflected in the subs or functions that use those values. I'd like to avoid globals; keeping the values private to only those subs or functions using them.
Thanks, Brett
In situations like this - what do you think of including the file paths, file names, timeouts, and those hard-code values in a separate text file you can read at run-time. The program would not need to be modified when things change - just
change the values in the file.
Is this how it is normally done?
This file would only need to be read the first time the program loads correct? It will also only be for globals right?
Thanks, Brett
Can be used for anything that has to be hard-coded.
Some do something like this - for Sales Tax Rate and the like
- If the rate changes - someone can change the rate in the file - and no
re-programming is required for a change in rates.
A separate file for each piece of data is one way to do it -
frinstance a file named "stateTaxRate.dat" can have one entry like ".075".
When the state changes the rate - tell the user to change the file entry to
".085" - or whatever the new rate is.
"Hal Rosser" <hm******@bellsouth.net> wrote in message
news:Uw*****************@bignews6.bellsouth.net... "Brett" <no@spam.net> wrote in message news:%2****************@tk2msftngp13.phx.gbl... "Hal Rosser" <hm******@bellsouth.net> wrote in message news:1D**************@bignews2.bellsouth.net... > > "Brett" <no@spam.net> wrote in message > news:%2****************@tk2msftngp13.phx.gbl... >> If I have many hard coded values such as file paths, file names, >> timeouts, >> etc, where is the best place to define them? Meaning, in the case > something >> needs changing for example, rather than running down all the subs or >> functions that may contain these values, I'd like one place to change >> them >> and have that changed reflected in the subs or functions that use >> those >> values. I'd like to avoid globals; keeping the values private to only > those >> subs or functions using them. >> >> Thanks, >> Brett >> >> > > In situations like this - what do you think of including the file > paths, > file names, timeouts, and those hard-code values in a separate text > file > you > can read at run-time. > The program would not need to be modified when things change - just change > the values in the file.
Is this how it is normally done?
This file would only need to be read the first time the program loads correct? It will also only be for globals right?
Thanks, Brett
Can be used for anything that has to be hard-coded. Some do something like this - for Sales Tax Rate and the like - If the rate changes - someone can change the rate in the file - and no re-programming is required for a change in rates. A separate file for each piece of data is one way to do it - frinstance a file named "stateTaxRate.dat" can have one entry like ".075". When the state changes the rate - tell the user to change the file entry to ".085" - or whatever the new rate is.
I see. I suppose you could build that into the interface for the user to
make changes as well right?
Using the text files for many variables, will that be a bunch of parsing -
instr(), mid(), perhaps regular expressions and the like in other words?
They just don't seem like the most efficient method. I guess they could be
seperated by chr(13) & chr(10).
Would an XML file work better?
Thanks,
Brett
Options may be: XML Resource File, Small DataBase, Serialized Class, etc.
"Brett" wrote: "Hal Rosser" <hm******@bellsouth.net> wrote in message news:Uw*****************@bignews6.bellsouth.net... "Brett" <no@spam.net> wrote in message news:%2****************@tk2msftngp13.phx.gbl... "Hal Rosser" <hm******@bellsouth.net> wrote in message news:1D**************@bignews2.bellsouth.net... > > "Brett" <no@spam.net> wrote in message > news:%2****************@tk2msftngp13.phx.gbl... >> If I have many hard coded values such as file paths, file names, >> timeouts, >> etc, where is the best place to define them? Meaning, in the case > something >> needs changing for example, rather than running down all the subs or >> functions that may contain these values, I'd like one place to change >> them >> and have that changed reflected in the subs or functions that use >> those >> values. I'd like to avoid globals; keeping the values private to only > those >> subs or functions using them. >> >> Thanks, >> Brett >> >> > > In situations like this - what do you think of including the file > paths, > file names, timeouts, and those hard-code values in a separate text > file > you > can read at run-time. > The program would not need to be modified when things change - just
change > the values in the file.
Is this how it is normally done?
This file would only need to be read the first time the program loads correct? It will also only be for globals right?
Thanks, Brett
Can be used for anything that has to be hard-coded. Some do something like this - for Sales Tax Rate and the like - If the rate changes - someone can change the rate in the file - and no re-programming is required for a change in rates. A separate file for each piece of data is one way to do it - frinstance a file named "stateTaxRate.dat" can have one entry like ".075". When the state changes the rate - tell the user to change the file entry to ".085" - or whatever the new rate is.
I see. I suppose you could build that into the interface for the user to make changes as well right?
Using the text files for many variables, will that be a bunch of parsing - instr(), mid(), perhaps regular expressions and the like in other words? They just don't seem like the most efficient method. I guess they could be seperated by chr(13) & chr(10).
Would an XML file work better?
Thanks, Brett
I'm surprised no-one here has mentioned App.config yet (or did I miss it?)
Right click on your project in the solution explorer and choose to add a new
item. From the list of items that you can add to the project, scroll down
and find the one called ApplicationConfiguration File. Select it, call it
app.config and click Open to add it to the file.
In the file you just added, drop in an <appSettings> section and in that add
your values, like this
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="DirectoryName" value="c:\test"/>
</appSettings>
</configuration>
Here I've addded in a single entry called DirectoryName, with a value of
"c:\test"
Now, to get at that, and obviously the whole mass of other values you want
to store, just go ahead and create a class with some shared properties on
it, like this.
Imports System.Configuration
Public Class AppSettings
Public Shared ReadOnly Property DirectoryName() As String
Get
Return ConfigurationSettings.AppSettings("DirectoryName")
End Get
End Property
End Class
If I ever want to pull a value out of that app.settings file now I just call
AppSettings.whateverpropertyyoucoded up
Hope that helps,
--
Pete Wright
Author of ADO.NET Novice to Pro for Apress www.petewright.org
"Brett" <no@spam.net> wrote in message
news:%2****************@tk2msftngp13.phx.gbl... If I have many hard coded values such as file paths, file names, timeouts, etc, where is the best place to define them? Meaning, in the case something needs changing for example, rather than running down all the subs or functions that may contain these values, I'd like one place to change them and have that changed reflected in the subs or functions that use those values. I'd like to avoid globals; keeping the values private to only those subs or functions using them.
Thanks, Brett
Pete,
Depending on the nature of the (original) coded values, I would consider
creating custom a configuration section in the app.config rather then
directly in appSettings, as this allows better encapsulation of the coded
values...
Create a custom configuration section via configSections and implementing
the System.Configuration.IConfigurationSectionHandler. I would pattern the
custom section handler after DictionarySectionHandler (support: add, remove,
clear) or use a class derived from DictionarySectionHandler...
<navigation>
<add form="Form 1" type="namespace.form1, assembly" />
<add form="Form 2" type="namespace.form2, assembly" />
</navigation>
Then within your code you can use ConfigurationSettings.GetConfig to return
the above section of the app.config. Depending on what you do in your
IConfigurationSectionHandler.Create method (I would create a HashTable) will
decide what GetConfig returns.
See the following on how to create new sections via the configSections
section. http://msdn.microsoft.com/library/de...onhandlers.asp
and: http://msdn.microsoft.com/library/de...ionsschema.asp
Also read about the System.Configuration.ConfigurationSettings class and
other classes in the System.Configuration namespace.
Hope this helps
Jay
"Pete Wright" <pe**********@gmail.com> wrote in message
news:%2****************@TK2MSFTNGP14.phx.gbl... I'm surprised no-one here has mentioned App.config yet (or did I miss it?)
Right click on your project in the solution explorer and choose to add a new item. From the list of items that you can add to the project, scroll down and find the one called ApplicationConfiguration File. Select it, call it app.config and click Open to add it to the file.
In the file you just added, drop in an <appSettings> section and in that add your values, like this <?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="DirectoryName" value="c:\test"/>
</appSettings>
</configuration>
Here I've addded in a single entry called DirectoryName, with a value of "c:\test"
Now, to get at that, and obviously the whole mass of other values you want to store, just go ahead and create a class with some shared properties on it, like this.
Imports System.Configuration
Public Class AppSettings
Public Shared ReadOnly Property DirectoryName() As String
Get
Return ConfigurationSettings.AppSettings("DirectoryName")
End Get
End Property
End Class
If I ever want to pull a value out of that app.settings file now I just call AppSettings.whateverpropertyyoucoded up
Hope that helps,
-- Pete Wright Author of ADO.NET Novice to Pro for Apress www.petewright.org "Brett" <no@spam.net> wrote in message news:%2****************@tk2msftngp13.phx.gbl... If I have many hard coded values such as file paths, file names, timeouts, etc, where is the best place to define them? Meaning, in the case something needs changing for example, rather than running down all the subs or functions that may contain these values, I'd like one place to change them and have that changed reflected in the subs or functions that use those values. I'd like to avoid globals; keeping the values private to only those subs or functions using them.
Thanks, Brett
This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: GhislainTanguay |
last post by:
Hi everyone, i work on a ASP (Not .NET but version 3) project. This project
is on our server for development. I use SQL-SERVER, IIS and VB for DLL.
On the server i have create a folder with my...
|
by: s |
last post by:
Can I do this:
#define MYSTRING "ABC"
..
..
..
char mychar = MYSTRING;
..
..
..
|
by: Rasika Wijayaratne |
last post by:
Hello,
Can I get feedback on these .NET coding best practices please. Thanks
to Konrad Rudolph and Jon Skeet for the replies to my previous post on
'Writing Properties.' Thanks in advance to all...
|
by: Andrea Williams |
last post by:
Where is the best place to put global variables. In traditional ASP I used
to put all of them into an include file and include it in every page. Will
the Global.aspx.cs do that same thing?
...
|
by: Charlie |
last post by:
Hi:
My ASP.NET app opens and closes database connection in several pages.
Rather than hard coding string into every page, is there a place I can put
it where all pages will be able to access it....
|
by: Janaka |
last post by:
I'm making a web application on my local server which will then be rolled
out onto our live site. My problem is that i tend to have to comment out
and make a few new hard-coded lines in my files...
|
by: Mike Logan |
last post by:
I am using the "contract first" design methodology. Contract First is design
the WSDL first then design the server and client. However I must design my
XSD/XML Schema before anything.
I am...
|
by: ward |
last post by:
Good morning.
I created an edit_task page that allows the user to edit tasks for the
database. I entered some text and used some hard returns.
Put when I went to view the tasks (using a PHP...
|
by: John Salerno |
last post by:
If I want to make a list of four items, e.g. L = ,
and then figure out if a certain element precedes another element, what
would be the best way to do that?
Looking at the built-in list...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome former...
|
by: ryjfgjl |
last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
|
by: taylorcarr |
last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: aa123db |
last post by:
Variable and constants
Use var or let for variables and const fror constants.
Var foo ='bar';
Let foo ='bar';const baz ='bar';
Functions
function $name$ ($parameters$) {
}
...
|
by: ryjfgjl |
last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
| |