|
Hi All
How to copy all the images in a folder to another using C# multithreading.
Please help me on this. This is my first program in C#.
Regards
Suhas
Suhas Kyadiguppi
|
|
|
|
|
In your other thread call File.Copy() . It will copy any files whther images or not.
Regards
|
|
|
|
|
I'm attempting to use DirectShow.NET to play movies on different DVD drives, with the following call:
hr = dvdGraph.RenderDvdVideoVolume( "f:", AMDvdGraphFlags.None, out status );
I have two DVD drives, E: and F:
Regardless of the path that I give RenderDvdVideoVolume , it always plays the movie on the first drive (E) and the flag bDvdVolInvalid is set true.
Anyone have any ideas? I'm using DirectX 9.0c, etc.
The call is basically just an interface call to the SDK, DirectShow.NET isn't injecting any other code. When I looked at some C++ examples:
WCHAR achwFileName[MAX_PATH] ;
LPCWSTR lpszwFileName = NULL ;
if (lstrlen(m_achFileName) > 0)
{
#ifdef UNICODE
lstrcpy(achwFileName, m_achFileName) ;
#else
MultiByteToWideChar(CP_ACP, 0, m_achFileName, -1, achwFileName, MAX_PATH) ;
#endif // UNICODE
lpszwFileName = achwFileName ;
}
AM_DVD_RENDERSTATUS Status ;
DbgLog((LOG_TRACE, 5, TEXT("Calling RenderDvdVideoVolume(<%s>, 0x%lx, 0x%lx)"),
m_achFileName, m_dwRenderFlag, &Status)) ;
HRESULT hr = m_pDvdGB->RenderDvdVideoVolume(lpszwFileName,
m_dwRenderFlag, &Status) ;
it looks like the string needs to be Unicode format, which is what a C# String is. Still, I wonder what requirements the API method actually has that C# isn't meeting.
Marc
Thyme In The CountryPeople are just notoriously impossible. --DavidCrow There's NO excuse for not commenting your code. -- John Simmons / outlaw programmer People who say that they will refactor their code later to make it "good" don't understand refactoring, nor the art and craft of programming. -- Josh Smith
|
|
|
|
|
I'm sure you've tried:
hr = dvdGraph.RenderDvdVideoVolume(@"f:\\<code>video_ts</code>", AMDvdGraphFlags.None, out status );
See:
Writing a DVD Playback Application in DirectShow[^]
The first parameter is the name of a directory that contains the DVD files. On a DVD disc, these files reside in a directory named VIDEO_TS.
At least it is USUALLY VIDEO_TS. See:
IDvdControl2::SetDVDDirectory[^]
--EricDV Sig---------
Some problems are so complex that you have to be highly intelligent and well informed just to be undecided about them.
- Laurence J. Peters
|
|
|
|
|
EricDV wrote: I'm sure you've tried:
OMG. No I hadn't.
THANK YOU!!!
And thank's for the links. That's the first time I've seen documentation that clearly says what the volume path actually should be.
Marc
Thyme In The CountryPeople are just notoriously impossible. --DavidCrow There's NO excuse for not commenting your code. -- John Simmons / outlaw programmer People who say that they will refactor their code later to make it "good" don't understand refactoring, nor the art and craft of programming. -- Josh Smith
|
|
|
|
|
Marc Clifton wrote: THANK YOU!!!
My pleasure Marc. It is exciting for a little guy like myself to be able to assist someone of your calibur. This sure is fun.
--EricDV Sig---------
Some problems are so complex that you have to be highly intelligent and well informed just to be undecided about them.
- Laurence J. Peters
|
|
|
|
|
EricDV wrote: This sure is fun.
Well, let's see if we can have some more. Now that it plays from the correct DVD drive, have you any experience playing a DVD over a network from a network mapped or shared DVD drive? It sort of works, except that the audio and video appear to be streamed in big chunks, so it's really choppy.
I came across something about DVD's and block streaming being a problem. And there's this software called AnyDVD that seems to address that. More to figure out!
Marc
Thyme In The CountryPeople are just notoriously impossible. --DavidCrow There's NO excuse for not commenting your code. -- John Simmons / outlaw programmer People who say that they will refactor their code later to make it "good" don't understand refactoring, nor the art and craft of programming. -- Josh Smith
|
|
|
|
|
Marc Clifton wrote: have you any experience playing a DVD over a network from a network mapped or shared DVD drive?
Sorry, can't help on that one.
--EricDV Sig---------
Some problems are so complex that you have to be highly intelligent and well informed just to be undecided about them.
- Laurence J. Peters
|
|
|
|
|
No problem. I just installed this thing called "AnyDVD", and it solved the problem!
Thanks again though, because without your help here, I and my client would be totally stuck. I owe you one!
Marc
Thyme In The CountryPeople are just notoriously impossible. --DavidCrow There's NO excuse for not commenting your code. -- John Simmons / outlaw programmer People who say that they will refactor their code later to make it "good" don't understand refactoring, nor the art and craft of programming. -- Josh Smith
|
|
|
|
|
Hello,
here is a function's signatures for 2 PowerPoint effects event handlers:
SlideShowNextClick(SlideShowWindow Wn,Effect ef)
The effect onNextClick is ef.
SlideShowNextBuild(SlideShowWindow Wn)
What is a current executed effect??
At the moment I have next implementation:
1. By handle SlideShowNextClick store next effect name ("xyz").
2. By handle SlideShowNextBuild execute my bussiness logic (for effect "xyz").
The problem occurs if the current slide has more than 1 effect on page and "go back" button will be used. ==> I can't catch "goback"-event, thus I can't be sure that my stored "NextEffect" is a next effect realy.
Is it possible to get number/name of current executed effect directly in SlideShowNextBuild handler?
Many thanks for your help.
|
|
|
|
|
I have 35 labels on a picture, if i set these to transparent they just asume the color of the form.
Now after googling for a while i found out that i should use drawstring but then i cant move the objects anymore which is like the whole point of the application.
Move code: (with event trigger @ the end)
I have been trying to get this to work for about 16 hours im going out of my mind,
I'd would make me very happy if someone could assist me in creating a way to display the text ontop of a picture and still be able to move them.
Thanks allot!
ps exuse my crappy coding skill.
private void movepic(object sender, System.EventArgs e)
{
newcoord = 0;
math = 0;
decide = "";
input = input.ToLower();
startcoord = 0;
substract = false;
//c = center (320)
if (input.IndexOf("c") >= 0)
{
decide = "c";
}
//r = right (640)
if (input.IndexOf("r") >= 0)
{
decide = "r";
}
if (input.IndexOf("-") >= 0)
{
decide = "-";
}
if (input.IndexOf("c-") >= 0)
{
decide = "c-";
}
if (input.IndexOf("r-") >= 0)
{
decide = "r-";
}
switch(decide)
{
case "c":
startcoord = 320;
input = input.Remove(0,1);
break;
case "r":
startcoord = 640;
input = input.Remove(0,1);
break;
case "-":
substract = true;
input = input.Remove(0,1);
break;
case "c-":
startcoord = 320;
substract = true;
input = input.Remove(0,2);
break;
case "r-":
startcoord = 640;
substract = true;
input = input.Remove(0,2);
break;
default:
break;
}
if (input != "")
{
math = int.Parse(input);
}
if (input2 != "")
{
newcoord2 = int.Parse(input2);
}
if (substract == true)
{
newcoord = startcoord - math;
}
else
{
newcoord = startcoord + math;
}
labelselect.Location = new Point(newcoord,newcoord2);
labelselect.BringToFront();
}
private void element1(object sender, EventArgs e)
{
input = textBox1.Text;
input2 = textBox2.Text;
labelselect = label121;
movepic(sender, e);
}
|
|
|
|
|
Scalee wrote: I have 35 labels on a picture
WOW!
Scalee wrote: if i set these to transparent they just asume the color of the form.
Why don't you use
MyLabel.Visibility = false;
Scalee wrote: Now after googling for a while i found out that i should use drawstring but then i cant move the objects anymore which is like the whole point of the application.
Woosh! For what I know, you could make them Labels, and move them by handling mouse and/or keyboard events -eg. MouseUp, KeyUp, etc...-
Regards
|
|
|
|
|
mylabel.visibility is useless since they just disable the label and dont show the text at all.
And its about moving drawstring not labels.
Sorry if my didnt not cover that properly
|
|
|
|
|
I know you are talking about Text labels drawn by DrawString method, but why? I mean, my suggestion was to make them real Label Objects. Set their locations with your coordinates, and hide/show them if you need by using the Visible poperty.
Moving them would be much easier as each control would fire its event, and all you got to do is to handle these events, instead of drawing the text and then trying to get the mouse pointers coordinations to figure out which label was clicked to be moved.
Regards
|
|
|
|
|
the moving is working 100%, the problem is that the labels are overlapping each other thus giving a partial view.
I cant set there visibility to false then u would even see less then partials.
They all have to show at the same time, the problem is inside the font its self i believe.
i think theres some empty space above every icon thus leaving a black spot in the label (black picture background + black labels == near enough transparency) but now that black piece is overlapping the stuff above itsself.
|
|
|
|
|
OK! Now I see that I got you completely wrong the first time. Sorry for that. Can you upload a screenshot of what you suffer from, or explain more clearly?
1- You are suffering from the overlap of lables? Even if you did adjust the font type and size? Use a legend. You put only the label's number on the pictue, and the labels are numbered in a table outside the picture.
2- There are empty spaces around the text? Like a black background? That's quite odd?!!
Could you please post the code you are drawing the text with, o that's troubling you? I'm really interested in helping you.
Regards
|
|
|
|
|
Here's how I'd do it using drawString (it may not be the prettiest solution in the world, but never the less):
Keep a collection (an array, a list, whatever) of the strings that are being displayed, as well as the coordinates that they're kept at.
Then, in the onPaint method (I assume that's where you've been drawing the strings), make it run through that list every time drawing the strings at their repective coordinates.
Then I'd use the mouse event handlers for the picture, take the coordinates of the mouse pointer and find what string is underneath the pointer. (This might take a bit to get right - you'll have to find some way of determining the length of a string in pixels). Then just update the string's coordinates in the collection.
P.S. Sorry if I mis-understood the problem, or if my solution sucked.
|
|
|
|
|
|
Woopsie
Thanks.
|
|
|
|
|
Here's how I'd do it using drawString (it may not be the prettiest solution in the world, but never the less):
Keep a collection (an array, a list, whatever) of the strings that are being displayed, as well as the coordinates that they're kept at.
Then, in the onPaint method (I assume that's where you've been drawing the strings), make it run through that list every time drawing the strings at their repective coordinates.
Then I'd use the mouse event handlers for the picture, take the coordinates of the mouse pointer and find what string is underneath the pointer. (This might take a bit to get right - you'll have to find some way of determining the length of a string in pixels). Then just update the string's coordinates in the collection.
P.S. Sorry if I mis-understood the problem, or if my solution sucked.
|
|
|
|
|
hi,
i want to know if the "ENTER" key is pressed or the "Escape" key, to make some acion. This should take place when the cursor is inside a text box.
Best regards.
***LET THE BEST MAN WINS***
|
|
|
|
|
Take a look at the TextBox.KeyDown , TextBox.KeyPress and TextBox.KeyUp events
"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." - Rick Cook www.troschuetz.de
|
|
|
|
|
I tried using those events button i didn't know how to write a condition to know if the "ENTER" or "ESCAPE" buttons are pressed.
Best regards
|
|
|
|
|
You have to evaluate the xxEventArgs object that is passed into the event handler.
"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." - Rick Cook www.troschuetz.de
|
|
|
|
|
Use TextBox.KeyDown event where you will get KeyeventArgs.
You can compare e.key ot keys enumeration.
|
|
|
|