|
The correct position is white queen on d1, black queen on d8, all other queens in the spares box. No tree involved, no FIFO.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
Hi
i'm getting exhausted about a simple feature but sincerely i don't know how work out that
I have this code to use Window Media Player :
public partial class Form1 : Form
{
TextBox textbox;
public Form1()
{
InitializeComponent();
listBox1.SelectedIndexChanged += listBox1_SelectedIndexChanged;
textbox = new TextBox { Dock = DockStyle.Top };
listBox1.SelectionMode = SelectionMode.MultiExtended;
}
private void Form1_Load(object sender, EventArgs e)
{
List<string> prova = GetListOfFiles(@"D:\\Torrent\\Depeche Mode - Sounds Of The Universe (2009)\\");
listBox1.DataSource = prova;
listBox1.DisplayMember = "prova";
player1.settings.setMode("Shuffle", true);
player1.Ctlcontrols.play();
}
private List<string> GetListOfFiles(string Folder)
{
DirectoryInfo dir = new DirectoryInfo(Folder);
FileInfo[] files = dir.GetFiles("*.mp3", SearchOption.AllDirectories);
List<string> str = new List<string>();
foreach (FileInfo file in files)
{
str.Add(file.FullName);
}
return str;
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Text = Convert.ToString(listBox1.SelectedItem);
player1.URL = Convert.ToString(listBox1.SelectedItem);
}
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Return)
{
string searchFor = textBox1.Text;
List<string> strings = (List<string>)listBox1.DataSource;
if (multi.Checked)
{
for (int i = 0; i < strings.Count; i++)
{
listBox1.SetSelected(i, strings[i].Contains(searchFor));
}
}
else
{
listBox1.ClearSelected();
listBox1.SelectedIndex = strings.FindIndex(
s => s.Contains(searchFor));
}
}
}
}
With this code i can search songs and show in a ListBox the list downloaded in a folder but my purpose is when Window Music Player change song automatically the ListBoxItem will change marker and show the current song instead now when WMP change song the marker of the listBox did not move .
An important characteristic is the i set the WPM in RandomPlay it is a feature requested.
Do you have any idea how i can work out that from some day i felt a little confuse to find out the right way but not luck.
Have a good luck.
Nice Regards
|
|
|
|
|
ascotravel wrote: when Window Music Player change song automatically the ListBoxItem will change marker and show the current song instead
How do you know WMP changed song? If you can answer than question, then the rest is easy.
Yusuf
Oh didn't you notice, analogous to square roots, they recently introduced rectangular, circular, and diamond roots to determine the size of the corresponding shapes when given the area. Luc Pattyn[^]
|
|
|
|
|
Hi Yusuf,
thanks to reply ,
sorry my english is poor i embedded Window Media PLayer in my form1
Yusuf.A wrote: ascotravel wrote:
when Window Music Player change song automatically the ListBoxItem will change marker and show the current song instead
How do you know WMP changed song? If you can answer than question, then the rest is easy.
that's mean i give to WMP a folder to play song so i wish set my listBox like the listBox in Windows Media Player's playlist & Winamp's playlist where there is a listbox that show the list of songs loaded and change in the next_song at the end of the current_song so the listBox with show the new song and so on....in my case when i click in the listBox to select a song it is right but when the song finish the WMP get in status stopped.
Is it impossible satisfy my purpose?There is a way for work out my request?
Thanks for your support.
Nice Regard
modified on Tuesday, March 31, 2009 1:53 PM
|
|
|
|
|
So you have embedded WMP in your form. OK. You can pass list of files to play to WMP. Is there any event you can subscribe to or any other mechanism WMP can notify you it is done playing a song? Or Is it a way to know it has started playing a new song? That is what you need to look at.
I don't know the answer I am just giving you a hint as to what to look for. I could be 100 miles off the mark.
Yusuf
Oh didn't you notice, analogous to square roots, they recently introduced rectangular, circular, and diamond roots to determine the size of the corresponding shapes when given the area. Luc Pattyn[^]
|
|
|
|
|
HI Yusuf,
i set the WMP to play songs in Random"Shuffle" way when it is playing a song it shows the name,album,etc,etc, of the current song so when its change song (stored from my folder directory) automatically change also the info about the new song the trouble is if i click on the ListBox to change song WMP follow my event but when finish to play that song WMP pass in status "Stopped" if i don't touch nothing WMP will play without interruption ,so i need to set WMP to don't pass never in status"Stopped" because the request of my client is that WMP will play for 4 hour continue without interruption and else ...
My trouble is if i use the textbox "search" to search a song and play it or i click on the song's list in the ListBox to change song after this action WMP will pass in status "stopped" .
However thanks for your support i will continue to research the best way to work out this trouble.
Nice regards
|
|
|
|
|
hi guys i am using windows application to develope application for adhoc network ...
so i need help in designing this application programatically ...
I tried to connect network through wireless laptop and and i am getting error win32 error as
The format not supported ....
thanks for any help
|
|
|
|
|
As Ceaser once said....
(now where are my damn lions )
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
Hi dude i just dint got what u mean to say ...
i am using managed wifi library to do this project , and
this is the link where you can find this library ...
http://managedwifi.codeplex.com/
u may get some idea what i want ....
Thanks for ur time and reply...
|
|
|
|
|
How can i hide from OpenFileDialog the "Look in" from the top and Recent, Desktop, My Documents,My Computer and My Network options?
I d'nt want user to Browse a folder from a specific location
Thanks
|
|
|
|
|
Im almost certain that it is not possible with the OpenFileDialog control. You would prob be best to create your own control to browse files.
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
|
Salam
with Add-in installation and setup information
to automatise Excel ,I can't create new NamedRange
in methode public void OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom)
or to cast Microsoft.Office.Interop.Excel.WorkSheet to
Microsoft.Office.Tools.Excel.WorkSheet
Thanks
good day for all
|
|
|
|
|
Hello,
I have a program that opens multiple user controls, each one needing to run 3 parallel processes. It needs to run all 3 simultaneously, and then when all 3 are complete run a process. This needs to occur every second.
What I have done, is create 3 threads, one main thread which when it starts running it calls two .Set() methods for manualevent handlers which then sets the other two threads running. I then have a waitall in the main thread (after the point where it has done its work) which waits for the other two threads to complete. At the end of the two threads I have a waitall which waits for a different manualevent to be reset (which happens when the main thread finishes).
Now this all seems to work fine, but when running 4 user controls at once, approximetly every minute the threads somehow get confused and one of the waitall's for the two sub threads get stuck. So I have put a timeout parameter here which is a hack, and doesn't really solve why it is locking up. I can't put all the code in but below is an example of it working.
Can anyone help come up with why this is occurring, or a better way of doing this?
//Thread Ones Run Method
public void ThreadOne()
{
while(true)
{
ogEvents[0] = new ManualResetEvent(false);
ogEvents[1] = new ManualResetEvent(false);
//Do a task here
//Wait for the other 2 threads to finish
bool blSuccess = WaitHandle.WaitAll(ogEvents, 4000, false);
//Do some calcs
Thread.Sleep(1000);
ogThreadTwo[0].Set();
ogThreadThree[0].Set();
}
}
//Thread Two's Run Method
public void ThreadTwo()
{
while(true)
{
//Do some task
//Task Finished
ogEvents[0].Set();
ogThreadTwo[0] = new ManualResetEvent(false);
bool blSuccess = WaitHandle.WaitAll(ogThreadTwo, 4000, false);
}
}
//Thread Three's Run Method
public void ThreadThree()
{
while(true)
{
//Do some task
//Task Finished
ogEvents[0].Set();
ogThreadThree[0] = new ManualResetEvent(false);
bool blSuccess = WaitHandle.WaitAll(ogThreadThree, 4000, false);
}
}
|
|
|
|
|
Hi,
why are you creating new ManualResetEvents all the time? I would create them once, and resuse them, i.a. call Set(), Reset() and Wait/WaitAll() as required, no more no less. Replacing one ManualResetEvent by another you are risking signaling or waitinf for one that isn't actually in business any more.
Whatever you do, you must allow for any or all of your threads not to get any CPU cycles at all for some time, e.g. because some high-priority thing suddenly happens.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
Purely for organizational purposes, I would actually have a fourth thread controlling the other three, if possible. Threading problems can be difficult to debug, so keeping the code clean can sometimes be a big help...
Also, I would probably go with just basic EventWaitHandles
EventWaitHandle workerThreadStart[] = new EventWaitHandle[3];
EventWaitHandle workerThreadFinish[] = new EventWaitHandle[3];
while (true)
{
for (int x = 0; x < 3; x++) workerThreadStart[x].Set();
WaitHandle.WaitAll(workerThreadFinish);
}
while (true)
{
workerThreadStart[#].WaitOne();
try
{
}
catch (...)
{
}
finally
{
workerThreadFinish[#].Set();
}
}
(Note: Just typed this out in here, not in a code editor, so might have typos or syntax problems - Just trying to give a rough idea anyway)
EDIT: Oh, and when you instantiate the EWH's, bring 'em up unsignaled and AutoReset.
|
|
|
|
|
Hi,
I'm not sure why you are continually reallocating the event objects. Doing so may have created a situation where you are waiting for a signal on an event object that is no longer referenced in your code.
It is quite possible that ThreadOne could set ogThreadTwo or ogThreadThree prior to reallocation in ThreadTwo or ThreadThree. If that happens the WaitAll methods will block as they are waiting for the reallocated events to be signalled.
//Task Finished
ogEvents[0].Set();
ogThreadThree[0] = new ManualResetEvent(false);
bool blSuccess = WaitHandle.WaitAll(ogThreadThree, 4000, false);
should be reordered
ogThreadThree[0] = new ManualResetEvent(false);
ogEvents[0].Set();
bool blSuccess = WaitHandle.WaitAll(ogThreadThree, 4000, false);
so that ogThreadThree event is rellocated BEFORE you release ThreadOne.
Alan.
|
|
|
|
|
Thanks for the reply's. I have changed the code to have 4 threads, and have stopped reallocating the event and it seems to have fixed any sync issues.
Thanks
|
|
|
|
|
Hi all,
in my C#.net 3.5 windows application, i have a insert statement in my button_Click event.
but this is raising 2 times, so 2 rows with same data inserting instead of 1.
i checked in debugmode after reaching last statement it is moving to first statement again.
why this is happening?
Please give some solution
Thanks in Advance
--Naren
|
|
|
|
|
Probably you called :
button.Click += new EventHandler(button_Click);
2 times...
|
|
|
|
|
|
You might want to run a Find in your solution for "BtnOk_Click", just to be certain of that. Remember, the designer will add one event hook and hide it in the InitializeComponent() method.
This may or may not be the problem, but it's best to eliminate the easy solutions first.
|
|
|
|
|
hmmmmmmm
i did but it is showing single time only
|
|
|
|
|
Gonna have to see some code to help with this one
Life goes very fast. Tomorrow, today is already yesterday.
|
|
|
|
|
private void BtnOk_Click(object sender, EventArgs e)
{
if (TxtTotMins.Text != TxtUCmins.Text)
return;
DateTime dt = Convert.ToDateTime(System.DateTime.Now.ToString());
DateTime Wo_dt = Convert.ToDateTime(System.DateTime.Now.ToShortDateString());
DateTime mod_time=Convert.ToDateTime(System.DateTime.Now.ToLongTimeString());
string QueueId = ClientInfo.Application + "!" + Wo_dt.ToShortDateString() + "!" + TransId;
string Upload = "N";
for (int i = 1; i <= OeCnt; i++)
{
string[] Level1 = OeControl[i].Level2.Tag.ToString().Split(':');
string Level1Code = Level1[1].ToString();
string Level2Code;
string Level3Code;
if (!(string.IsNullOrEmpty(OeControl[i].Level2.Text)))
{
string[] Level2 = OeControl[i].Level3.Tag.ToString().Split(':');
Level2Code = Level2[1].ToString();
}
else
Level2Code = null;
if (!(string.IsNullOrEmpty(OeControl[i].Level3.Text)))
{
string[] Level3 = OeControl[i].Level1.Tag.ToString().Split(':');
Level3Code = Level3[1].ToString();
}
else
Level3Code=null;
string Timespent=OeControl[i].TimeText.Text;
string Query = string.Format(@"insert into SIS_OEE(T_STAMP,oper,L2_Code,L3_Code,L4_Code,time_spent,
total_time,cono,cctr,emp,job,work_date,work_shift,mod_date,mod_time,
mod_user,sfis_trans_id,queue_id,upload) values ('{0}','{1}','{2}','{3}','{4}','{5}',
'{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}',{16},'{17}','{18}')", dt, TxtOperation.Text,
Level1Code, Level2Code, Level3Code, Timespent, TxtTotMins.Text, Cono, TxtCctr.Text,
Emp, TxtJob.Text, Wo_dt, Shift, Wo_dt, mod_time, Emp, TransId, QueueId, Upload);
Utility.SFISConnection.ExecuteNonQuery(Query);
}
this.Close();
}
this is mycode inside buttonclick
|
|
|
|
|