|
Why use a regular expression?
if ((s.Length >= 5) && (!s.StartsWith("XXSP")
{
}
No trees were harmed in the sending of this message; however, a significant number of electrons were slightly inconvenienced.
This message is made of fully recyclable Zeros and Ones
|
|
|
|
|
I need to use a Regular expression (im passing it to a Business rule engine)
|
|
|
|
|
Isn't it just "^XXSP" as in:
string s1 = "XXSPHello";
string s2 = "XaSPGoodbye";
Regex r = new Regex(@"^XXSP");
if (r.Match(s1).Success)
{
MessageBox.Show(s1);
}
if (r.Match(s2).Success)
{
MessageBox.Show(s2);
}
No trees were harmed in the sending of this message; however, a significant number of electrons were slightly inconvenienced.
This message is made of fully recyclable Zeros and Ones
|
|
|
|
|
That will match any string starting with XXSP.
10110011001111101010101000001000001101001010001010100000100000101000001000111100010110001011001011
|
|
|
|
|
You can't use a Regex to not find a pattern, per se, as there are too many ways to not match. Instead you want to match and exclude anything that begins with XXSP.
This should do the trick:
^((X[^X])|(XX[^S])|(XXS[^P])).*$
10110011001111101010101000001000001101001010001010100000100000101000001000111100010110001011001011
|
|
|
|
|
Thanks dude that worked
|
|
|
|
|
I try to use DrawtoImage() to save a usercontrol as a .bmp file,
it fails and only part of the control is displayed and others are just empty.
what is the reason and how to solve this problem?
thanks.
|
|
|
|
|
Hi,
Not sure about UserControls. I do know some Controls don't have a functional DrawToBitmap() method.
e.g. the RichTextBox.DrawToBitmap() documentation says: "This API supports the .NET Framework infrastructure and is not intended to be used directly from your code."
In order to paint such Controls you probably need some P/Invoke. The other day I had to send a FormatRange message (with a hDC and some struct) to get a RichTextBox paint its content to a bitmap correctly.
Luc Pattyn [Forum Guidelines] [My Articles]
The quality and detail of your question reflects on the effectiveness of the help you are likely to get.
Show formatted code inside PRE tags, and give clear symptoms when describing a problem.
|
|
|
|
|
...try using a screen grab library.
Regards: Didi
|
|
|
|
|
Hey all
I created a string and assigned a value to it on Form_Load and I want to access this string outside of the Form_Load event handler, like when a user clicks a button on the same form but it never works, and I can't find any help regarding this. Is there a way to do this? Any help would be appreciated, thanks.
---
private void Form1_Load(object sender, EventArgs e)
{
string j = "not working";
}
private void button1_Click(object sender, EventArgs e)
{
j = "maybe...";
if( j == "not working" )
{
MessageBox.Show("true");
}
else { Application.DoEvents(); }
}
---
regards,
jay
|
|
|
|
|
If you both declare and instantiate any field inside a code block, it cannot be accessed from outside that block.
Solution, move the declaration to be a field of the class.
Instead of
private void MyForm_Load(object sender, EventArgs e)
{
string myString = "Fred";
..........
..........
..........
}
use
private string myString;
private void MyForm_Load(object sender, EventArgs e)
{
myString = "Fred";
..........
..........
..........
}
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
|
|
|
|
|
Oh, silly me... Looks like I need to buy another book on C#. I've been trying to do this for a few weeks now but too embarrassed to ask about it until now lol. Thank you for the quick and helpful reply Mr. Henry Minute.
regards,
jay.
|
|
|
|
|
Hi Guys. I have been pulling out the last hair on my head with this one.
I have two files, one with a list of numbers and another file containing more data. I want to take the data from file 1 and use that to search file2 for the same value and out put another value from file1 to a new file. I have now tried numerous ways of writing this and it just doesn't work. Below is a snippet of my code. The foreach statement doesn't work and if I run it without the foreach statement it only reads the first line of file 1 and doesn't continue to the next line.
while (!sr1.EndOfStream)
{
holdLineHid = sr1.ReadLine();
holdLineNot = sr.ReadToEnd();
if (String.IsNullOrEmpty(holdLineHid) || String.IsNullOrEmpty(holdLineNot))
continue;
string hid1 = holdLineHid.Substring(0, 11);
string newhid = holdLineHid.Substring(14, 11);
string hid2 = holdLineNot.Substring(0, 11);
string notremainder = holdLineNot.Substring(11, 683).Trim();
foreach (String hid in holdLineHid)
{
if (hid1 == hid2)
{
sw.WriteLine(newhid + notremainder);
}
For instance:
In File1 I have the following:
<br />
C0000000001 C0000013456<br />
C0000000002 C0003245678<br />
In File2 I have the following data:
<br />
C0000000003N Y Trem Chat<br />
C0000000005Y C Just Data<br />
C0000000001N D This Must Match<br />
How do I get this to run properly?
Thanks in advance.
Excellence is doing ordinary things extraordinarily well.
|
|
|
|
|
The easiest way is too read the file using :
string[] lines = File.ReadAllLines(@"c:\myfile.txt");
Then just use:
foreach(string line in lines)
{
//... do what you want here...
}
|
|
|
|
|
Thanks mate. I'll give this a go this evening and see how it works.
Excellence is doing ordinary things extraordinarily well.
|
|
|
|
|
your foreach will only loop once as your only giving in one string in the holdLineHid (which i assume is a string)
what you want to do is create a streamreader for file 1.
Read the first line into a string and then create a while loop while not null ...
StreamReader sr = new StreamReader("file1");
string line = sr.ReadLine();
while(line != null)
{
line = sr.ReadLine();
}
sr.close();
Now, in your instance for file 1 you have put two id numbers on each line. Are they one per line in the file? or is there more than one on each line?
Then in your while loop, where i put the comment you could do the following...
StreamReader sr2 = new StreamReader("file2");
string line2 = sr2.ReadLine();
while(line2 != null)
{
string hid = line2.Substring(0, 11);
if(hid == line1)
{
break;
}
line2 = sr2.ReadLine();
}
sr2.Close();
That should do what you want
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
Hi Mate. I get the jist of this but it seems that the code you have given above puts me in an infinate loop. TO answer your questions:
musefan wrote: Are they one per line in the file? or is there more than one on each line?
File 1 contains +- 1000 lines with two ID's on each line, the first ID is the one to matched to file2 and the second ID is trhe one to be written to the output file along with the remainder of the data on the matching line of file2.
Hope this makes sense. Almost like doing a match in Microsoft Access and then output a combination of the data from the two files.
Excellence is doing ordinary things extraordinarily well.
|
|
|
|
|
Does anybody know why I can't instantiate a form in my program.cs class. I'm developing a solution with multiple projects. Some are win form applications, some are class libraries and some are web applications. In this case i'm working with a win forms application. I have created forms in another project and I wish to add them to a the new win form project. Intellisense is not picking up the class names. I've also made sure that the forms use the correct namespace but with no success.
Help please!
|
|
|
|
|
Have you added the other project to the current project's references?
|
|
|
|
|
No. I'm trying to merge the two projects into one project. There is an existing project and I'm just adding the form classes. Not the project itself. By just adding the new project and setting the references I'm able to access those forms that i need. Unfortunately my bosses don't want the solution working in that way. thus I'm forced to merge the two. I'm adding the forms classes under a folder and not in the root of the project. I can even view them in the designer. I've never encountered this problem before.
|
|
|
|
|
Have you added the other project(s) to thi project's references?
Have you added the correct using (s) at the top of the file (or used fully qualified names)?
DaveBTW, in software, hope and pray is not a viable strategy. (Luc Pattyn) Visual Basic is not used by normal people so we're not covering it here. (Uncyclopedia) Why are you using VB6? Do you hate yourself? (Christian Graus)
|
|
|
|
|
How about the .designer.cs file? Does that have the correct namespace?
If none of that works, temporarily comment out any references to the merged forms, clean the solution and do a rebuild.
If none of that works, I give up, although obviously you can't.
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
|
|
|
|
|
The .designer.cs files all contain the correct namespace. I've tried rebuilding - no success. Cleaned the solution as well. Strange thing is that I can't access the folder in my using directives.
|
|
|
|
|
Is it a permissions/trust thing?
If one machine is Vista and the other XP, this can cause problems.
Henry Minute
Do not read medical books! You could die of a misprint. - Mark Twain
Girl: (staring) "Why do you need an icy cucumber?"
“I want to report a fraud. The government is lying to us all.”
|
|
|
|
|
No, both projects reside om one machine running xp. I'm going to create new forms in the current project and rename them exactly the same as the forms in the other project and then attempt to replace them. Hopefully this'll work.
|
|
|
|