|
numero uno
so everything is easier to remember
|
|
|
|
|
One class per file, and of course real programmers use nested classes, so even then they tend to get big, hopefully .NET 2 will help out there. It would be nice to group files according to function.
leppie::AllocCPArticle("Zee blog"); Seen on my Campus BBS: Linux is free...coz no-one wants to pay for it.
|
|
|
|
|
One class per file except when the classes are small, very similar or closely related.
I also put all rarely used classes in the same file.
(Like by aggregation).
God bless regions.
|
|
|
|
|
private void Mousedownhere(object sender, System.Windows.Forms.MouseEventArgs e)
{
DataGrid myGrid = (DataGrid) sender;
System.Windows.Forms.DataGrid.HitTestInfo hti;
hti = myGrid.HitTest(e.X, e.Y);
string message = "You clicked ";
switch (hti.Type)
{
case System.Windows.Forms.DataGrid.HitTestType.None :
message += "the background.";
break;
case System.Windows.Forms.DataGrid.HitTestType.Cell :
message += "cell at row " + hti.Row + ", col " + hti.Column;
message += "Row Number : "+Convert.ToString(myGrid.CurrentRowIndex)+"\n\r"+
myGrid[hti.Row, hti.Column];
fscount = hti.Row;
break;
case System.Windows.Forms.DataGrid.HitTestType.ColumnHeader :
message += "the column header for column " + hti.Column;
break;
case System.Windows.Forms.DataGrid.HitTestType.RowHeader :
message += "the row header for row " + hti.Row;
fscount = hti.Row;
string cellvalue = Convert.ToString(myGrid[hti.Row,2]);
// if (cellvalue==”CHINA”)
MessageBox.Show("value is="+cellvalue,Convert.ToString(hti.Row));
break;
//BUT IF I REMOVE THE COMMENTS FROM THE ABOVE if (cellvalue==”CHINA ”) THEN IT DOES NOT SHOW ME //THE MESSAGEBOX
// WHY???????????????
}
}
|
|
|
|
|
Try debugging your code. Put a break-point at the beginning of that case and step through your code, checking the state of variables as you step over each line. And keep in mind that using the == operator for strings results in a case-sensitive comparison. See String.Compare for a better, culture-aware comparison with many more capabilities.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
String comparison
Is there any way so that all the below conditions give me true results.
String val = “Hello”
Now comparing val it with the following code.
1 “Hello “ //Note white space at the end of Hello.
2 “ Hello” //Note white space at the beginning of Hello.
3 “Hello “ //Note two white spaces left at the end.
4 “ Hello “ //Note white space both at thebegining and end of Hello.
5 “hello” //Note the caps change.
6 “HEllo” //Note the caps change.
Thanks
|
|
|
|
|
Look at the documentation for the String class - not reading won't teach you anything. Specifically, look at the Compare (like I mentioned before which can do case-insensitive and culture-specific comparisons) and Trim methods.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
i'm not a english speaker,i hope you can understand my expression.
i want to compile my code with commands.
i input for example csc example.cs but theres no program result shows.
whether i need any parameter with the "csc" command?
thanks for your help
|
|
|
|
|
C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322>csc /?
Microsoft (R) Visual C# .NET Compiler version 7.10.3052.4
for Microsoft (R) .NET Framework version 1.1.4322
Copyright (C) Microsoft Corporation 2001-2002. All rights reserved.
Visual C# .NET Compiler Options
- OUTPUT FILES -
/out:<file> Output file name (default: base name of file with main
class or first file)
/target:exe Build a console executable (default) (Short form:
/t:exe)
/target:winexe Build a Windows executable (Short form: /t:winexe)
/target:library Build a library (Short form: /t:library)
/target:module Build a module that can be added to another assembly
(Short form: /t:module)
/define:<symbol list=""> Define conditional compilation symbol(s) (Short form:
/d)
/doc:<file> XML Documentation file to generate
- INPUT FILES -
/recurse:<wildcard> Include all files in the current directory and
subdirectories according to the wildcard specifications
/reference:<file list=""> Reference metadata from the specified assembly files
(Short form: /r)
/addmodule:<file list=""> Link the specified modules into this assembly
- RESOURCES -
/win32res:<file> Specifies Win32 resource file (.res)
/win32icon:<file> Use this icon for the output
/resource:<resinfo> Embeds the specified resource (Short form: /res)
/linkresource:<resinfo> Links the specified resource to this assembly (Short
form: /linkres)
- CODE GENERATION -
/debug[+|-] Emit debugging information
/debug:{full|pdbonly} Specify debugging type ('full' is default, and enables
attaching a debugger to a running program)
/optimize[+|-] Enable optimizations (Short form: /o)
/incremental[+|-] Enable incremental compilation (Short form: /incr)
- ERRORS AND WARNINGS -
/warnaserror[+|-] Treat warnings as errors
/warn:<n> Set warning level (0-4) (Short form: /w)
/nowarn:<warning list=""> Disable specific warning messages
- LANGUAGE -
/checked[+|-] Generate overflow checks
/unsafe[+|-] Allow 'unsafe' code
- MISCELLANEOUS -
@<file> Read response file for more options
/help Display this usage message (Short form: /?)
/nologo Suppress compiler copyright message
/noconfig Do not auto include CSC.RSP file
- ADVANCED -
/baseaddress: Base address for the library to be built
/bugreport:<file> Create a 'Bug Report' file
/codepage:<n> Specifies the codepage to use when opening source files
/utf8output Output compiler messages in UTF-8 encoding
/main:<type> Specifies the type that contains the entry point (ignore
all other possible entry points) (Short form: /m)
/fullpaths Compiler generates fully qualified paths
/filealign:<n> Specify the alignment used for output file sections
/nostdlib[+|-] Do not reference standard library (mscorlib.dll)
/lib:<file list=""> Specify additional directories to search in for
references
|
|
|
|
|
Hi friend,
I had same problem with my "Hello World" program using CP. I suggest the following:
1. Don't enter the commands in the MS-DOS mode, instead use the Visual Studio .NET Command prompt.
2. Ensure that your program is saved as as .cs "example.cs"
3. In the VS.NET command prompt type csc example.cs
The program will compile successfully if it has no bug. Then type
example (press enter). Your program begins to run.
Enjoy C#
...the mind is not a vessel to be filled but a fire to ignited
|
|
|
|
|
hi extremeg:
thanks for your help
i find the .exe file was create by csc application at the same folder.so,i create a shortcut of visual studio.net command prompt at desktop then i find that the .exe file was on the desktop too. these days i use this method to compile my code and view results i think your method maybe more convenient! thanks for your help... my english is so poor.. i wish that u could understand my message..
|
|
|
|
|
any equivalent of MAP files in C# for debugging??
Muhammad Shoaib Khan
http://geocities.com/lansolution
|
|
|
|
|
Not exactly like a MAP file - but serves much of the same purpose - the PDB file that is generated in a debug build contains the symbols for a debug version of an executable. While the IL for a debug assembly is pretty much the same as it is for a release assembly (barring a differences, like when you use pre-proc conditions or attribute a method with the ConditionalAttribute ), the debug build contains the path to a PDB file in another file segment. These are useful in debugging and will provide method lookups, line numbers, filenames, etc.
These won't work for release builds, though.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
Hi
I need some help in getting a video played in the back ground of my win form where I will add some controls that would display some text and other stuff.
What I did until know is.
Using interop and Com I am able to play the video inside a panel, but here is the problem if I add a control inside the panel ex.
This.controls.add(panel1)
This.panel1.Controls.Add(textcontrol)
When the video loads it is hiding everything in the same control (panel1) but not all the form unless I set the size of panel1 to be as the same size as the form.(I don’t want every thing to be hidden I want the controls to show over the video with an alpha transparency level )
What I did is instead of adding the textcontrol to the panel1 I am adding it to the main form so I am being able to put the text over the video, but I am losing the benefit of having an alpha (transparency) for my text.
I would weolcme any suggestion to solve this and any alternative solution
Simply what I am trying to achieve now is to have a news bar like the one that you can see on CNN by adding text over the video
Thanks for reading this.
Best regards
|
|
|
|
|
Most video players like Windows Media Player (which I assume you're using) show the video in a separate layer that doesn't allow them to be hosted like that, otherwise someone could easily capture the video which may or may not be protected. You can further see proof of this by trying to take a screenshot - you shouldn't see any video.
You should take a look at DirectX: http://msdn.microsoft.com/directx[^]. There's a lot more you have to do, but there are a few examples here on the CP site that should help.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
Hallo...
Does anyone know how to read/write/format floppy or hd sectors, tracks, heads, ecc.....
I used to use INT 13h with veeeeery old DOS and old C, but now with WindowsXP and C#???????
Thank you...
|
|
|
|
|
C# - rather, the .NET base class library (BCL) - does not provide such features. This is much too low-level for the BCL. You'll have to P/Invoke native functions (see DllImportAttribute documentation for details). You should also try searching this site or googling the rest of the 'net for any examples.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
foreach(string message in mail.LIST())
Console.WriteLine("S: "+message);
How can I get this to 1 line?
/\ |_ E X E GG
|
|
|
|
|
in C++ you could do something like
for (int i = 0;i < mail.count(); i++, Console.WriteLine(mail.item(i)));
I dunno if C# supports the comma within a for loop.
You can also do this:
foreach(string message in mail.LIST()) Console.WriteLine("S: "+message);
Christian
I have drunk the cool-aid and found it wan and bitter. - Chris Maunder
|
|
|
|
|
I guess I should mention that, LIST is an ArrayList.
/\ |_ E X E GG
|
|
|
|
|
I thought it might be, but I was setting out to show the general syntax where a for loop would do what you want, not to write the specific code for you. Writing a for loop that actually does what you want should be a no brainer if the comma notation is supported.
BTW, I should mention that while I'll also often see how terse I can make my code, number of lines is not always an indicator of anything. Always consider before you make 6 lines of code into 2 if your code has become easier, or harder to read and maintain. Also, the shorter code does not necessarily run any faster, and may be slower.
Christian
I have drunk the cool-aid and found it wan and bitter. - Chris Maunder
|
|
|
|
|
excellent.
/\ |_ E X E GG
|
|
|
|
|
And obfuscating your code like that doesn't compile any differently. There is no difference between
foreach (...) doSomething(); OR
foreach (...)
doSomething(); OR
foreach
(...
)
doSomething(); It's all syntactically the same and the compiler doesn't care. As Christian said, it's all a matter of readability. So long as you uphold the language specification, it doesn't really matter how you format your source code (unless you're one of those pseudo-languages like VB).
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
Ahh, you see... I didn't know that. I read this C# book and it told me that if I didn't want to use the {}'s on my loops I had to put the doSomething() right under the loop statment. EXACTLY ONE LINE DOWN. I never tried putting it anywhere else, I just though it was the rule.
That's cool, I know that know. Thanks for the incite.
/\ |_ E X E GG
|
|
|
|
|
Hi,
my class has a DateTime property. I would like to use the XmlSerializer and the DateTime Property should be written in RFC 822 format.
I guessed i can implement a typeconverter which can convert between DateTime and string (RFC822). But it seems like my typeconverter is never called.
[System.ComponentModel.TypeConverter(typeof(DateTimeRFCConverter))]
public DateTime PubDate
{get;set;}
is my idea basically wrong or did i missed something? Why use the XmlSerializer the DateTime typeconverter instead of my TypeConverter?
Thanks
.:[Greetz from Jerry Maguire]:.
|
|
|
|