Event Vs Recursion - Program That Has A Large Set Of Classes In It - Each Class Will Need To Add One Or More Strings To One Of Two Lists
Mar 14, 2010
I have a program that has a large set of classes in it. A certain incident (I won't call it an event, yet, as that has a specific meaning that will cause trouble later) needs to a relatively small subset of these classes a question. The subset of classes will need to respond to the question, but for it to be able to do so, the classes may first need to ask a similar question of the same subset, which may prompt yet a further question, though this recursion will never go more than three or four levels down. Since only a small subset of these classes will participate in the questions, while the majority will never participate, and since all of these classes are virtually identical, and I can know at design time whether any given class is part of the subset or not, an event is appropriate. The main class can raise an event, and those classes in the subset can handle the event, while those classes that are not in the subset won't handle the event. Furthermore, any of these classes can raise the event again with different parameters, as needed. Thus far, an event appears to be ideal.
The problem is this: As a result of the event, each class will need to add one or more strings to one of two lists. Event handlers can't return anything, so I can't be using the return values from functions to populate these lists.
Two options appear possible:
1) Include the two lists in the event arguments.
2) Have the two lists be accessible to all classes, and don't pass anything around.
The second part of the problem is that the event is effectively a question being asked of each class, and no action can be taken until each class has responded. If I simply raise an event and let each class respond, can I be certain that all classes that should respond have? An alternative solution would be to have each class expose a method, and call these methods for each class in turn. By doing this, I could get return values, but I would have to call the methods for ALL the classes, not just the subset that actually cares (the classes are all different types, but they all implement a common interface, and are added to a List (of ) that interface, so I can iterate through them all without much difficulty). So, the event seems more efficient, but adding a function to the common interface for the classes is the approach most certain of being a solution.
View 7 Replies
ADVERTISEMENT
Apr 26, 2011
I have two array list same size, depending on the information gathered by previous functions. The size of the arrays range from 2 - 45 in length, both arrays always have the same length. I am trying to match one string in one array to another string in the second array. When they match then add Item to List.
Here is my
Do Until i = Arraylenght
info = Replace(myAL(s), " ", "")
SortedArrayList(m) = Replace(SortedArrayList(m), " ", "")
SortedLine = Split(SortedArrayList(m), "Price=")
If myAL(s).Contains(SortedLine(1)) Then
[Code] .....
This code works up to an array of not more then 4 in lenght, when working larger size array then 4, the minute it get to 5 I get this Error:
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
View 13 Replies
Feb 5, 2009
how can i serialize 2 lists(of classes) into 1 file?
View 5 Replies
Jun 13, 2012
How can I structure my classes so that the user interfaces though a single class while the supporting classes are hidden from their view? I think its best understood in an example:
Public Class MyInterface
Public Economic as EconomicClass
Public Sub New()
MyBase.New()
[code].....
So you might ask why am I even separating them? It's strictly for others who will be working with this interface. I need to funnel them though a logical structure:
interface.Economic.MyMethod
interface.Currency.MyMethod
etc
This way everything is already handled for them in the background and they only need to run the method they need. I don't know if I can have it both ways in VB.NET.
View 23 Replies
Dec 20, 2009
I have two lists of strings. One is a list of all students in a class and the other is a list of students in the class that completed an assignment. The two lists are part:whole. So we have two loops for copying elements and displaying them in a list box for only the students who did submit.
Dim f As Integer
f = 0
Dim h As Integer
h = 0
While (usersinclass.Count > f)
h = 0
While (usersidthatsubmittedassingments.Count > h)
[Code] .....
What I need is the remaining portion of the "usersinclass" list. (i.e. The students who did not submit). I tried an Else statement BUT with nested loops, every element is guaranteed not to match at least once, so I was getting elements that shouldn't be there. So, is there anyway to run the given lists against each other again to pull out the remaining students? (preferably with no repeats).
View 1 Replies
Jun 9, 2011
I want to write a program to do Markov chain, but my states are quite large. First of all I calculate all the transition probabilities and revenues for all states(1381860 total states), and store in a multidimensional array. Public RevArr(0 To 9, 0 To 750, 0 To 282) As Long
After that the iteration of markov chain should use these as inputs to calculate the steady-state probabilities. But when I try to run the main code I got this error.Exception of type 'System.OutOfMemoryException' was thrown.
The following is the declaration of second array I add just another dimension for storing all the iterations, but I get this error. Dim stateprob(IT + 1, 0 To 9, 0 To 750, 0 To 282) As single
View 1 Replies
Mar 13, 2011
I recently had to use my "String converter" to convert 20 lines of text to a single line of "VB .Net String coding". For example:
This is line one
This is line two
This is line three "with extra stuff"
[Code]...
"This is line one" & vbCrLf & "This is line two" & vbCrLf & "This is line three " & chr(34) & "with extra stuff" & chr(34) & vbCrLf & vbCrLf & "Empty line above me"What is the best way to represent these types of Strings? For example, if you have to display a long message or just a label with information that changes.I was thinking of some sort of text file collection, but it is a little useless to have 100 text files of information of 5-6 lines.
View 13 Replies
Oct 8, 2011
Imagine there is a very large html file with of course lots of html tags. I cannot load the entire file into memory. My intention is to extract all indexes for this <p> and this </p> strings. How should I achieve it?
View 5 Replies
Feb 22, 2009
I am trying to parse a very large text file for certain strings. The text file is part of a level-making software for an old game I play. The text file basically contains all the information the level designer software needs, but the only important bit is the 'texture information'. Basically what I'm trying to create is a little program that parses the text files and shows the user a list of every texture in that text file. The problem is, the strings denoting textures are not really easy to find, and I can't think of any sensible and fast way to get them...
[Code]...
View 12 Replies
Jan 1, 2012
I have Class1 and class2 which is inside class1, VB.NET code:
Public Class class1
Public varisbleX As Integer = 1
Public Class class2
[code]....
View 1 Replies
May 3, 2012
I'm developing an app for WP7 and Win7 that will get info extracted directly from particular websites. The app will download the HTML source and parse through it to find the required strings. The strings may not have tags. note multiple instances of the string needs to be found. I've tried a few very rudimentary ways, and although they work, they are extremely slow.
View 4 Replies
Feb 7, 2012
Im trying to get a ComboBox that would list all the pc on a netowrk, (Domain and/or WorkGroup)the idea is so that when i start typing the name of the pc list would come up with sugestions (nearest match)
[code]....
View 2 Replies
Feb 23, 2012
this example shows my problem. I'm using VB.net 2010
Public Class Form1
Public Class BonoType
Public name As String
[Code].....
What happens is "Goose" is not only stored in tory(1) but also in tory1(1), how can I stop this.
View 2 Replies
Dec 27, 2010
Is it possible to raise event in one class and handle the event in another class? If so, how?
View 6 Replies
Jun 11, 2011
I'm writing a program which takes one item from each of two lists and combines the items in one of three ways selected by the user. The results of the process are provided in either a summary form or a detailed form, again selected by the user. As it's currently developing, this program will contain six subroutines covering each of the six combinations of user selections, which are stored in three Booleans. Selection of the appropriate subroutine is done through traditional "if then else" coding.If I understand OO and Visual Basic (Express 2008) correctly, I could make the subroutines into different variations of one method, which when invoked would automagically use the correct coding depending upon the settings of the Booleans / properties. Assuming this is correct, the problem is that I have no idea how to actually set up code like this.
View 4 Replies
Sep 21, 2011
I'm completely confused about the event handling. I read some articles about it but after it I just get confused to write and use them in my classes.This is my class i. e.:
[Code]..
I dont have any argument passing. But I want to know how should I do it too. And I wanted to know if each instance of the Test class, run this event separately I mean each instance by themselves, This event AnEvent() will occur? Cuz I have lots of instances from my class.
View 2 Replies
Mar 25, 2012
I have a class which has a variety of details, as follows:
Vehicle Name
Vehicle Address
VEHICLE Percentage: 10
I need to somehow use an Interface for another version, SpecialVehicle.
Special Vehicle has a different Percentage, for example 15.
How can I integrate that in an interface? I just don't understand them?
View 1 Replies
Jan 1, 2010
I have a product class which contains 11 public fields.
ProductId
ShortTitle
LongTitle
[code]....
The number of fields may grow with attributes for more specific product tyes. The description may contain a large amount of data.I want to create a slim version of this product class that only contains the data needed. I'm only displaying 4 of the 12 fields when listing products on a category page. It seems like a waste to retrieve all of the data when most of it isn't being used. I created a parent class of ProductListing that contains the 4 fields I need for the category page
ProductId
ShortTitle
Price
Img
Then created a class of Product that inherits from ProductListing containing all product data. It seems backwards as "ProductListing" is not a kind of "Product" but I just started reading about inheritance a few months ago so it's stil a little new to me. Is there a better way to get a slim object so I'm not pulling data I don't need?
View 3 Replies
Mar 11, 2009
I've 2 projects- one containing GUI and another a DLL project containing some implementations. I'm using Classes in DLL in my GUI. All that I wanna do is when some results are manipulated in the DLL, the final output from DLL should be made available in the RichTextBox present in the GUI project. I tried the WithEvents and also Add Handler. But its not working.In the DLL, I added...
Public Event Report(ByVal info As String)
RaiseEvent Report("The folder has been Copied.") In the GUI, I added...
Public WithEvents Log As RTAF_DLL.CServer // RTAF_DLLis the project name.
CServer is the class // in which the event has been writtenLog = New RTAF_DLL.CServer
Protected Sub Log_Report(ByVal info As String) Handles Log.ReportMsgBox(info)
// Even this is not getting printedMe.RichTextBox2.AppendText(info)End Sub
The problem here is I'm not sure whether or not the event is getting raised. But I set a breakpoint and found that the Event is not handled.I tried including Imports System.Runtime.InteropServicesBut its not working.
View 10 Replies
Dec 22, 2010
I'm trying to raise an event in class A and catch it in class B which does not contain class A. Is this possible? [code]
View 10 Replies
Nov 20, 2009
I have a WinForms class that presents a TreeView of some network nodes. I have a separate module that interfaces with the network and detects when nodes are added or removed. I would like the module to trigger the TreeView when the network changes.Example
Public Class Main
Friend Sub TV_Main_Network_Click ( ByVal sender As System.Object, _
ByVal e As System.EventArgs) _
[code].....
View 1 Replies
Aug 5, 2010
I am unable to register event, following is my code snippet
Class 1
Public Delegate Sub ReceivePacket(ByVal sender As Object, ByVal p As PacketHeader, ByVal s As Byte())
Public Event OnReceivePacket As ReceivePacket
Class 2
In Function of class 2
If rcvPack Is Nothing Then
rcvPack = New dotnetWinpcap.dotnetWinpCap.ReceivePacket(AddressOf ReceivePacket)
wpcap.OnReceivePacket += rcvPack
End If
I am getting error on wpcap.OnReceivePacket += rcvPack
unable to access event variable of class 1 in class 2 function
View 2 Replies
Jul 27, 2010
I have three classes Employee, Manager and Salesman. Manager and Salesman classes inherits Employee class.
Employee :
Public MustInherit Class Employee
' Field data.
Protected empName As String
Protected empID As Integer
Protected currPay As Single
[CODE]...
Manager :
Public Class Manager
Inherits Employee
[CODE]...
Salesman :
Public Class Salesman
Inherits Employee
[CODE]...
Now I have created a object of salesman and manager using the following code:
Dim objSalesMan as Employee=new Salesman("xyz",1,2000,5000)
Dim objManager as Employee=new Manager("abx",2,5000,"production")
Is this a good programming pratice or should I use:
Dim objSalesMan as new Salesman("xyz",1,2000,5000)
Dim objManager as new Manager("abx",2,5000,"production")
View 6 Replies
Feb 2, 2011
How do you clear the Recently Opened Program Lists in the start menu?
I've been making a computer cleaner, and I've Googeling and I guess binging so much to find an answer but i couldn't, does any1 know how?
The most I could find was: [URL]
BTW I know how to clear it, but I need to know with VB code.
View 2 Replies
Feb 25, 2011
I am trying to create a class whose end result is do create an XML document. Currently the class consists of nested classes that each build a section of the XML document. What I am hung up on is how I should tie the results of the inner classes for the final output.Should the outer class pass an instance of XmlTextWriter to each of the inner classes that build up specific sections or should each innerclass just output a string representation of the XML and the outer class can piece them together?
[code]...
The code is not complete but I hope it gives an idea of what I am trying to accomplish. I need to find a way to gather XML sections together to output as a single document.
View 3 Replies
Apr 25, 2010
I'd like to be able to log to the console every time an event is fired either in the object I've instantiated or in anything it's instantiated [ad infinitum]. I wouldn't see some of these events normally due to them being consumed further down the chain). Ideally I would be able to log all public and private events but if only public are possible, I can live with that.
I've Googled and all I can find is how to monitor a directory - So I'm not sure if this is not possible or simply has a name that I don't know.
The sort of information I'm after is similar to what's found in an exception - Target Site, Source, Stack Trace, etc...
Could I perhaps do this through reflection somehow?
To Give you an idea of the console App:
Sub Main()
Container = ContainerGenerate.GenerateContainer()
Dim TemplateID As New Guid("5959b961-b347-46bc-b1b6-cba311304f43")
[Code]....
View 2 Replies
Apr 15, 2012
I'm working on a class project where I have to create an item class with private attributes, public get and set methods for the attributes, and two non-access methods. I have two textbooks I work with. The first book is Clearly Visual Basic(Zak) and the second is Programming, Logic, and Design(Farrel). I've set my private attributes but I am having difficulty writing what I want to accomplish in the VB.net language.
Class CD1
Declarations
private string cdName
private string aristName
[code]....
View 14 Replies
Jan 16, 2010
I have a class SELF that is hosted by a couple different classes. Basically, the hosting class HOST calls a method in SELF. SELF is passed HOST as an argument in the constructor, so SELF can call methods in HOST. In normal situations, a call to HOST will do something minor, then return so that SELF can continue. However, for one particular type of HOST, one of the calls from SELF to HOST will cause HOST to call SELF, and so on ad infinitum. A classic, though convoluted, case of recursion. Once again, this is only going to happen for one type of HOST. For other types of HOST, that particular call will not cause HOST to call SELF, so there will be no recursion. Nonetheless, there is no getting around it in one case.
I can see two means to decouple the recursion, and I am wondering which one (or a third) would work best:
1) Add a timer into that particular HOST so that the call from SELF that would trigger the recursion would actually just start the timer in HOST, then return. When the timer ticks, HOST can call SELF. The recursion is broken because the call to SELF is done on the timer event, and not when SELF called HOST.
2) As it happens, HOST makes the first call to SELF in a background thread, which means I don't really need to worry whether this thread blocks or not. Therefore, I could have this background thread spawn a second background thread to make the call to SELF, then have the initial HOST thread JOIN on the second thread. This means that the initial thread will block until the second thread finishes. Meanwhile, the second thread will call HOST, and the HOST won't call back to SELF, it will just return like all the other HOST objects would do. This will allow the second thread to run to completion. When the second thread completes, the first thread will take over and call SELF again on a new second thread. Therefore, the recursion is broken because the secondary thread will always run to completion, and the primary thread will wait for the secondary thread to complete, then call it again.
I tend to prefer the second option, because the first option involves a pause of some length (the minimum for a timer, which is pretty small), while the second doesn't, but the first option is actually a little easier to implement.
View 6 Replies
Aug 27, 2010
I'm wondering on how you would go abouts instantiating a class that contains other complex objects. for example an Payment Class which has Date,Time, etc.. and it also holds a reference to a paymethod object which has id,Type,Description etc.. How do you instantiate the payment class with all the other objects without one or the other failing, how do you create the payment class which doesn
View 4 Replies
Aug 4, 2010
I have to convert a set of C# classes (class library) to SQL tables to be used by SQL Server, so that the data can be stored in a database and manipulated through the database.The problem is that the number of these classes is big (more than 1000 classes),and it would take a long time to setup manually such a database schema (tables,ndexes, stored procedures, etc.) - not to mention the class hierarchies that I need to maintain.
View 6 Replies