|
That solved my problem. Thx a lot!
/Jop
|
|
|
|
|
SK Genius wrote: And why oh WHY does Math.Floor, and Math.Ceil return double's? They return integers, so why not return an int
Because the rounding operations are floating point operations performed by the FPU. The result is a floating point number, and the methods reflect this.
The methods could of course have included casting so that they returned integer results, but if you then needed the value as a double, that would result in two casts without any good reason at all.
Also, the result of Math.Floor(1000000000000.0) doesn't even fit in an integer.
Some things doesn't make sense until you realise that the alternative makes even less sense.
Despite everything, the person most likely to be fooling you next is yourself.
modified on Wednesday, February 27, 2008 8:39 PM
|
|
|
|
|
Guffa wrote: Some things doesn't make sense until you realise that the alternative makes even less sense.
Class comments ... made me chuckle!!
|
|
|
|
|
Ok, I really just wanted to use the word edification. ^ is the bitwise XOR in most computer programming languages.
Need a C# Consultant? I'm available.
Happiness in intelligent people is the rarest thing I know. -- Ernest Hemingway
|
|
|
|
|
My problem is as follows. The program works by creating new dataTable from a schema that the user has specified. once the person creates the table they fill it out, and hit the save command. The dataset is then saved to the sample object and serialized for later use. The problem occurs after the file is reloaded to edit. The previous data saved correctly and is displated on the datagrid. However if i change the data and then hit the save command again, it does not appear to save. Upon closing and reopening of the file, the dataSet looks as the origonal. Please help me. thanks,
public Sample sample;
public void sampleToEdit( Sample s, string path )
{
dataGrid1.DataSource = s.sampleData;
dataGrid1.DataMember = "sample";
sample = s;
}
private void saveCmd_Click(object sender, System.EventArgs e)
{
if ( isNewSample )
{
// this code runs when sample is created
Container sampleContainer = getContainer( templateDir + "sampleContainer.dat" );
string filename = sampleDir + uniqueCode + ".smp";
sampleContainer.container.Add(filename);
setContainer(sampleContainer, templateDir + "sampleContainer.dat" );
sample.sampleData = dataGrid1.DataSource as DataSet;
storeSample( sample, filename );
}
else
{
// this code runs when someone opens table to edit
string filename = sampleDir + uniqueCode + ".smp";
sample.sampleData = dataGrid1.DataSource as DataSet;
sample.sampleData.AcceptChanges();
storeSample( sample, filename );
}
}
modified on Wednesday, February 27, 2008 7:26 PM
|
|
|
|
|
Hi All,
I'm just looking into a stack of messages generated by this tool and I'm just wanting to ask a couple of questions.
One of the warnings is about implementing IFormatProvider on this line of code:
MainScreenTitle.Content = Constants.App_Name + Constants.SampleSort_Version.ToString();
Constants.SampleSort_Version is a double. FXCop is saying SpecifyIFormatProvider. How do you go about implementing CultureInfo stuff? Is this an App.config thing?
Also i'm seeing AssembliesShouldHaveValidStrongNames error with a resolution of : "Sign 'SampleSort.Presentation.exe' with a strong name key." How do you sign .exe and assemblies properly to avoid things like this?
There are a load of other errors that I'm going to have to make my way through but i'm really new to C# and am still very much at the scratching head stage in the learning curve (what a curve though!).
Thanks,
James.
|
|
|
|
|
The warnings in FxCop will contain links that explains all of this in great detail.
In your specific cases, you should consider:
1. Constants.SampleSort_Version.ToString(CultureInfo.InvariantCulture);
2. Google for .NET strong name.
In some rare cases, you will need some other parameter instead of InvariantCulture.
Cheers,
Vikram.
If the radiance of a thousand suns
Were to burst at once into the sky
That would be like the splendor of the Mighty one—
I am become Death,
The shatterer of Worlds.
|
|
|
|
|
Thanks for the input Vikram. My little fingers will be a-Googlin plenty for the next few days!
|
|
|
|
|
Hello people. I've been having this issue for a couple of days, and maybe someone can help me.
I have a datagridview with a collection as datasource. This collection has some properties as boolean, so when I bind it to the datagridview, the columns type for that properties get the same type (boolean). For cosmetic issues, i want to change the true value for an "X" and the false value for a (blank), but when i try to change it in CellPainting Event of the Grid, it throws an exception saying that the types don't match and that the value "X" cannot be parsed as a boolean.
I have this little routine in CellPainting Event of the grid....
if (e.ColumnIndex >= 2)
{
if (this.dgCompare.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString().ToUpper().Equals("TRUE"))
{
this.dgCompare.Rows[e.RowIndex].Cells[e.ColumnIndex].ValueType = typeof(string);
this.dgCompare.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "X";
}
else
{
this.dgCompare.Rows[e.RowIndex].Cells[e.ColumnIndex].ValueType = typeof(string);
this.dgCompare.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = "";
}
}
As you can see, I'm changing the type of the cell before assining the new value.
Thanks in advance for your help!
|
|
|
|
|
ah, a long way
buddy if you have bind the DGV then you cannot change the type of any cell,
i think first you should remove the binding then do this code, and CellPainting Event is for painting graphics on control, you should use CellClick Event
simple and short code:
if (e.ColumnIndex >= 2)
{
dgCompare[e.ColumnIndex,e.RowIndex].ValueType = typeof(string);
if (dgCompare[e.ColumnIndex,e.RowIndex].Value.ToString().ToUpper().Equals("TRUE"))
dgCompare[e.ColumnIndex,e.RowIndex].Value = "X";
else
dgCompare[e.ColumnIndex,e.RowIndex].Value = "";
}
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87??6?N8?BcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKSQXUFYK[M`UKs*$GwU#(QDXBER@CBN%
Rs0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-i?TV.C\y<p?jxsg-b$f4ia>
--------------------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
Thanks man, but is there any way to get around that without removing the binding?
|
|
|
|
|
hmm...i think its not possible
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87??6?N8?BcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKSQXUFYK[M`UKs*$GwU#(QDXBER@CBN%
Rs0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-i?TV.C\y<p?jxsg-b$f4ia>
--------------------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
I think i will have to construct a datatable in code and then set it as DGV's datasource.
Thanks!
|
|
|
|
|
yeah that would be a good way
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87??6?N8?BcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKSQXUFYK[M`UKs*$GwU#(QDXBER@CBN%
Rs0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-i?TV.C\y<p?jxsg-b$f4ia>
--------------------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
You have to create a Template Field and place a label inside that. Then create a formatting method in the ASP.NET page's code-behind class (or in a separate class library, implemented as a static method) and invoke it from the template.
|
|
|
|
|
Hi,
I have a special keyboard which doesn't have "@" key... it's a problem for my application (including Webbrowser).
For textbox controls, there is no problem : I use the keypress event and add following code :
if (e.KeyChar.Equals('ù'))
{
e.KeyChar = '@';
}
But I have a problem with the webbrowser component. There is only a PreviewKeyDown event which allows to catch "ù" but not to remove it. How can I do that ?
I have tried to override wndproc to catch "ù" and to remove it but I only get windows message WM_GetDLGCode (with no information on lParam and wParam)
I have no more ideas...
|
|
|
|
|
Hi,
this might work: inside PreviewKeyDown event handler when a 'ù' is received
1. send a '@' (I think there are many ways to do this, SendKeys class being one of them)
2. use PreviewKeyDownEventArgs.IsInputKey to suppress further processing
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
Thanks for your quick answer.
I've tried this solution but there is a problem. Here is the code added on previewkeydown event :
if (e.keyvalue == 192)
{
e.IsInputKey = true;
Sendkeys.SendWait("@");
}
When I press "ù" key on my webbrowser, I have two characters printed on screen "@ù".
I've tried to remove "e.IsImputKey = true;" and the result is quite strange : "@@ù" !!???
I've added a breakpoint on this part of the code and it is called 3 times (should be because of Keydown, Keypress and Keyup ??)
Is there another way to remove "ù" on previewkeydown event ?
Ric
|
|
|
|
|
did you try e.IsInputKey = false; ?
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
Yes. But in this case, I have "@@ù"...
Any idea ?
Ric
|
|
|
|
|
OK, this is what I would do:
- set Form.KeyPreview=true for your Form;
- create a Form.KeyDown handler;
- in that handler if input char is 'ù'
1. send a '@'
2. suppress further processing of 'ù' by setting KeyEventArgs.SuppressKeyPress=true;
and KeyEventArgs.Handled=true;
BTW: what is your keyboard? is it the usual French keyboard? How do you call its layout
(is it AZERTY?).
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
This only works for components like textboxes on the form but not for the WebBrowser. When you press a key on your Webbrowser, it is not detected on keydown event of the form...
I think the only way is by previewkeydown event of webbrowser component. As you know, the result is always that I have characters "@ù" when I press "ù". Is there a solution to remove the "ù"? I don't know... I'm searching a solution since 1 week now, and I'm starting to be crazy
The keyboard is dedicated for kiosk application (metal steel keyboard) and, yes, the layout in France and for this keyboard is "AZERTY"
Please HELP
|
|
|
|
|
Hi,
I looked into WebBrowser and discovered it does not handle keyboard events like normal Controls,
it does not have the regular keyboard events and it also does not allow its parent Form to
preview them. This tells me you need to dig deeper to solve the problem, look for "system hook",
which solves all kinds of system wide event stuff below the application level, so you can teach
your PC to always replace 'ù' by '@'
I haven't done this myself yet (I use QWERTY!) but I trust it works well, I don't recall having
read any problems with it; there are several articles on CP about system hooks, and then there is the bible.[^]
Hope you get it working without much ado.
Luc Pattyn [Forum Guidelines] [My Articles]
This month's tips:
- before you ask a question here, search CodeProject, then Google;
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get;
- use PRE tags to preserve formatting when showing multi-line code snippets.
|
|
|
|
|
hiee,
i'm writin an prg 4 sending mails
this is ma code ,its works fine .
bt i want to display de error msg that might occur as in de exception
|
|
|
|
|
Daljeet515 wrote: this is ma code
Your mother is writing the code ?
writin prg 4 ma bt de - these things make you look like a moron. This is not a mobile phone, it's a computer. You have 101 keys, use them.
Christian Graus - Microsoft MVP - C++
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|