|
CBoland wrote:
but I've never heard of a static destructor.
They are allowable by the CLR, but I suggest using a Singleton pattern instead of static if it involves any resources.
leppie::AllocCPArticle("Zee blog"); Seen on my Campus BBS: Linux is free...coz no-one wants to pay for it.
|
|
|
|
|
Good call. Thanks for the reply.
|
|
|
|
|
I need to split a string in C# into tokens, separated by whitespace characters. What would be the best way for me to do this? I just found out about the Split method in the string class, are there other options available?
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
|
|
|
|
|
If you know RegEx you can try that, else I would stick to the split method, simply and easy
leppie::AllocCPArticle("Zee blog"); Seen on my Campus BBS: Linux is free...coz no-one wants to pay for it.
|
|
|
|
|
Something like this worked for me:
foreach( string sToken in sOriginal.Split( " \t\r\n".ToCharArray() ) )
{
}
|
|
|
|
|
Is anybody aware of anything (API) out there that will generate a PDF file using an XSL:FO file that can be integrated into a C# application?
Here be more info :
I am currently working on an application that pulls data from a MSSQL database and put this into a PDF document. For various reasons I am tied to using a fully C# based open source solution. Although these rules can be "bent" if I find a fast non C#/Closed Source implementation.
I have come across a J# port (http://sourceforge.net/projects/nfop) of Apache FOP (http://xml.apache.org/fop) but unfortunatly I have been unable to locate a C# port (with the exception of http://sourceforge.net/projects/fop-dotnet which isnt even 30% completed). Both FOP and nFOP work fine, but they are too slow (FOP - 6 secs average, nFOP - 20 secs average)
In my search for a decent solution, I have played around with iTextSharp (http://sourceforge.net/projects/itextsharp) which requires me to create the entire document in code and doesnt support templates. I have also found Report.NET (http://sourceforge.net/projects/report/) and iSEDquickpdf(http://www.sedtech.com/isedquickpdf/). Both of which suffer from the same problem as iTextSharp. Creating the entire document within code isnt feasible as any change to the document layout would require a recompile and re-release, whereas with XSLT/FO templates any changes can be done in a matter of seconds. There is one solution I have found at http://www.antennahouse.com/ the problem here is that it is far to costly ($5000+).
Having searched through the forums here, it seems that this question has only been asked once before, and it unfortunatly turned into a flame war, so no answers to be found there.
So back to the original question : Is anybody aware of anything (API) out there that will generate a PDF file using an XSL:FO file that can be integrated into a C# application?
post.mode = signature;
SELECT everything FROM everywhere WHERE something = something_else;
> 1 Row Returned
> 42
|
|
|
|
|
http://www.xmlpdf.com/ibex.html[^] works well for me.
be aware that XSL-FO is always going to be slower than other rendering techniques due to the XML overhead.
"When the only tool you have is a hammer, a sore thumb you will have."
|
|
|
|
|
In my travels through this problem, I havent come across this one.
So I downloaded their evaluation version, and unfortunatly it doesnt work correctly. The PDF I am using has a fairly complex table layout, and also has various embedded images. This renders fine in nFOP and Apache FOP but XMLPDF doesnt seem to able to render these correctly.
post.mode = signature;
SELECT everything FROM everywhere WHERE something = something_else;
> 1 Row Returned
> 42
|
|
|
|
|
I came from a VB background. How do I declare a global variable (collection in c#).
I have a combo box in multiple winform that get populate by a table in the DB,I want to read the table into a collection then populate the form each time it loads instead of read from the DB.
|
|
|
|
|
You can't.
What you can do is declaring a public property on the main form which contains the collection, and then accessing this property from whereever you need the collection. Or you use this property as a parameter when calling the other forms.
But a global variable can't be created (and they are evil, I'm told...;)).
|
|
|
|
|
In .NET (true for any language that targets the CLR) there is no such thing as global variables. Instead, though, you can create a class with static fields or properties (properties are usually recommended because you can validate inputs and use logic in your get or set accessors that access a private field. This has the same result, though, at least per AppDomain (if you need a "global" to span multiple AppDomain s, you should consider a ContextBoundObject ).
public class Globals
{
private static object someProperty;
private Globals()
{
}
public static object SomeProperty
{
get { return someProperty; }
set { someProperty = value; }
}
} If you need the power of a singleton, search the comments of this forum for a recent thread discussing various options. Just use the keyword "singleton", of course.
-----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-----
|
|
|
|
|
How can I write to my application configuration file from my application?
Mazy
No sig. available now.
|
|
|
|
|
There is not built-in support for writing app configs, but you can use the System.Xml classes to manipulate the XML DOM. Note that your application will not see these settings until restarted, though. I did post several replies to similar questions in the recent past, so search the comments of this forum, using the AppDomainSetup keyword.
As far as writing to the config, you have to remember one very important thing: leave other settings untouched! Users may have customized how the CLR runs your app or even customized settings for your program (like, in <appSettings> ) that you don't want to overwrite. Nick wrote one article about this: http://www.codeproject.com/csharp/config_settings.asp[^]. There are others, too.
-----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-----
|
|
|
|
|
twoPartQuestion = true;
1) When storing application state information such as window position, comm port settings, etc... should I be using the registry or special folders? I'm writing for Win2K or newer if that makes a difference.
2) If/when using special folders, what is a good way to format the data that needs to be saved? I'm thinking of a couple ways:
- Making a struct that contains all of the data that needs to be saved and serializing it as XML to a file.
- Using ADO.NET and making a table that is serialized to XML and saved in a file.
Is there a preferred or normal way to handle this data?
Thanks,
Ken Galer
Electrical Engineer
Preferred Utilities Corp.
Danbury, CT 06810
|
|
|
|
|
Ken Galer wrote:
should I be using the registry or special folders
Never use the registry unless you have to. This breaks XCOPY deployment (at least with base settings). It's also not recommended because...well...it's just not!
As far as serializing to an XML file, this is pretty common but it is up to you how, when, and where. There is no "standard". You could use the XML serialization attributes in System.Xml.Serialization , a DataSet (both of which you said), or write-out an XML file using the DOM.
Do a search here on CP and you'll find several articles about writing-out XML files, or appending data to the .config file for your app (true, just another XML file, but a specially named one if you wanted to use an IConfigurationSectionHandler like other settings). I believe Nick Parker wrote a good one on that, so you could search for articles from him.
-----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 have win form and i have registered keyboard event for it
but it doesn't work
////////////////////////
this.KeyDown += new System.Windows.Forms.KeyEventHandler(this.MainForm_KeyDown);
////////////////////////
private void MainForm_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
MessageBox.Show(e.KeyValue.ToString());
}
////////////////////////
but when i press any key on my keyboard, i doesn't recieve any thing.
thnx in advance
|
|
|
|
|
i recieve nothing.....
thnx
|
|
|
|
|
If another Control has the focus (and it most likely does), you won't receive keyboard events. You have to set Form.KeyPreview to true. Then you should have better results.
-----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-----
|
|
|
|
|
but i wanna listen to more than one key
like "ctrl+h" or like this
|
|
|
|
|
As far as text in your console app go, you can use the Console.In properties (a TextReader ) to grab typeable characters like "h". When you get input like this, call the GetKeyState method (after P/Invoking it, of course) to determine whether or not a modifier key is pressed.
-----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 am working on setting width of button depends on caption string width.
But I not able to find exact width of the string , using Graph.MeasureString
I have to set exactly 8 px gap at front and back..
Can any body help me pls..
Thanks
|
|
|
|
|
If you need a Graphics object while not doing any painting, use the Button.CreateGraphics method (inherited from Control.CreateGraphics ). See the documentation for MeasureString . It is an easy method to use and will calculate the SizeF (convert members to int when setting the appropriate properties) of the string, taking the Font into account:
Graphics g = button1.CreateGraphics;
SizeF s = g.MeasureString("Some Text", button1.Font);
button1.Width = (int)s.Width;
button1.Height = (int)s.Height;
-----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-----
|
|
|
|
|
Does any one of u know how to get certified (from microsoft)
in C#.
Also is there any help availble on the topics issued by microsoft.
please give the exact links (if possible)
|
|
|
|
|
|
Ooh, here's a topic I love to tear apart!
Make sure you actually know what you're talking about before getting certified. Sure, it looks good on resumes but if you don't know what you're talking about and tout your certifications to people that do, you not only look like an idiot but make certifications look bad.
Personally, I am not certified because I really don't want to be. I know a large number of people with certifications that know crap. They studied for the tests, memorized a few things, took the tests (sometimes a couple times) and got their certs. They're still idiots.
That's not to say certifications are bad. Like I said, they do look good on resumes (the only reason I might someday do it if I have time...I already have the material and study books) and can up your salary at hire-time (or even at a current job if you work for that kind of company). Just make sure you have the knowledge to back it up!
That being said, you can also get your MCSD. Take the MCADs and pay attention to the courses you take. Take a look at the MCSDs and you'll find that MCAD - with the right courses - is a subset of MCSDs. There's only like a couple more tests you have to take if you take the subset of courses that get you your MCAD.
Good luck!
-----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-----
|
|
|
|