group45
شنبه 14 فروردین 1389, 10:56 صبح
با سلام
یه برنامه نوشتم که زمان سیستم رو هر 1 ثانیه توی یه فیل متنی ذخیره میکنه.حالا دکمه رو که میزنم شروع به کار میکنه ولی تا حلقه وایل تموم نشه دکمه رو آزاد نمی کنه که شرط خروج از حلقش فعال شه.
یه نگاهی به این کدا بندازید و راهی واسه هنگ نکردن برنامه بگید.
با تشکر فراوان.....................
public bool stop = false;
public void cf(string Path)
{
//creat folder
if (!System.IO.Directory.Exists(Path))
System.IO.Directory.CreateDirectory(Path);
}
public void ct(string a, string b, string c, string d, string e)
{
button1.Text = "Stop Recording";
//creat text
a += '-' + b + '-' + c + '-' + d + e;
System.IO.StreamWriter writer = File.AppendText(a);
while (!stop)
{
writer.WriteLine(System.DateTime.Now.TimeOfDay);
System.Threading.Thread.Sleep(1000);
}
writer.Close();
stop = true;
}
private void Form1_Load(object sender, EventArgs e)
{
maskedTextBox1.Text = System.DateTime.Now.TimeOfDay.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
if (!stop)
{
cf(@"c:\Time Recorder45");
ct(@"c:\Time Recorder45\Record", System.DateTime.Now.Hour.ToString(), System.DateTime.Now.Minute.ToString(), System.DateTime.Now.Second.ToString(), ".txt");
}
else
{
stop = true;
button1.Text = "START RECORDING";
}
}
یه برنامه نوشتم که زمان سیستم رو هر 1 ثانیه توی یه فیل متنی ذخیره میکنه.حالا دکمه رو که میزنم شروع به کار میکنه ولی تا حلقه وایل تموم نشه دکمه رو آزاد نمی کنه که شرط خروج از حلقش فعال شه.
یه نگاهی به این کدا بندازید و راهی واسه هنگ نکردن برنامه بگید.
با تشکر فراوان.....................
public bool stop = false;
public void cf(string Path)
{
//creat folder
if (!System.IO.Directory.Exists(Path))
System.IO.Directory.CreateDirectory(Path);
}
public void ct(string a, string b, string c, string d, string e)
{
button1.Text = "Stop Recording";
//creat text
a += '-' + b + '-' + c + '-' + d + e;
System.IO.StreamWriter writer = File.AppendText(a);
while (!stop)
{
writer.WriteLine(System.DateTime.Now.TimeOfDay);
System.Threading.Thread.Sleep(1000);
}
writer.Close();
stop = true;
}
private void Form1_Load(object sender, EventArgs e)
{
maskedTextBox1.Text = System.DateTime.Now.TimeOfDay.ToString();
}
private void button1_Click(object sender, EventArgs e)
{
if (!stop)
{
cf(@"c:\Time Recorder45");
ct(@"c:\Time Recorder45\Record", System.DateTime.Now.Hour.ToString(), System.DateTime.Now.Minute.ToString(), System.DateTime.Now.Second.ToString(), ".txt");
}
else
{
stop = true;
button1.Text = "START RECORDING";
}
}