|
I have a class derived from CollectionBase that is giving me some wierd results. Whenever I add an object to the class, the List goes through my objects and changes all of them to equal whatever value(s) the new added object has.
I'm simply using the standard List.Add() method for my Add implementation. Why would it change all other objects in the collection to equal the added object?
|
|
|
|
|
I suggest you get ColGen2 from gotdotnet.com
It's a collection generator that does all this for you.
|
|
|
|
|
I am currently trying to set up a complex configuration file which
might look like this:
<configuration>
<configSections>
<sectionGroup name="MyGroup">
<section name="MySection"
type="System.Configuration.NameValueSectionHandler />
</sectionGroup>
</configSections>
<MyGroup>
<MySection>
<component id="1" start="0" length="2" default=""/>
<component id="2" start="2" length="10" default=""/>
[...]
</MySection>
<MyGroup>
</configuration>
So, how can I read all elements of MySection ? How can I access them ?
For your information, the id's aren't always starting with 1, they may
start with 500 or something like that.
Regards,
Michael
|
|
|
|
|
hi,
i'm doing some rect-invalidate-update-paint things. it works quite well with one exception:
the painting process is flickering, because the invalid rectangle is filled with the background-color first. does someone know, where i can turn that off?
i'm relatively new to C# and that class library. i hope it's just a matter of finding the right property...
thx in advance
:wq
|
|
|
|
|
Does anyone know of a method to return a list of files that a current executable is using? I will be doing this in C# but would like to get some input from anyone. Thanks in advance.
Nick Parker
|
|
|
|
|
I use this code for printpage:
private void printDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
int x = e.MarginBounds.Left+70;
int y = e.MarginBounds.Top;
try
{
for (int i=0;i<100;i++)
{
e.Graphics.DrawString( i.ToString(), new Font("Arial", 10), Brushes.Red, x, y);
y+=15;
if (y >= e.MarginBounds.Bottom)
{
e.HasMorePages = true;
return;
}
}
e.HasMorePages = false;
}
catch(Exception myE)
{
MessageBox.Show("Problem!!" + myE.ToString());
}
}
The problem is now I don't have two page from 1 to 100,my both pages in printpreview are the same and it draw second page the same as first one,not proceed it.
I hope it is clear.
Thanks
Mazy
"So,so you think you can tell,
Heaven from Hell,
Blue skies from pain,...
How I wish,how I wish you were here." Wish You Were Here-Pink Floyd-1975
|
|
|
|
|
isn't that function called each time you print a page? and it is starting each time with i=0. so it appears correct to me, that each page looks the same.
in fact: i'm wondering why it doesn't print infinitely
when printing the second page, you should start the i-loop where the one for the first page stopped.
...but i'm new to c# and the corresponding class library...
:wq
|
|
|
|
|
Rüpel wrote:
isn't that function called each time you print a page? and it is starting each time with i=0. so it appears correct to me, that each page looks the same.
Yes,I know it and I beleive you are right,but how can I solve it,my code is just simple example,in more complecated text its not like this.
Mazy
"So,so you think you can tell,
Heaven from Hell,
Blue skies from pain,...
How I wish,how I wish you were here." Wish You Were Here-Pink Floyd-1975
|
|
|
|
|
I add this member to mny class:
private string[][] lines;
Then in one function I use this:
for(int i=1 ; i < myDataView.Table.Rows.Count ; i++)
{
for(int j=0 ; j < myDataView.Table.Columns.Count ; j++)
{
lines[i][j]= "mazy";
}
}
But for the line 'lines[i][j]= "mazy";' I got unhandled error:
Object reference not set to an instance of an object.
What I missed for string[][]?
Thanks
Mazy
"So,so you think you can tell,
Heaven from Hell,
Blue skies from pain,...
How I wish,how I wish you were here." Wish You Were Here-Pink Floyd-1975
|
|
|
|
|
You aren't initialising the jagged array.
MSDN:
Before you can use myJaggedArray, its elements must be initialized
From the look of your code, you might find a multidimensioned array more useful. Here's the construct:
<br />
private static string[,] lines= new string[10,100];<br />
Cheers,
Simon
X-5 452 rules.
|
|
|
|
|
Thanks,It works now
Mazy
"So,so you think you can tell,
Heaven from Hell,
Blue skies from pain,...
How I wish,how I wish you were here." Wish You Were Here-Pink Floyd-1975
|
|
|
|
|
I want to create a Backup program for my PC and I want to know how can I write into a file all the filepath I backuped and all the data of each of these files. I want to write all that thing in one file and after I want to reopen the file I created and restore all the the path with the associated data to his correct place (the same path as in the file I created)
Thanks a lot
Jonathan
|
|
|
|
|
That all depends on how your program is structured
If you are just starting what I would do is create a single class or struct that represents one file in the back up. Give it the Serializable attribute and implement ISerializable.
When you implement ISerializable there are two things you must do: 1) provide a GetObjectData method, which puts the data into the serialization stream (ie a file) 2) provide a constructor that takes the same parameters as GetObjectData, except this takes the data out of the file and loads your class.
When you serialize the class (GetObjectData is called) store the original path/filename and then load the contents of the file in there. When you deserialize the class (the constructor is called) you pull out the original path/filename and then take the data out of the stream and place it in the file.
Then all your program has to do is manage these objects
James
Sonork ID: 100.11138 - Hasaki
"I left there in the morning
with their God tucked underneath my arm
their half-assed smiles and the book of rules.
So I asked this God a question
and by way of firm reply,
He said - I'm not the kind you have to wind up on Sundays."
"Wind Up" from Aqualung, Jethro Tull 1971
|
|
|
|
|
do you have a sample code, i'm not familiar with this knid of stuff ?
Thanks
|
|
|
|
|
I don't have anything premade but I can come up with a general solution that will need a little tweaking
[Serializable()]
public class BackupFile : ISerializable
{
private string _filename = "";
private byte[] _filedata = null;
public string Filename
{
get { return _filename; }
set { _filename = value; }
}
public byte[] FileData
{
get { return _filedata; }
set { _filedata = value; }
}
private BackupFile() { }
public BackupFile(string filename)
{
Filename = filename;
FileData = null;
}
public BackupFile(SerializationInfo info, StreamingContext context)
{
byte [] tempB = new byte[1];
Filename = (string) info.GetValue("filename", typeof(string));
FileData = (byte[]) info.GetValue("filedata", temp.GetType());
WriteFileToDisk();
FileData = null;
}
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
FileData = LoadFileFromDisk();
info.AddValue("filename", Filename, Filename.GetType());
info.AddValue("filedata", FileData, FileData.GetType());
FileData = null;
}
private void WriteFileToDisk()
{
}
private void LoadFileFromDisk()
{
}
} Now you may wish to also offer compression as well, there is a .NET implementation of gzip/zip available at ICSharpCode.NET.
The compression library is GPL, but there is an exception that reads "As a special exception, if you link this library with other files to produce an executable, this library does not by itself cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU General Public License."
James
[Edit: AHA! I finally figured out how to get the "extra" linebreaks to appear... They can't be blank lines Each "blank" line needs a space on it. Pardon me while I celebrate ]
Sonork ID: 100.11138 - Hasaki
"I left there in the morning
with their God tucked underneath my arm
their half-assed smiles and the book of rules.
So I asked this God a question
and by way of firm reply,
He said - I'm not the kind you have to wind up on Sundays."
"Wind Up" from Aqualung, Jethro Tull 1971
|
|
|
|
|
I have an , I need X to be a string variable that each time it is generated by a method :
void generateX(Obj sender, EventArgs e)
{ X="sth";}
But when I assign <iframe src="sample.aspx?id=<%=X %>" />, it does not work?
How I can pass X value to src of iframe?
Chris#
|
|
|
|
|
make your generateX() routine return a string, and use <iframe src="sample.aspx?id=<%= generateX() %>" />
And why do you have the parameters on generateX?
--
David Wengier
Sonork ID: 100.14177 - Ch00k
|
|
|
|
|
GenerateX() method has to be void, since it gets called by a listBox control:
onSelectedIndexChanged="GenerateX". This purpose of this method is to generate a sqlWhereClause, X is a public variable I defined in top (outside of this method), and I intended to use X value to pass to an url as querystring. It seems that use my method does not give me anything. But if view source of the web page, I can see the values replaced x in the spot.
Then I tried to put IFrameName.src=".." in GenerateX() method, it said src is not found. How I can make a method return string while I need to have this void function to correspond to an ListBox onChange event?
Any thought may enlight me ! Thanks in advance.
Chris#
|
|
|
|
|
Chris# wrote:
I can see the values replaced x in the spot.
If the value is being inserted into the page properly, but not being passed to the sample.aspx page, then maybe you need to HTMLEncode it first.
--
David Wengier
Sonork ID: 100.14177 - Ch00k
|
|
|
|
|
Hi,
Does anyone knows how can i insert a matlab code into c#?
Thanks.
|
|
|
|
|
I'm stumped. (I really am a decent MFC programmer, seriously...)
I'm writing a control to move an image around.
If I override KeyDown, I can capture absolutely EVERYTHING except for the four cursor keys. Everything else is captured, shift, control, insert, home, pgup, 'A', etc...
private void Afix_KeyDown( object sender, KeyEventArgs e )
{
switch( e.KeyCode )
{
case Keys.Up:
...;
break;
case Keys.Down:
...;
break;
}
}
What am I doing wrong on the cursor keys?!
Thanks guys!
|
|
|
|
|
You need to override the form's IsInputKey method to tell it that the cursor keys are to be handled as input.
HTH,
James
Sonork ID: 100.11138 - Hasaki
"I left there in the morning
with their God tucked underneath my arm
their half-assed smiles and the book of rules.
So I asked this God a question
and by way of firm reply,
He said - I'm not the kind you have to wind up on Sundays."
"Wind Up" from Aqualung, Jethro Tull 1971
|
|
|
|
|
Thanks James. Works great now.
Here's the code I used to override IsInputKey
protected override bool IsInputKey( Keys keyData )
{
bool bIsInputKey = true;
switch( keyData )
{
case Keys.Left: break;
case Keys.Right: break;
case Keys.Down: break;
case Keys.Up: break;
default:
bIsInputKey = base.IsInputKey( keyData );
break;
}
return bIsInputKey;
}
|
|
|
|
|
I'm not into C# for more than few days and I allready like it.
I have some free time and would like to explore it, and it looks like it would be perfect if I could start using it for real, but I'm not shure if it could fulfill my needs.
The thing is that, for example, I will be required to develop a pluginable application in a month or two, and I have been reading MSDN all day long, being unable to find out how to do it with C# and managed enviroment.
Recently I used COM to develop plugin objects that would, upon plugin installation, register (regsvr32) themselves and add class GUID to my applications registry key. The application would then upon start enumerate all GUIDs from it's registry and load required plugin objects and it worked fine.
Before that I simply had a plugin directory with plugin dll-s which exported function (.def) that was a object factory. App would enumerate dlls in that specific directory and LoadLibrary them and stuff.
I wrote a simple component dll in C# and a client using it and it's easy and cool.
But I don't have a slightest idea how could I (if it's possible at all) write a component and import it at run time only by knowing .dll path or some sort of object id?
All plugin objects would ofcourse implement the same plugin interface and use some same typelib or something.
Is there a way?
|
|
|
|
|
I should have read the previous messages, as it is allways suggested
I've just read the 'How to import C# dll dynamically' thread (20:11 24 Feb '02).
So I think I could do something with that.
If, however, someone would like to give me an idea of how to solve my problem - the best and easiest way - I would be thankfull
|
|
|
|