|
adilkazmi wrote: without using any third part dlls
Good luck with that! You won't find one. And noone is going to write the code for you.
|
|
|
|
|
hey..Mind your bluddy language..I am not saying you to write the code.
just do your work...
don't give pain to your knee..[;(]
adil kazmi
|
|
|
|
|
adilkazmi wrote: hey..Mind your bluddy language
It would appear to me that you are the one using profanity (badly spelled profanity at that)
adilkazmi wrote: I am not saying you to write the code
True, you said "provide me code". But "provide" implies that the person you asked must do the work to create the code, or do the work to find the code. Either which way, you are asking others to do your work. Perhaps if you had phrased your question in a less provokative way you would get a better response. e.g. "Help me find the code" that implies to are trying to do the work but need assistance. We like to help people. We especially like to help people that show that they are trying to help themselves.
adilkazmi wrote: don't give pain to your knee
I can only imagine that is some idiomatic expression literally, rather than figuratively, translated.
-- Always write code as if the maintenance programmer were an axe murderer who knows where you live.
Upcoming FREE developer events:
* Glasgow: Agile in the Enterprise Vs. ISVs, Mock Objects, SQL Server CLR Integration, Reporting Services, db4o ...
* Reading: SQL Bits
My website
|
|
|
|
|
You should know by now that when you post to these forums, the people who want to help you are volunteers and have no obligation to answer your questions or write your code. This subject matter of converting pdf to image is primarily undocumented and is left to expensive third party controls to solve the problem and you will just have to live with it.
Regards,
Thomas Stockwell
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Visit my homepage Oracle Studios[ ^]
|
|
|
|
|
Hello,
I have a data grid view, and what I am trying to do is, grab all the column headers and put them into a combo box or list box.
what I have so far is:
foreach (DataColumn column in this.dataGridView1.Columns)
{
this.listBox1.Items.Add(column.ToString());
}
I get an error with this, it is:
"Unable to cast object of type 'System.Windows.Forms.DataGridViewTextBoxColumn' to type 'System.Data.DataColumn'"
Any help would be apreciated.
Thanks
J
|
|
|
|
|
you can try:
foreach (DataColumn column in this.dataGridView1.Columns)
{
this.listBox1.Items.Add(column.HeaderText);
}
|
|
|
|
|
|
Thanks... The end result that I ended up with is:
foreach (DataGridViewColumn column in this.dataGridView1.Columns)
{
this.listBox1.Items.Add(column.HeaderText);
}
|
|
|
|
|
this.dataGridView1.Columns returns a collection of GridViewColumn, not DataColumn. In this case, the column returned is a specialized version of GridViewColumn which contains a textbox.
<br />
foreach (GridViewColumn in this.dataGridView1.Columns)<br />
{<br />
this.listBox1.Items.Add(column.HeaderText);<br />
}<br />
|
|
|
|
|
Thank you for your help, I added a identifyer, and it worked great! Thanks.
Here is the end result.
foreach (DataGridViewColumn column in this.dataGridView1.Columns)
{
this.listBox1.Items.Add(column.HeaderText);
}
|
|
|
|
|
You're welcome
|
|
|
|
|
hi all
abstract class c
{
abstract function()
}
class c1:c
{
override fucntion()
{
//
}
void function()
{
}
}
class c2:c1
{
c1 obj=new c1()
obj.//how do i differenciate that i wanna call overrided function and ordinanry function of c1
|
|
|
|
|
c.function will always call the overrided method. You cannot call the base one. If that's what you want, don't use overrides, using hiding:
class Base
{
public void Foo() { ... }
}
class Derived : Base
{
public new void Foo() { ... }
}
Base obj = new Base();
obj.Foo();
Derived derived = new Derived();
derived.Foo();
|
|
|
|
|
Hello,
I'm having a problem that I thought would be very easy to fix. It could just be something small I am missing. I am loading a string that contains an XPath query. Inside the string I have a couple variables being loaded from an XML request. My line: XmlNodeList regionList = root.SelectNodes(xpathRegion); is throwing an exception when the variable includes an ' like Amp'd for example. I can check for characters easy enough and remove that character, but I actually need to leave it as the query needs to search based on the exact name.
I am trying the following:
string oldText = catName;
string newText = oldText.Replace("'", "\\'");
I figured this would escape the first slash, and replace the ' with \' but it actually shows up as \\'
if I change the line to string newText = oldText.Replace("'", "\'"); only the ' shows up in the string.
I can't seem to get newText to contain Amp\'d so that when used in the XPath it finally ends up the way it was.
Is there a different method I should use, or am I making some type of beginner error? Thanks,
Forrest
|
|
|
|
|
|
Thanks for the link. This is certainly a great resource to have. It looks like the Xpath string is still blowing up even with a \'
|
|
|
|
|
instead of \', have you tried ' instead?
|
|
|
|
|
Yes, and " Those values are inserted into the string, but I guess it is not read as an xpath query since I still get an invalid token message.
|
|
|
|
|
Try this and see if it works:
string oldText = catName;
string newText = oldText.Replace("'", @"\'");
Chase Davis
|
|
|
|
|
Thanks Chase. This is exactly what I needed to do to get the string to contain \' BUT it looks like the xpath string is still blowing up when SelectNodes() is called. I don't think it recognizes the escape sequence. I also tried including ' but it didn't recognize that either. I do appreciate the help though.
|
|
|
|
|
Hi folks,
I have a deployment project which set's up registery entries for using redmonnt.dll and any other things which are neccessary.
First I create a printer setup over the redirect port manually and extract all entries from the registry. (I hope they are all )
This procedure produces a printer icon within the printer explorer and provides a new available printer in the print dialog of applications.
If I run my installer all reg entries were made (device, port, ...), but no printer icon is available and my printer is inaccessible to the applications print dialog.
Do you have me some hints, what additional work do I need to do.
Thanks.
|
|
|
|
|
Ok, I know it is long...
In an OpenFile() routine I am trying to change the color on the text of a file at a specific position, and do this prior to it loading into a RichTextBox.Text property. I can do this with the findSequenceNumbers() routine below;
If I do it after it loads by using the findSequenceNumbers() routine it takes about 3 - 4 minutes dpending on the file size as it scrolls thru the text box.
I want to perform this formatting using the RichTextBox.RTF property however I do not understand it, nor do I understand where I would fit it in. I did create the file and save it after I formatted it as an RTF document and when I open it in a text editor this is what is at the top;
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset0 Courier New;}}
{\colortbl ;\red0\green0\blue139;}
\viewkind4\uc1\pard\lang1033\f0\fs20
A formatted line with the color change looks like this;
2007/08/13 14:00:03 [144007]ARES_EINDICATION 010.050.016.010 420.1.01 (6901) RX 68 bytes 69 01 26 02 28 A4 AA 20 76 96 51 44 50 76 08 45 46 00 34 02 02 C7 88 \cf1\b 01\cf0\b0 C7 88 AA 50 76 08 45 46 20 76 96 51 44 D7 07 08 0D 0D 3B 3B 00 00 10 06 0A 06 06 06 06 06 06 0A 0A 06 06 06 06 0A 0A 9B 67 5F 91 F8 \par
-------------------------------------------
private void OpenFile()
{
try
{
if (OpenFileDialog.ShowDialog() == DialogResult.OK)
{
string strExt;
strExt = System.IO.Path.GetExtension(OpenFileDialog.FileName);
strExt = strExt.ToLower();
if (OpenFileDialog.FileName == "")
{
return;
}
switch (strExt)
{
default:
if (strExt == ".rtf")
{
rtbDoc.LoadFile(OpenFileDialog.FileName, RichTextBoxStreamType.RichText);
}
else
{
StreamReader rtfReader;
rtfReader = new StreamReader(OpenFileDialog.FileName);
rtbDoc.Text = rtfReader.ReadToEnd();
rtfReader.Close();
rtfReader = null;
rtbDoc.SelectionStart = 0;
rtbDoc.SelectionLength = 0;
}
break;
case ".dat":
rtbDoc.Text = Streamer.LayoutInput(OpenFileDialog.FileName);
break;
}
currentFile = OpenFileDialog.FileName;
rtbDoc.Modified = false;
this.Text = "Train Control Editor: " + currentFile.ToString();
}
else
{
MessageBox.Show("Open File request cancelled by user.", "Cancelled");
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString(), "Error");
}
}
-------------------------------------------
private void findSequenceNumbers()
{
toolStripStatusLabel.Visible = toolStripProgressBar.Visible = true;
toolStripProgressBar.Value = 0;
int lineNum = 0;
bool startingNewLine = true;
FontStyle style = FontStyle.Bold;
string[] lines = rtbDoc.Lines;
string text = rtbDoc.Text;
toolStripProgressBar.Maximum = text.Length;
for (int i = 0; i < text.Length; i++)
{
if (startingNewLine)
{
if ((lines[lineNum].Contains("ARES_EINDICATION")) || (lines[lineNum].Contains("ARES_INDICATION")))
{
i += 169;
rtbDoc.Select(i, 2);
rtbDoc.SelectionFont = new Font(rtbDoc.SelectionFont, rtbDoc.SelectionFont.Style ^ style);
rtbDoc.SelectionColor = Color.DarkBlue;
}
else if (lines[lineNum].Contains("]CODELINE_INDICATION_MSG"))
{
i += 160;
rtbDoc.Select(i, 2);
rtbDoc.SelectionFont = new Font(rtbDoc.SelectionFont, rtbDoc.SelectionFont.Style ^ style);
rtbDoc.SelectionColor = Color.DarkBlue;
}
else
{
i += lines[lineNum].Length - 1;
}
startingNewLine = false;
Application.DoEvents();
}
if (text[i] == '\n')
{
startingNewLine = true;
lineNum++;
}
toolStripProgressBar.Value = i;
}
toolStripStatusLabel.Visible = toolStripProgressBar.Visible = false;
rtbDoc.Select(0, 0);
rtbDoc.ScrollToCaret();
}
--------------------------------------------------
Thanks,
Brian
|
|
|
|
|
Hi!
Although I cannot really follow what you're trying to do, it seems as if a different way would be much easier:
Create a (invisible) RichTextBox , load the RTF document into this box, find the lines you want to colorize using the Text property of the RTB, select them and then assign the SelectionColor you want.
Afterwards you can simply assign the invisible RTB's Rtf property to the target RTB and you're done.
If you really want to modify the RichText yourself, I suggest reading the Rich Text Format (RTF) Specification, version 1.6[^], but a quick scan through the introduction will show you that it's not as easy as you might think.
Regards,
mav
--
Black holes are the places where God divided by 0...
|
|
|
|
|
I have tried having the RichTextBox is both visible and invisible. No difference in the time it takes for the SelectionColor. It takes 3 -4 minutes regardless.
My goal is to speed up the process for this.
If I select all text and change it to BOLD it takes a second or two, if I change the color of all the text it takes the same time.
Your right the RTF spec is not easy.
Brian
|
|
|
|
|
I don't have a quick and easy answer for you, but you probably weren't expecting one. I can offer a little help though, I hope. I have used RichTextBox controls a little bit, but what I was doing was writing a simple "report, " saving it to a file, sending it to a client application that then displayed the file in a RichTextBox control.
Anyway, you said you wanted to use the .Rtf property. I didn't use it, but as I understand it, you'd need to load your rtf-formatted text into a string object, then
<br />
string rtfString = ;<br />
rtbDoc.Rtf = rtfString ;<br />
What I did was:
<br />
richTextBox.LoadFile ( path ) ;<br />
I don't think that the .Rtf property is going to be much help, though. Here are my assumptions about things you've done so far:
You have data in a text-based file captured from a device or other source.
You opened a data file in Wordpad and found the text of interest.
You changed the interesting text to bold and blue.
You saved the result as .rtf file.
A portion of that file is shown in your post.
<br />
\cf1\b 01\cf0\b0<br />
This portion of that text means color foreground #1 from color table, bold, 01 (which is the interesting text), color foreground #0 (back to default color), bold off. The color table is defined on line 2:
<br />
{\colortbl ;\red0\green0\blue139;}<br />
I don't think that the 3 - 4 minute delay really has anything to do with rtf issues. I think that's time taken for findSequenceNumbers to parse the strings. I'd try putting some debug statements before and after a call to it. Find out how much time it is taking.
If my first assumption above is correct, my approach would be to process the data file a line at a time, looking for the tokens as seen in findSequenceNumbers and embedding the rtf instructions
<br />
\cf1\b <br />
and the like in the lines. Of course you'd also have to put the other rtf stuff in your StringBuilder or whatever. Not sure if that's really going to speed things up or not, it's just another way to skin the cat.
Hope this helps a little.
BDF
|
|
|
|