|
Hi Mike,
I do have three comments on this:
1. file names can be case insensitive (Windows) or sensitive (Unix)
2. there are more image extensions (.TIF, .WMF, .EMF), and the list may grow
3. what if a file holds a valid image but does not carry the appropriate extension?
|
|
|
|
|
Luc Pattyn wrote: 1. file names can be case insensitive (Windows) or sensitive (Unix)
2. there are more image extensions (.TIF, .WMF, .EMF), and the list may grow
3. what if a file holds a valid image but does not carry the appropriate extension?
Hey Luc,
Thanks again for your time.
#1 I addressed by modifying the Regex expression to include insensitivity;
Regex r = new Regex(@"(?i-)(\b\.bmp\b|\b\.png\b|\b\.jpg\b|\b\.jpeg\b|\b\.gif\b)");
#2 I had thought about adding the ones I knew of and letting user add to list?
#2-3 I guess just try it and if it fails don't load?
This is for an article I'm going to submit here shortly. Its a Clipboard spy demo that shows what can be done and how to do it. The main thing I'm trying to convey is the formats, how to retrieve the data, etc.. But I do intend on extending it for another project i'm working on and will need the functionality you mention. But I'm not going to address it for the article.
I have these things locked somewhere in the back of the ole cranium for future reference.
Input always appreciated,
Mike
Life is not measured by the number of breaths we take, but by the
moments that take our breath away. "George Carlin"
|
|
|
|
|
|
I usually go about this by getting a list of files from the folder.
string[] filesInDir = System.IO.Directory.GetFiles(pathToMyFiles, "*.jpeg");
just replace the "jpeg" filter with the different image extensions you want to gather. You could the loop through the string array
foreach(string file in filesInDir){Image img = Image.FromFile(file);}
Just because we can; does not mean we should.
|
|
|
|
|
Thanks for the input
Mike
|
|
|
|
|
I have a DataGridView on a Windows Form. Data, from a Collection object is being stored in a BindingSource. From the BindingSource it is than passed on to the DataGridView. On debugging, all three (the collection object, the BindingSource and the DataGridView) show that they have the values. But after running the application, the DataGridView doesn't display the values.
Kindly tell me a solution for this.
Thanks in advance
|
|
|
|
|
I've got a .NET application where I need to receive data over the serial port.
I'm trying to receive data over the serial port that's of variable length and does not have an end line character.
I'm raising the dataReceived event like so:
void port_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string data = rfswitch.ReadExisting();
MessageBox.Show(data);
}
However the event is being called twice with part of the data string in the first call and the remaining part in the second call.
How do I hold the dataReceived event from firing until the whole message has been received?
Thanks!
|
|
|
|
|
Hi,
cmarcus1979 wrote: How do I hold the dataReceived event from firing until the whole message has been received?
AFAIK you can't in general. Serial data comes in over the cable at the rate of the sender.
It gets buffered a couple of times, it gets copied when specific characters are seen,
when a buffer fills, when a timer elapses, whatever; and it will fire your event once
or several times.
If your data exceeds one of the buffer sizes, it most probably will fire multiple times.
In special cases, you can get a single event. Here are some, they all require
cooperation by the other party:
- you implement a question-and-answer system, where the PC asks for data, the other
party sends data while signalling its transmission using one of the control lines
(keep forgetting which is which). Then you can use a PinChanged event instead of
the DataReceived event.
- you append a fixed character to every answer, one that does not appear in the data itself.
Now you can do ReadLine in a separate thread, and have that signal your own event.
- you allow for timing constraints, as in: each answer will take less than T milliseconds
and there will not be more than one conversation in each T milliseconds. Now you can
use DataReceived to start a timer, and the timer elapsing as an event that does the
ReadExisting. (remark: there is a minimum for T, say 33 msec for regular .NET timers;
see my timers article).
On top of all this, you should program defensively, which includes your code should
cope with transmission problems such as sudden disconnects, a lost message, and
a damaged message. This means whatever you implement, at a minimum you must have some
kind of supervisor that resets things when communication comes to a halt.
Hope this helps.
|
|
|
|
|
Hello Luc,
Excellent response. I've decided to use the timer and it seems to be working extremely well. Thanks for the help!
Best Regards,
-Chris
|
|
|
|
|
hi
how can i protect my programs that no one can install them
without my code number ?
i need this in c#
thanks
|
|
|
|
|
Have you tried the search box? Maybe Google?
only two letters away from being an asset
|
|
|
|
|
That is a tall order you are asking for in a programming forum.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
no one can help me ?
i need direction... something....
|
|
|
|
|
Don't have a real specific answer for you. Techniques for creating serial numbers for your product is something many companies do not divulge how they do it.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
Hi friends,
I have a two columns as unitprice and quantity in salesreport table. I am constructing new column by multplying this two column. I gave the name of sales for this new column. I want to ge average of sales column.
I tried below code but program says the column name of sales is invalid.
select unitprice,quantity,unitprice*quantitiy as sales from salesreport
where sales>avg(sales)
|
|
|
|
|
I think you have to change the structure of your query a bit in order to get the results you would like.
First off, Sales is a calculated column, so if you would like to filter by that value, you will have to filter using the calculation instead of the alias you give to that calculation.
Secondly, to get the average sales, you'll have to include a sub-query in your where clause that will calculate the average. This subquery will then be used to compare values against to determine if it meets the criteria in your where clause
Your query should look similar to:
<br />
select <br />
unitprice,<br />
quantity,<br />
unitprice * quantitiy as sales <br />
from<br />
salesreport<br />
where <br />
(unitprice * quantitiy) > (select avg(unitprice * quantitiy) from salesreport)<br />
|
|
|
|
|
Thanks so much for your quick and detailed response but i have another problem. First of all i wonder why we can't write avg(sales) instead of avg(unitprice * quantitiy).
I am working with nortwind sample.
I have the column sum("order details".unitprice*quantity*(1-discount)) as totalsales
(I don't write all all code, if it is not clear what I want , i can write all my code trying.)
as accumulated new column. I want to get average of this.and I used group by function also. I wrote avg(sum("order details".unitprice*quantity*(1-discount)) ) .Program says you can not sum in....)
|
|
|
|
|
I used below code series and I got "An aggregate may not appear in the WHERE clause unless it is in a subquery contained in a HAVING clause or a select list, and the column being aggregated is an outer reference."
error.
select employees.Firstname,employees.lastname,orders.OrderID,
sum("order details".unitprice*quantity*(1-discount)) as Sales from (Employees inner join orders on employees.employeeID=orders.employeeID) inner join "order details" on orders.orderID="order details".orderID
where sum("order details".unitprice*quantity*(1-discount))>(select avg(sum("order details".unitprice*quantity*(1-discount))) from "order details")
group by employees.lastname,orders.orderID,employees.firstname
|
|
|
|
|
Hello, I've done quite a bit of work in customizing a version of the property grid to meet my needs and have found some great references here on code project for doing so. However, there are a few things I haven't found a great way to do yet and I figured it couldn't hurt to ask around. Anyway:
1. I'd like to be able to create a button in a property grid control. Basically, I'm using the property grid to allow users to edit a bunch of data, and would like to be able to add a "Render" button to the control. I realize I could create a button on the form that contains the property grid, but that violates my whole reason for using the property grid - that one property grid can be the editing framework for many objects.
2. I'd love to override the handling of certain types in the property grid to provide custom controls - like a slider or numeric up down for a range limited value, for instance. However, it doesn't seem like I can do this without requiring the user to open a custom control embedded into the property grid (pressing the ... button), which is clunkier than I'd like. I suppose this goes along with question #1 to some extent, as if I could draw and manage that area I could build my own button control.
Any help is appreciated..
|
|
|
|
|
anyone with tutorials on image surveillance specifically face recognition, please send it down here please
tony-yeyo
|
|
|
|
|
you should post a question in one CP forum only. Those are the rules.
|
|
|
|
|
|
Try doing a general search on this site.
"Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon
|
|
|
|
|
Hi,
how can i get the reference of existing(opened) form and manipulate its control properties like text,Visable etc on other form or within module? by doing new myForm does give reference of new instance rather existing one. Also, is there some different method to get instance in case of MDI application?
Would be greatful if I get some urgent response.
|
|
|
|
|
You're back! Has your tinpot dictator opened up the Internet tubes again?
Adnan Siddiqi wrote: by doing new myForm does give reference of new instance rather existing one.
Umm, yes. When you create the form initially, you store it in a reference. YourForm form = new YourForm(); Then you can use the form reference.
Here[^] is something for you.
Cheers,
Vikram.
"If a trend is truly global, then that trend ought to be visible across ANY subset of that data" - fat_boy
|
|
|
|