|
ok, i'm gonna try to be more specific, i think i missed something
check this out please and tell me what i didn't do right
there is my .csv file
3,One,Two,Three,Four,Five,Six,Seven,Eight,
0,5/19/2007 6:21:02 PM,A,B,C,777,,,,
1,5/19/2007 6:20:59 PM,A,B,C,666,,,,
2,5/19/2007 6:20:57 PM,A,B,C,555,,,,
<br />
string[] Entier;<br />
<br />
string[] Colonnes;<br />
<br />
<br />
<br />
Entier = File.ReadAllLines("pdg.csv");<br />
<br />
<br />
foreach (string CurrentLine in Entier)<br />
{<br />
<br />
Colonnes = CurrentLine.Split(new Char[] { ',' });<br />
<br />
foreach (string CurrentCol in Colonnes)<br />
{<br />
ListViewItem item1 = new ListViewItem(CurrentCol);<br />
item1.SubItems.Add(Unit);<br />
listView1.Items.Add(item1);<br />
}<br />
}
and there is my code. as you see i can read the file, can read only one line, can read one "item" in the line but i just dont know how to take all those parts and put it in my listview.
something i just dont catch
|
|
|
|
|
|
Hi:
I'm a bit confuse whether i need to release resouce on dcom object (just like db connection) after use. For example:
public myApps
{
private object dcomInstance;
public void Connect(string ip)
{
Type t = System.Type.GetTypeFromProgID("myCompany.Application", serverIP, true);
dcomInstance= Activator.CreateInstance(t);
}
public void doSomeStuff()
{
dcomInstance.SomeFunction();
}
}
Main()
{
myApps a = myApps();
a.Connect(remoteip);
a.doSomeStuff;
}
Once I'm done with the myApps in Main(), is it necessary to release on the dcomInstance or that .net framework automatically does that for me.
If releasing resource is necessary, how should i do it?
Some sample codes will be greatly appreciate. Thanks!
|
|
|
|
|
hey ..
i'm getting OutOfMemory Exception in this:
private int[,,,,,,] m7Array = new int[50,50,50,50,50,50,50];
why ?
|
|
|
|
|
Have you any idea how many gigabytes you are asking for ?
AFAIK 32-bit Windows cant give more than 1 or 2 GB to a single process (assuming
the RAM is actually available).
|
|
|
|
|
i have 7 numbers i'd like to remember.
say 1,2,3,4,5,6,7 ..
what i was thinking about was to increase by 1 the array place, that is m7Array[1,2,3,4,5,6,7]++.
how else can i do this ? XOR hashing won't work (different combination will give the same) and also XOR with elements summery.
anyone have a different idea ?
|
|
|
|
|
You want to store 7 numbers in an array, what you need is
int myArray[] = new int[7];
for(int i = 0; i < 7; i++)
{
myArray[i] = i;
}
WilenX wrote: what i was thinking about was to increase by 1 the array place
Not sure what you mean by this. Do you want an Array that grows dynamically? If so, what you need is a List. Check out System.Collections .
Cheers,
Vıkram.
Déjà moo - The feeling that you've seen this bull before.
Join the CP group at NationStates. Password: byalmightybob
|
|
|
|
|
what i meant was to increase by 1 the place of the combination.
say i have thousands of combinations, that i want to store in memory.
smaller example would be:
case 2,3,4 -> m3Array[2,3,4]++;
thus, i know 2,3,4 combination was selected at lease once. if another 2,3,4 combination comes along, thery would be 2 in m3Array[2,3,4].
i'm not familiar with the Collections namespace ..
|
|
|
|
|
WilenX wrote: say i have thousands of combinations
Combinations of how many numbers? Also, what is the upper bound of each of these dimensions? If it's going to be more than a handful, you're probably better off using sparse matrices. I don't know if it's the best source, but Data Structures and Algorithms by Tremblay and Sorenson has a word on it.
Cheers,
Vıkram.
Déjà moo - The feeling that you've seen this bull before.
Join the CP group at NationStates. Password: byalmightybob
|
|
|
|
|
like i said, maybe the problem in its simplified way should be better to understand.
make it 100 combinations.
i figured the best way to remember which combination came as an input and how many times, would be to store it in an array that's address is the combination, and value is the number of times ...
m3Array[2,3,4]++;
i'll look it up .. the sparse matrices thing .. thanks
|
|
|
|
|
Are you serious? You're asking for ~2910 TB of memory.
Cheers,
Vıkram.
Déjà moo - The feeling that you've seen this bull before.
Join the CP group at NationStates. Password: byalmightybob
|
|
|
|
|
lol ... i'm new at this ...
how did you get this number ?
|
|
|
|
|
WilenX wrote: how did you get this number ?
Your code creates an array of 7 dimensions, each of length 50. Since an int occupies 4 bytes, you were asking for 4 * 50 ^ 7 bytes.
Cheers,
Vıkram.
Déjà moo - The feeling that you've seen this bull before.
Join the CP group at NationStates. Password: byalmightybob
|
|
|
|
|
i think i'll work with bytes..
since 50 numbers can be represented in just 1 byte...
|
|
|
|
|
Still, that's 50 * 50 * 50 * 50 * 50 * 50 * 50, or 781,250,000,000 bytes of memory. Does you're machine have at least 781 gigabytes of RAM?
|
|
|
|
|
What is it that you are trying to accomplish?
The array you are declaring is a multi-dimensional array all right, but what you are doing is saying that you have an array of 7 x 50 (rows x columns).
From your other response, you said you were trying to remember only 7 numbers. This would be a single dimensional array of 1 x 7 and you would declare it like private int[] m7Array = new int[7] . You would then access it like m7Array[2] = 25 , to set the third position to the number 25. (Arrays in C# are zero-based, so the first position is at index 0.)
-----------------------------
In just two days, tomorrow will be yesterday.
|
|
|
|
|
At first I thought he was creating a jagged array of 50 * 50 * 50 * 50 * 50 * 50 * 50 ints, but I think the 7 * 50 thing is correct. But why would he get an exception trying to create 350 int s?
Cheers,
Vıkram.
Déjà moo - The feeling that you've seen this bull before.
Join the CP group at NationStates. Password: byalmightybob
|
|
|
|
|
I don't know why he would get that exception. As you said in your other post[^], he is creating an array of 7 dimensions, each of length 50. Since an int occupies 4 bytes, he is asking for 4 * 50 ^ 7 bytes.
-----------------------------
In just two days, tomorrow will be yesterday.
|
|
|
|
|
I originally thought it was a 7-D array, but your first post made me think it was 2-D. Now I'm confused. If it's a 7-D array he's creating, I'm not surprised it bombed.
Cheers,
Vıkram.
Déjà moo - The feeling that you've seen this bull before.
Join the CP group at NationStates. Password: byalmightybob
|
|
|
|
|
Yes, his original code was creating a 7-D array. I thought what he was after was a 2-D array.
-----------------------------
In just two days, tomorrow will be yesterday.
|
|
|
|
|
Hi,
if you want to remember a reasonnable number of combinations (i.e. less than a few
million), this is what I suggest:
- define a string format that holds the entire combination in a unified way (meaning
same combination will result in same string); example: order the numbers in
ascending order, concatenate them with a comma as separator (e.g. "1,2,5,9,12,13,14")
- use a Hashtable to store the combinations and their multiplicity: use the above
string as the key, and put the multiplicity as the value.
- now to add a combination, look it up in the Hashtable; if it is not there, add it
with multiplicity 1; if it is there, read its multiplicity (cast to an int !), add 1,
and write it back.
Thats all there is to it. No need for gigabytes of memory.
|
|
|
|
|
I am trying to use the menustrip as a tabcontrol, so the whole form changes depending on what I choose in the menu. Do I need to design one form for each menu option or is there an easier way?
Thank you for any ideas.
//Husker47
|
|
|
|
|
Create your "tab" forms (the one displayed in response to the menu choice) as a user control instead of a form. On your main form (the one with the menu) put a panel (set to Dock.Fill or the specific size you need) that will hold the user control. On the menu event handlers, create a new instance of the appropriate user control, clear your panel's controls array and add the new user control to the panel.
-----------------------------
In just two days, tomorrow will be yesterday.
|
|
|
|
|
Or, similarly, not that I've tried it... have a Panel for each layout, and set each to .Visible=false except the one you want to display.
|
|
|
|
|
Yes, that would work as well. The benefit to having them as separate user controls is mostly that it makes it easier to design and maintain.
-----------------------------
In just two days, tomorrow will be yesterday.
|
|
|
|
|