|
hey...
i did like u asked...but it again an again shows me the 2nd form in which i enter the details...n it doesn't show me the treeview..n value donn get inserted into the treeview
do tell me wot to do...
|
|
|
|
|
4get the reply which i jus sent by mistake..i got how to do it..thank u...
|
|
|
|
|
Hi,
what would be the best solution for this scenario?
---
I want to post xml messages into some sort of queue
which multipe subscribers can listen to
and when _all_ subscribers have received the message it should be deleted from the queue
---
(what i want to do is pretty much a big observer solution... where separate systems can notify eachother in an event'ish kind of way)
is msmqueue appropriate for this?
or is it simpler to just make my own fake queue in a table in a db and just poll it?
//Roger
|
|
|
|
|
I am still trying to get to grips with all the possibilities in C#. I am look for suggestion for the best way to implement the following.
I have a text file in Comma Separated Value (CSV) with 7 columns of double values. On a load of the form I want to be able to read these values to be displayed some time later.
My thinking is to store the data values in a 2 dimensional array. I have to know the number of fields to declare the array.
I do not know the number of lines in the file - so I can't create the 2-dim array up front. So do I read the file to determine the number of lines then create the array? Then re-read to assign the values to the array. By the way I am using
TextReader tr = new StreamReader(Filename);
Alternatively, I did see the ArrayList type. I could just add to this list without having to define ot up front. I did not like this as it did not seem to be typed - I want to use doubles.
What would be the best way to go? Should I use some other C# method?
Ta,
Liam
|
|
|
|
|
If you want it strong-typed then you'll have to create your own collection.
But first I'd define a class to hold the 7 values (each value does have a separate meaning, doesn't it?), so that each class instance represents a line in your file.
Then I'd create a strong-typed collection of this class. You can inherit from CollectionBase and override the methods neccessary to ensure type-safety of your collection.
Regards,
mav
|
|
|
|
|
I may have over 5000 lines in the file. Are you saying that I should have 5000 instances of this class?
Yes each value has a separate meaning.
I am not familiar with CollectionBase I will have a look into this.
So do I perform something like this:-
TextReader tr = new StreamReader(Filename);<br />
while (( text_line = tr.ReadLine() ) != null )<br />
{<br />
string[] arrStr = text_line.Split(',');<br />
<br />
for ( i=0; i<arrStr.Length; i++)<br />
{<br />
Assign_To_Array_Or_Class(arrStr);<br />
}<br />
}
|
|
|
|
|
If you want to have all the data in memory, then yes, you'd have 5000 instances of this class.
You could, for example, add a static function to your class FromString() to perform parsing of a single input line and return a new instance holding the correct values.
This instance would then be added to your collection.
Something like this:
MyClassCollection coll = new MyClassCollection();
while((text_line = tr.ReadLine()) != null)
{
MyClass cls = MyClass.FromString(text_line);
coll.Add(cls);
} Regards,
mav
|
|
|
|
|
Something like this:
FileStream fs = new FileStream(_sFileName, FileMode.Open, FileAccess.Read, FileShare.Read);
StreamReader reader = new StreamReader(fs);
ArrayList dates = new ArrayList();
ArrayList data = new ArrayList();
char[] sep = {','};
while(reader.Peek() != -1)
{
string[] rec = reader.ReadLine().Split(sep);
double[] record = new double[rec.Length];
for(int i = 0; i < rec.Length; i++)
{
if(Char.IsLetter(rec[i],0))
record[i] = 0d;
else
{
try
{
record[i] = double.Parse(rec[i]);
}
catch
{
record[i] = 0d;
}
}
}
data.Add(record);
}
double[][] dData = (double[][])data.ToArray(typeof(double[]));
reader.Close();
fs.Close();
reader = null;
fs = null;
|
|
|
|
|
Anthony,
EXCELLENT! 10/10. When it is presented as code it make things so much clearer. It is good to see how other people use the c# language. Your short piece of code has given me extra ideas how to use C#.
Thanks you for your effort it is appreciated.
Thanks,
Liam
|
|
|
|
|
hi all,
I need to send an Email with attached document to pub1234@yahoo.com .I have to do it using C# coding.
How I do it?.
Can any one help me ?
thanks in advance..
|
|
|
|
|
This question has been asked here a gazillion times, so please use the search function before posting...
Regards,
mav
|
|
|
|
|
Hi
I save my documents in a database. While opening them, I make a copy on the local hd and open them. But how can I know, when the user has finished with the changes and closed the document, so I can save them back to the db?
Is there something like a file open check?
At least the office programms have kind of a lock, so only one user can open the document. Can I use that - and if yes, how?
Thank you
Adrian
|
|
|
|
|
Hi!
There's no general "data from this file still in use" flag.
As long as a file has been opened by an application, Windows will know that the file is open, but usually an application will close the file as soon as it's been read. While you're working with the data, the file is closed, so there's no general way to know when you've finished manipulating the data.
Each application has to decide for itself if and how to maintain file locks.
For Office documents there might be properties to find out the user who has opened a document recently, but I'm not sure.
For other documents each application will most likely behave differently.
Regards,
mav
|
|
|
|
|
I can think of following workaround
Create a copy of your current file in memory, then try to delete it, (see MSDN File.Delete Function) if it throws the IOException, the file is still in use .
if it's deleted, write your in-memory version to db.
Good luck.
No hurries, no worries.
|
|
|
|
|
That won't work!
Imagine a plain text file that's being edited with Notepad.
The file will only be in use while Notepad actually loads it. This takes a fraction of a second, after that your "workaround" would save the file back to the DB, albeit the user didn't even have a chance to modify the text or save the changed file!
mav
|
|
|
|
|
Im checking a workaround by watching the process I had started. It doesn't work always, because most of the programs, like word, don't create a new process when they'r already open.
|
|
|
|
|
ok tnx, but there should be a way for checking if a file is in use, no?
No hurries, no worries.
|
|
|
|
|
There is a check, and usually the easiest way to check is to try to open a file exclusively. If this fails, then usually another process has the file in use.
But the main point is that "file is in use" is not the same as "the data inside the file is being modified".
mav
|
|
|
|
|
The process watcher version doesn't work neither. The problem is, that many programs immediately delecate the file to another process and stop the first one. By office programs I even never get the process.
|
|
|
|
|
That's what I'm saying. There is no general way, sorry.
mav
|
|
|
|
|
|
Hello,
is it possible to use datagrid component of .net 2005 in .net 2003?
if yes, please tell me how??
|
|
|
|
|
The short answer is No, that DataGrid requires 2005 to run. The 2003 compilers will not work with the 2005 .NET Framework. You'd have to write a remoting wrapper around the DataGrid class. The more I think about it, the uglier it gets.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hello Everyone:
I have posted the same question in managed C++ board.
This is my problem:
I have C# project compiled as a DLL. The C# class is defined as:
public Cs_Class
{
String name;
public Cs_Class(String n)
{ name = n; }
....
}
I have another MC++ project that uses the DLL. The MC++ class is defined as:
public Cpp_Class
{
....
void Test(String* testStr)
{
//Create the c# class
//
Cs_Class* c = new Cs_Class(testStr);
}
}
The compilation/linking was fine. I then encountered a run-time exception:
System.MissingMethodException: Method not found: Cs_Class..ctor(System.String)...
Strangly enough, if I took out the String parameter in Cs_Class constructor and not pass in String* in MC++ class when constructing the Cs_Class object, then everything was fine.
Why??
Thanks in advance.
David
|
|
|
|
|
To hence forth the problem is to dematerialize the occasion of being interpeticular of yomessing
|
|
|
|