Php - Dynamically Choose And Set Class Variable?
Nov 4, 2010I want to set a variable in a class. But I want to dynamically choose which variable to set.
[Code]...
I want to set a variable in a class. But I want to dynamically choose which variable to set.
[Code]...
So Im iterating through the properties of a class. For each property Im iterating through a datatable until I find a column name with the same name as the property.
No worries so far, here's the isse: Once I've found a match I want to set the class's property to the value in the datatable but I'm having difficulty referencing the property as it has to be done through a variable.
Code:
Dim per As New Person
Dim t As Type = per.GetType
For Each p As PropertyInfo In t.GetProperties
[Code].....
I want to choose a value dynamically from comboBox depending of the values selected previously in two comboBoxes.the code that loads the comboBoxes:
Private Sub LightClassComboBox_DropDown(ByVal sender As Object, ByVal e As System.EventArgs) Handles AreaClasificationComboBox.DropDown
TrafficDensityComboBox.DropDown,.....
[code]....
The problem is that in the last Sub in the If sentence gives an error of: Null Reference Exception, because the compiler thinks that in that event the data are not loaded, although the data are loaded when loadcomboBoxes sub is executed.
How do I name a variable depending on what is in the textbox?
Like would it look like:
Dim (textbox.text) as string
etc.
The reason I want to do this is because the user is gonna click a button to create a task. When the button is pushed, a label is created by the code I already have, the problem is, I want them to be able to click the button more then once and new labels will appear below the one that just was there. By being able to name a variable by what is in the textbox, I will be able to do so many things.
I am using VB .net 2010 express from microsoft. I have a numeric up down box to display a variable that the user can choose a number for. Then I have a text box that I want to display a result of the updown box * 1.5... So far I have the following... What do I need or need to change? I have the integer variables initialized or whatever with Dim statements as follows -
'speed variables
Dim CruisingSpeed As Integer 'cruise speed - updown box
Dim FlankingSpeed As Integer 'Flanking speed - will be cruise * 1.5
[CODE]..................
It says that it cannot convert the up down box into an integer... I need it as an integer to calculate the other number...
Complete code just in case the above was not enough info...
'Imports Excel
'Imports System.IO
Public Class Form1
[CODE].............................
I have some stuff commented out because a variety of issues - some I will end up using and some I will end up taking out before it is done...
I am currently playing around with VB.Net using Visual Studio 2010 (.Net 4.0) and I need your help to create a collection class (let's call it 'cl_MyCollection') with a constructor that accepts two arguments:An SqlDataReader object Some means of pointing to a custom class I have created.I have five database tables in SQL 2000 and five VB.Net custom classes.Each custom class contains a variable for each field of the table the class represents.For example:"tbl_User" has 2 fields "User_ID" and "User_Name" and tbl_Family" has 3 fields "Family_ID", "Family_Name" and "Family_ Location". [code] Fixed typo, the select case now points to the second argument ('selectedClass') as originally intended.
View 2 Replies-edit- nevermind i was lucky and didnt need to change much and have this test working.I am doing a quick test and i need to choose the full path to a function.in C# i can write namespace ABC { class DEF { static string Test() { return "A test"; } } } and can access it with ABC.DEF.Test() i tried
Namespace ABC
Partial Public Class DEF
Public Function Test(ByVal v As String) As String
[code]....
and i got VBTest.ABC.DEF.Test(). How do i get rid of VBTest which is the name of my project?
class
eg: dim classobj = xyz("CLASS_NAME") ' where classname is a valid class name
and dynamically raising a known method of that class on that newly created object or class reference.
[code].....
i had a class called Tag with a structure like:
public class Tag
private _members
public properties
public shared database_methods
end class
this class was tailored for mysql database. i'm currently adding access 2007 support so i split tag into tag and tagdata with structures like:
[Code]...
Create a class named Service. Inside the Service class, declare a class variable named Started. The datatype of this variable is Boolean.Public Class Service Dim started as Boolean End Class Create a class named Server. Inside the Server class, declare a dynamic array that can contain elements of the type Service.(Note: For convenience, both the array and the variable Started can be accessible from a client program that creates an instance of Server and Service respectively)
Create a constructor for the Service class. When the constructor is executed, it will set the value of the class variable Started to True. Create two new classes: WebServer and DatabaseEngine. Both of these classes inherit from the class Service. Inside the Service class, declare a Sub procedure (method) named Terminate. This method should display the following text Service stopping in a message box when executed.This method can be overridden in classes that inherit from Service class.
Inside both the WebServer and DatabaseEngine class, override the method Terminate inherited from their base class Service. Both methods should first call the base class Terminate method. The messages Web server stopping and Database engine stopping should also be displayed in a message box when the Terminate method for the WebServer and DatabaseEngine are called respectively. These messages should only be displayed if the Started variable inherited from their base class is not equal to False.
Inside the Server class, declare a method named Shutdown. This method does not return any value. When executed, it will call the Terminate method for each of the Service instances (if any) in the arrServices
array. You should call the Terminate method within a For Each loop that loops through the elements of the arrServices array.
In the Sub Main method, create an instance of the class Server. Set the size of the arrServices array in
your Server instance to contain 2 elements. Create first a WebServer instance and then a DatabaseEngine
instance into this array. Call the Shutdown method from your Server instance.
I want to created a nested class that can only be visible to and instantiated from the parent class.But I also want to be able to use an instance of the nested class through a public variable of the parent class.I tried making the nested class private, or making the nested class' constructor private, but it won't compile.Is it possible to do this in .NET?
[Code]...
I have procedure (Import) that calls a for a new instance of frmImportData. I also have a class name clsBatch that has a data table property called prpParametersTable.For some reason, I get an error (indicated below with ERROR>>>) when trying to assign prpParameterTable to cv_dtImport2. The error states "Object reference not set to an instance of an object.". Why does this error not happen when I assign dtBP to cv_dtImport1? Both cv_dtImport1 and cv_dtImport2 are equal to Nothing and in my Import procedure dtBP = prpParametersTable.
Public Sub Import(ByVal clsB As clsBatch)
Try
Me.cv_clsB = clsB
[code]....
I have three class files, accounts.vb and transactions.vb in addition to my form.vb. I am unable to retrieve a member variable from on class from inside the other. When the combobox index changes, the program loads the correct account (checking or saving) from two different sequential files. I don't think I have the calcBalance procedure in the correct class file. And that is what I am having trouble with. Accessing it to display it. [Code]
View 1 RepliesI have a bunch of string variables, string1, string2, string3 etc.At the end of my program I want to write these strings to a file, but I don't want to have to laboriously type out string1, string2, string3 etc.
It would be much easier to use a loop to dynamically refer to (string & loopcounter), ie reference the variable by dynamically concatenating its name from a string and a number. Python can do this with eval(). How does VB do it? I can think of loads of examples where it'd be useful. Otherwise I have to type out all the different conditions and that's not efficient.
I have searched online for a few hours to try to figure out how to do this, but nothing I found really makes sense, so could someone please tell me, in a simple way, how to do this?
Let's say I have a text box that the user fills out, named textbox1. And I have a combo box, named combobox1, which contains the choices A, B, C. And then I have a button named submit_button.
Each time that the user clicks submit_button, I would like to dynamically create a new variable. This variable should be named the same as textbox1.text, and should contain the value of combobox1.
For example, if the user types "blue" into textbox1, and chooses value "C" from combobox1, and then clicks submit_button... then the following variable should be dynamically created, like..Dim blue as String = "C"
And then, after that, if the user types "red" into textbox1, and chooses value "B" from combobox1, and then clicks submit_button... then another variable should be dynamically created, like...
Dim red as String = "B"
And each time the user submits new information into the textbox and combobox, a new variable should be created.Is it possible to have the program automatically create variables like this? If so, how?
My actual project is much more complicated than this, of course, so the above is just an example. But if I could figure out how to solve the problem in this example, I could figure out how to solve the entire project.
I have started using the builder class to create my connection strings for the sole purpose of making more generic connectivity code. However, I am stumped on this issue. The MS eConnect product apparently expects to receive integrated security=SSPI in its connection string if you want to use integrated security, (vs Integrated Secturity=True). I thought I would just pass "Trusted_Connection"="SSPI" to the builder class.
as it turns out, the item for Integrated Security is boolean and despite what the documentation says, will not give me SSPI in my connection string. Has anybody else found this issue and is there a simple fix for it? as for now, I'll simply strip out the item and replace it in my string.
I am using the AJAXToolkit Accordion control and dynamically adding panes to it based on a query of the database. For example:
Jane logs in and pulls up the page with the accordion on it. In the database she has five rows in the todo_list table. So, I need to dynamically generate five panes that contain the info. from the table...but if Joe logs in he may have only three rows, and Josh may have fifteen - so I can never know how many an individual will have beforehand.
So, I need some way to dynamically name the variables (or is there another way to do this). For example, here is some pseudo-code of what I'm trying to accomplish:
Dim i as integer
For each row in todo_list
Dim ap + i as New AccordionPane
Add some info from the row to the pane
Next
What i'm trying to do:
I've got a library which includes a class:
Class Human
End Class
and another class which refers to the human class
Class ASD
Private somevar as new Human
End Class
Ok now i've got a problem, i wish to rename my class Human, to Man. i've got to change Human to Man 2 times, which is OK but the problem is that in the real case, its not just 2 times, its like 500 times or more.
Well its something like a PHP on Javascript.
the following shows the solution of what i'm trying to do, but its in another language PHP/Javascript:
note: in php $ sign declares a variable, echo writes the variable out
CODE:
Is there anyway to do that with VB?
Is it possible to declare a variable and to choose it's appropriate type during runtime?
it should be something like this (of course, the last line does not work):
'Determine what type of variable is needed later
Dim myVariableType As System.Type = System.Type.GetType("System.String", True, True)
'Create variable with needed type
Dim myVariable As myVariableType ' Should be a string variable in this case
I'm trying to make an application to do mathematical equations, but I also want to implement error checking. So that if someone doesn't put anything in one of the fields the output textbox will say "Error".
But the problem is that I already declared the variables I used as a numeric value, in my case decimal.
So, when I make an if statement that says if inputbox1="" then outputbox1="Error" it doesn't work.
I think that in order to get this to work I would have to have it setup so that the variable that is exported to the text property of outputbox1 could switch between being declared as a decimal or string value based on what the user put into the textboxes. But I'm not sure how to go about this. Declaring the variables inside the if/elseif statements won't work because the variables need to be declared before they are calculated within my if/elseif statements.
How can I define the datatype of an variable dynamically. I read out data from a file. In the file it is specified, if the raw-data is interpreted as single, integer or .... So my idea is: To check, what datatype is in use and then declare an array with this datatype to store the data there.
View 2 Repliesis it possible to dynamically dimension a variable?in my case, i have a chart that has a varying number of series on it depending on the data extracted and in order to use those series, i have to dimension them manually before adding points to them, IE:
Dim series1 as New Series()
Dim series2 as New Series()
etc
etc
my series data is contained in a datatable, so i'll know the count required, but it will change at runtime, so obviously doing something like this won't work, but explains what i'm trying to do:
dim recordcount as integer = datatable.rows.count
for i = 1 to recordcount
dim "series"+recordcount.tostring as new series()
next
I have the following code:
Option Explicit On
Imports System.DirectoryServices
Imports System.IO
[code].....
The code below works for the class that I hard coded "XCCustomers" in my RetrieveIDandName method where I use CType. However, I would like to be able to pass in various classes and property names to get the integer and string LIST returned. For example, in my code below, I would like to also pass in "XCEmployees" to my RetrieveIDandName method. I feel so close... I was hoping someone knew how to use CType where I can pass in the class name as a string variable.
Note, all the other examples I have seen and tried fail because we are using Option Strict On which disallows late binding. That is why I need to use CType.I also studied the "Activator.CreateInstance" code examples to try to get the class reference instance by string name but I was unable to get CType to work with that.When I use obj.GetType.Name or obj.GetType.FullName in place of the "XCCustomers" in CType(obj, XCCustomers)(i)I get the error "Type 'obj.GetType.Name' is not defined" or "Type 'obj.GetType.FullName' is not defined"
'+++++++++++++++++++++++++++++++
Imports DataLaasXC.Business
Imports DataLaasXC.Utilities
[code]....
i have 2 classes. Temp1 and Temp2
Instead of doing
dim clsname as new Temp1
Temp1.GetData("dfs","dfd","fff")
How can i do it where I specify the class name
int=1
dim clsname as string = "Temp" & int
Then somehow use clsname - i tried Activator.CreateInstance but need some help
Public Class Temp1
Private _Account As String
Public Sub New()
[code]....
Am a geriatric coming back to programming after a decade's rest. Keeping it very simple. An empty form. As the form loads, create a Black button (OK) and also create a class which itself creates a single Cyan button. Am using VB 2010 Express. When I run, it creates the Black Button but not the Cyan (i.e. the one that is generated by the class).
[Code]....
We use a common web.config file to store all of our database connection strings.
I would like to have a way to read in all of them, somehow create a property or type so that they become dynamically available.
So when I want to create a new sql connection my my class can show the connections strings available.
Dim myconn as new MySqlOps.Connection(MySqlOps.ConnectionString)
so when the user types MySqlOps.ConnectionString. it will give a list of the connection strings read in from the config file.
Not sure how to approach making the connectionstrings available like above.
I am currently working on a family project which is based on "Who Wants To Be A Millionaire?" show. There is a huge diffrence between the show and my project. My project is a christmas edition and the goal is not to get money or something, since I will not add it... Erhmm... Let me get to the point. I have already designed a layout and scripted some things. I have about thirty questions but I do not want them to always spawn in the same array, if you know what I mean. I want the program to randomly choose one of those thirty questions and NEVER choose the same question in the same program run. By the way, there are four options on my project: A, B, C and D. I have got everything, I just need a code.
View 3 RepliesI created an interface where user will define the parameters and the submit button should able to do following:
1) Generate C# class.
2) Compile.
3) Execute Method.
4) Attach generated class file to the existing DLL.
I can able to finish 3 of the above items successfully but I can't able to Attach new generated class files to existing DLL file.
I'm making a little program in where i'm trying to invoke a method from a class dynamically with so called Reflection.The class I'm trying to call is called ContactList and i try to invoke the method in this class called count. The assembly itself is called Contact.ExeNow I have the following code:
Public Function InvokeContacts() As Integer
Dim ContactsAssembly As Assembly = Assembly.LoadFrom("Contacts.exe")
Dim Mycontactlist As Type = ContactsAssembly.GetType("ContactList")
[code]....