|
|
Get a good book; the code to write/read to/from a database is more complex than hooking an event to a control.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Hi All,
I just have a quick query, I am reasonably new to C#.
My program currently reads a text file and compares it with the value in a text box and then tells me how many matches, this currently works.
My query is that it is case sensitive. Is there any way to make it so it doesn't matter whether it is in upper or lower case?
Any help will be much appreciated!
Many thanks,
Katie.
This is my code:
if (!String.IsNullOrEmpty(CustodianEAddress.Text))
{
for (AddressLength1 = 0; AddressLength1 < Length; AddressLength1++)
{
List<string> list1 = new List<string>();
using (StreamReader reader = new StreamReader(FileLocation))
{
string line1;
string[] LineArray1 = new string[500];
while ((line1 = reader.ReadLine()) != null)
{
list1.Add(line1);
if (line1.IndexOf(cust1[AddressLength1].ToString()) != -1)
{
count1++;
LineArray1[count1] = line1;
}
}
reader.Close();
using (System.IO.StreamWriter filed =
new System.IO.StreamWriter(FileLocation, true))
{
filed.WriteLine("");
filed.WriteLine("The email address " +
cust1[AddressLength1].ToString() + " was found " + count1 +
" times within the recipient's inbox");
}
string count1a;
count1a = count1.ToString();
}
}
}
else
{
MessageBox.Show("Please Enter an Email Address");
}
So basically, I need to compare the value in cust1[AddressLength1] with any values found in an array which is in the text file.
modified 18-Mar-13 14:04pm.
|
|
|
|
|
Read this[^].
"If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." Red Adair.
nils illegitimus carborundum
me, me, me
|
|
|
|
|
Hey I've just posted my code, hopefully that helps!
I had a look at the link and the problem is I'm looking within an array as opposed of comparing against a single string.
Many thanks,
Katie.
|
|
|
|
|
Easiest way is probably to use a regex:
string inp = File.ReadAllText(@"D:\Temp\MyText.txt");
string match = "FindMe";
int count = Regex.Matches(inp, match, RegexOptions.IgnoreCase).Count; This has the advantage that the user can use regex wildcards for more complex jobs if they want.
The universe is composed of electrons, neutrons, protons and......morons. (ThePhantomUpvoter)
|
|
|
|
|
Hey I've just posted my code, hopefully that helps!
I had a look at the code you posted and the problem is I'm looking within an array as opposed of comparing against a single string.
Many thanks,
Katie.
|
|
|
|
|
Try using the IndexOf(string, StringComparison)[^] method:
if (line1.IndexOf(cust1[AddressLength1].ToString(), StringComparison.OrdinalIgnoreCase) != -1)
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
First, the IndexOf() method has an overload that takes a StringComparison enumeration value, so you could just add the second parameter StringComparison.OrdinalIgnoreCase (or .CurrentCultureIgnoreCase or .InvariantCultureIgnoreCase , as appropriate).
However, this code is a bit strange...
Are you really writing the message to the same file you are scanning?
If not, it appears you are doing potentially a lot of extra work (e.g., reading the inbox(?) file multiple times).
How about something like this:
if (!String.IsNullOrEmpty(CustodianEAddressText))
{
List<string> list1 = new List<string>();
using (StreamReader reader = new StreamReader(FileLocation))
{
string line1;
while ((line1 = reader.ReadLine()) != null)
{
list1.Add(line1);
}
}
for (AddressLength1 = 0; AddressLength1 < Length; AddressLength1++)
{
string cust1AddrLen1 = cust1[AddressLength1].ToString();
count1 = list1.Count(l => l.IndexOf(cust1AddrLen1, StringComparison.OrdinalIgnoreCase) != -1);
string[] LineArray1 = (from line in list1
where line.IndexOf(cust1AddrLen1, StringComparison.OrdinalIgnoreCase) != -1
select line).ToArray();
count1 = LineArray1.Length;
string count1a = count1.ToString();
using (StreamWriter filed = new StreamWriter(FileLocation, true))
{
filed.WriteLine();
filed.WriteLine("The email address {0} was found {1} times within the recipient's inbox", cust1AddrLen1, count1a);
}
}
}
else
{
MessageBox.Show("Please Enter an Email Address");
}
|
|
|
|
|
hi
I am a beginner, i want to build an application in C# to send an sms to multiple numbers without using an sms gateway, i want to use my internet connection to send sms and access 2007 to store sms and other details. if someone can help then please help.
regards,
Arif Aqeel
|
|
|
|
|
Arif_Aqeel wrote: I am a beginner, i want to build an application in C# to send an sms to multiple numbers without using an sms gateway, i want to use my internet connection to send sms and access 2007 to store sms and other details.
This goal is clearly too high for a beginner. Start from scratch and do easy stuff to get to harder stuff. An address management with access as database would be a good start.
|
|
|
|
|
|
|
IDK but can it somehow be possible that you have forgot to actually ask a question?
ProTip: Use the Edit-Button under your post to add an actual question.
|
|
|
|
|
The OP has really cheered up my day. Finally post that literally doesn't have a question, or even an attempt at one. Not even an "itz urgentz plz help" plea. Almost zen-like in depth-through-simplicity.
|
|
|
|
|
|
Seriously, click edit and add a question, we can't help if we don't know what the problem is.
|
|
|
|
|
|
|
Take a look at the AForge.Net framework, it has a component for this kind of algorithms:
AForge.NET Framework
This is the namespace you might be interested in:
•AForge.Genetic - evolution programming library;
|
|
|
|
|
I'm trying to open openoffice/Libreoffice impress(simpress.exe) in my C# windows form.
But it opens in its own window and there is no data on form.
I want to integrate it in my form.
This is my code:
ProcessStartInfo proc = new ProcessStartInfo();
proc.FileName = @"C:\Program Files\LibreOffice 4.0\program\simpress.exe";
proc.UseShellExecute = true;
var process = Process.Start(proc);
Thread.Sleep(2000);
SetParent(process.MainWindowHandle, this.Handle);
It open Libreoffice impress but not in my form.
How can I integrate it with my form?
Thanks!
|
|
|
|
|
toms from newdelhi wrote: It open Libreoffice impress but not in my form. That is what the Process.Start method is designed for. I do not know if it is possible to open this within your form. You need to study the openoffice SDK to see what features it supports.
Use the best guess
|
|
|
|
|
toms from newdelhi wrote: It open Libreoffice impress but not in my form.
How can I integrate it with my form?
Because LibreOffice is still loading and building it's form when you call SetParent . Try to WaitForInputIdle[^] before changing the parent.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
I used it but its not working.
I used process.WaitForInputIdle() but getting the same result.
Thanks!
|
|
|
|
|
I have no idea how you can integrate it with your forms. You cannot use Process.Start to integrate any form with you custom form. Try to find any Library control like OCX control so that they can be integrated with your forms. But try this one [^]. I hope this will help you.
First and the Foremost: FIGHT TO WIN
|
|
|
|