|
buddy, U have a typical class code with u.
Just look in the code its just a constructor with one parameter which is initiallising the value passed by the parameter to the local class variable.
|
|
|
|
|
I am writing a program using System.Timers.Timer to trigger the webcam to capture an image and saved in a file.
The image saving function is workable when it works standalone (by clicking a button). However, when I call the image saving function in the OnTimedEvent (event-triggering function) it fails. It will pop up the following error message:
"System.NullReferenceException: Object reference not set to an instance of an object...."
I lately found that the Data could not be retrieved from the clipboard when the clipboard is being used by another process...
Following is the Caputure function of the webCam device... (in Device.cs)
public Image Capture()<br />
{<br />
try{<br />
if (deviceHandle != 0)<br />
{<br />
SendMessage(deviceHandle, WM_CAP_EDIT_COPY, 0, (IntPtr)0);<br />
IDataObject ido = Clipboard.GetDataObject();<br />
if (ido.GetDataPresent(DataFormats.Bitmap))<br />
{<br />
return ((Bitmap)ido.GetData(DataFormats.Bitmap));<br />
}<br />
}<br />
}<br />
catch (Exception ex)<br />
{<br />
MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);<br />
}<br />
return null;<br />
<br />
}
Following is the timer triggering function...
private void OnTimedEvent(object source, ElapsedEventArgs e)<br />
{<br />
<br />
SavingOnePic(Directory.GetCurrentDirectory(), txtSavingName.Text.ToString());<br />
<br />
}
Following is the saving Function, it works when it is called from a button click event. however, does not work in the above OnTimedEvent function.
private void SavingOnePic(string savingPath, string fileName)<br />
{<br />
<br />
try<br />
{<br />
<br />
if (!Directory.Exists(@savingPath+@"\capturedImage")) <br />
{<br />
Directory.CreateDirectory(@savingPath + @"\capturedImage");<br />
fileIndex = 0;<br />
}else{<br />
string[] fileList = Directory.GetFiles(@savingPath + @"\capturedImage",<br />
fileName + "*.png");<br />
<br />
fileIndex = fileList.Length;<br />
}<br />
<br />
Image image = selectedDevice.Capture();<br />
<br />
image.Save(@savingPath + @"\capturedImage\" + fileName + <br />
"_000" + fileIndex.ToString() + ".png", ImageFormat.Png);<br />
<br />
fileIndex++;<br />
<br />
}<br />
catch (Exception ex)<br />
{<br />
MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);<br />
}<br />
}
|
|
|
|
|
And the question is ...
SkyWalker
|
|
|
|
|
Sorry that I didn't mention it clearly.
I want to know why the SavingOnePic function in OnTimedEvent cannot run.
I found that the clipboard does not have any data if the SavingOnePic function in OnTimedEvent. But I don't know how to solve it
Thanks
|
|
|
|
|
You can try to use a System.Windows.Forms.Timer instead, which is tread-safe. If i remember it correctly the System.Timers.Timer isn't (not sure though).
Also, when you mention that you get an exception, it is more helpful if you post the full exception, including stack trace etc..
HTH
|
|
|
|
|
As you already said, there is no data of that type in your clipboard.
You cannot retrieve what does not exist
Therefore, you should avoid "calling" methods of non-existing methods:
IDataObject ido = Clipboard.GetDataObject();
if (ido != null)
{
}
else
{
return;
}
SkyWalker
|
|
|
|
|
Is it because System.timers.timer is not thread-safe, so no data can be retrieved from Clipboard. If it is the case, how can I make the System.timers.timer be thread-safe?
|
|
|
|
|
How do i apply regular expression to find for host name from the text below and it prints out Host name: IT786P20??
Host Name: IT786P20
OS Name: Microsoft Windows XP Professional
|
|
|
|
|
Hi
The question is if you really want to use a regular expression for this. wouldn't a string operation do the job?
someting like
string blah = @"Host Name: IT786P20
OS Name: Microsoft Windows XP Professional"
int colonIndex = blah.IndexOf(":");
string HostName = blah.SubString(colonIndex+1,blah.IndexOf("\r",colonIndex+1)-colonIndex+1).Trim();
Console.WriteLine(HostName);
btw. if you want to work with regular expressions i would recommend you to get expresso it's a free tool with a great regex-Builder and Tester.
here[^]
greets
m@u
|
|
|
|
|
yes i have tried using the regex-builder but i do not know what is the syntax for making a regular expression. my ultimate purpose of using regular expression is becuase i wan to use regular expression to find the text that i want from a text file.
btw is there any software that allows me to type in a word to match from a sample text and gives me the regular expression syntax?
|
|
|
|
|
ah ok.. but you could still use String Operations for it
will that "Machine Name: someName" occur only once in the file?
if so, there's almost no difference between doing it the String Operation - Way or with Regex..
what you mean with syntax?
basically if you want to match a word this already IS a regular Expression
it's no problem to say Regex r = new Regex("Machine Name:");
or in your case, to get the Machine Name "Machine Name: (?<machinename>\w)".
if you use it like that, after applying the regex on your string with Match() you can say
string MachineName = myMatch.Groups["MachineName"].Value;
|
|
|
|
|
i mean syntax like this:
(?sx-m)[^\r\n].*?(? :\.|\?|!)\s)
It gave me an error like this
Error 1 No overload for method 'Regex' takes '1' arguments
Sry to bother u but can u give me a complete code if i were to give u a psuedo code??
|
|
|
|
|
lordbearsg wrote: It gave me an error like this
Error 1 No overload for method 'Regex' takes '1' arguments
hmm.. that's strange.. in .net 1.1 and 2.x it works if you only pass the pattern to the constructor.
what other Parameter does it want?
|
|
|
|
|
/// using System.Text.RegularExpressions;(NameSpace for Regular Exprestion...)
public static bool IsAlphaNumeric(String strToCheck)
{
Regex objAlphaNumericPattern = new Regex(@"^[a-zA-Z0-9]*$");
return !objAlphaNumericPattern.IsMatch(strToCheck);
}
public static bool IsAlphaNumericWithSpace(String strToCheck)
{
Regex objAlphaNumericSpacePattern = new Regex(@"^[a-zA-Z0-9\s]*$");
return !objAlphaNumericSpacePattern.IsMatch(strToCheck);
}
public static bool IsNumericWithDot(String strToCheck)
{
Regex objAlphaNumericPattern = new Regex(@"^[0-9.]*$");
return !objAlphaNumericPattern.IsMatch(strToCheck);
}
public static bool IsNumeric(String strToCheck)
{
Regex objNumericPattern = new Regex(@"^[0-9]*$");
return !objNumericPattern.IsMatch(strToCheck);
}
public static bool IsAlphaNumericWithDot(String strToCheck)
{
Regex objAlphaNumericPattern = new Regex("[^a-zA-Z0-9.]");
return !objAlphaNumericPattern.IsMatch(strToCheck);
}
public static bool IsAlphaNumericWithDotPeriodSpace(String strToCheck)
{
Regex objAlphaNumericPattern = new Regex(@"^[a-zA-Z0-9\s.,]*$");
return !objAlphaNumericPattern.IsMatch(strToCheck);
}
public static bool IsAlphaNumericWithDotPeriodSpaceHyphen(String strToCheck)
{
Regex objAlphaNumericPattern = new Regex(@"^[a-zA-Z0-9\s.,-]*$");
return !objAlphaNumericPattern.IsMatch(strToCheck);
}
public static bool IsAlphaNumericWithDotPeriodSpaceHyphenSlash(String strToCheck)
{
Regex objAlphaNumericPattern = new Regex(@"^[a-zA-Z0-9\s.,-/]*$");
return !objAlphaNumericPattern.IsMatch(strToCheck);
}
public static bool IsAlphaNumericWithSlash(String strToCheck)
{
Regex objAlphaNumericPattern = new Regex(@"^[a-zA-Z0-9/]*$");
return !objAlphaNumericPattern.IsMatch(strToCheck);
}
public static bool IsAmount(String strToCheck)
{
Regex objAlphaNumericPattern = new Regex(@"^(\d{1,12}|(\d{1,12}\.{1}\d{1,3}){1})$");
return !objAlphaNumericPattern.IsMatch(strToCheck);
}
public static bool IsAmountBECost(String strToCheck)
{
Regex objAmountPattern = new Regex(@"^(\d{1,8}|(\d{1,8}\.{1}\d{1,3}){1})$");
return !objAmountPattern.IsMatch(strToCheck);
}
<div class="ForumMod">modified on Tuesday, December 18, 2007 4:08:49 AM</div>
|
|
|
|
|
None of these would work, as you are returning not IsMatch, so it will return true if its not matched.
The . in some places need to be escaped too, as it will match anything, if unescaped.
xacc.ideIronScheme a R5RS/R6RS-compliant Scheme on the DLR
The rule of three: "The first time you notice something that might repeat, don't generalize it. The second time the situation occurs, develop in a similar fashion -- possibly even copy/paste -- but don't generalize yet. On the third time, look to generalize the approach."
|
|
|
|
|
Below is how i intented on how to make the code work but how do i code it?
Pseudo code
class test
{
public void Test(some arugments??)
{
Read systeminfo.txt;
Search for the word Host Name and show in a message box;
}
}
|
|
|
|
|
Hi, I have to keep all my labels for controls in a resource file to ensure easier translation of the program. How do I set a button's text to what is contained in a resource file, from the form designer? It's easy to set it in code but I'm sure there is a way to set it directly from the designer?
Thanks...
|
|
|
|
|
Set "Localizable" in the property window of the containing form to true.
When you want to translate this form switch the language to non-standard (some specific language) and just change all captions etc. (you can change the positions of the elements if you want).
At the end you will get several resource-folders with the localized versions of your resources - that's it you don't have to provide strings or whatever (of course you will have to use resource-strings for your code-driven output - msgboxes etc.)
|
|
|
|
|
I have created a connectionstring type (SpecialSetting) to store my database connection string. However, I failed to bind property of an SqlConnection object in the form design and error pops up immediately.
Object of type 'Microsoft.VSDesigner.VSDesignerPackage.SerializableConnectionString' cannot be converted to type 'System.String'.
Is there anyway I can fix this whilst the connection string remains in the special setting type and not a string type. Surely, MS made that facility for storing connectionstrings.
Thanks
Using C#, .NET 2.0 development, Windows XP SP2, Visual Studio 2005
|
|
|
|
|
I'd guess that ToString or a property on the class will do it for you.
Christian Graus - Microsoft MVP - C++
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
Everything you may need is here[^]
SkyWalker
|
|
|
|
|
hi all
i have a doubt, that
when i have several "select" queries for different tables, different criterias in same table, SHOULD I USE seperate DATASETS for each query?
pls reply me.
since i did like that, so that the no of datasetsi increased in my proj?
pls suggest?
thanks in adv
kssk
|
|
|
|
|
if you have several queries with the same result you should recycle your DataTable - so no in this case don't use multiple Datasets.
If you query different Tables the answer depends on your taste - I tend to use one DataSet for Tables in the same "category" on the same Database so I never get more then 2-3 datasets in my projects - but sometimes people use one dataset for each table ....
|
|
|
|
|
You shouldn't have to have separate datasets for each query. If you are using the same tables and fields, you can have different Fill, Get methods for each query.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
Hi all,
It’s my very first time posting any problem in the forum like this. I am expecting proper responses from u expert friends.
Problem is that I am in dilemma that which of the technique I should use in the scenario mentioned below.
I have got a server installed in my LAN and I need to send an XML file/string to the client which exists out of my LAN using internet (of course). There may around 500 to 600 client access my server for the data.
Please suggest me which of the techniques:
a. Remoting
b. Web Services
c. Socket
Can solve my problem.
Some constraints are the for each of the techniques as
a. If I go by Remoting, it’s difficult to apply it over internet and not even reliable too as any of the firewall can restrict it.
b. If I go by Web Services I need to have IIS installed on the client’s side which cannot be done for the cost reasons.
c. If I go by sockets again the problem with the firewalls arises.
Please suggest me a proper technique and solution of get ridge of the above mentioned problems associated with each of them.
Note : I am working on C#.Net with the framework 1.1.
Thanks in advance.
|
|
|
|