سلام ميخواستم بدونم راهي هست واسه تايمري كه اينتروالش 40 ثانيه هست و در حال كار كردنه.وقتي كه داره از ثانيه 20 رد ميشه يه ايف بزاريم براش؟
سلام
نه راهی وجود نداره
- if رو فارسی مینویسی؟ :wacsmiley:
سلام
نه
ممنون.خب كدي هم نيست كه شبيه thread.sleep عمل كنه.اما كل برنامه رو متوقف نكنه؟يا ميشه thread.sleep رو فقط براي يه قسمت خاص به كار برد؟اگه ميشه توضيح بديد لطفا
میتونی از کنترل Background worker استفاده کنی ( تاپیک های مربوطه )
در ضمن به این تاپیک هم سر بزن: [url]http://www.softafzar.net/thread1560.html/[/url]
اگر دقیقا بگی میخوای چیکار کنی بهتر میتونیم کمکت کنیم.
من يه متد تايمر دارم كه دوتا Xml توش هست.ميخوام 1 xml رو كه فرستاد 2 xml رو 20 ثانيه بعدش بفرسته
ميشد از thread.sleep استفاده كرد اما كل برنامه رو غير فعال ميكنه.
يه راه ديگه هم به نظر خودم رسيد كه مثلا اگه xml 1 رو تو ثانيه 0 بفرسته و اينتروال تايمر 40 باشه xml 2 رو بزارم رو ثانيه 20 بفرسته كه گفتن راهي وجود نداره
از اول همینو میگفتی خیلی زودتر به جواب میرسیدی چون یه راه حل خیلی ساده وجود داره
interval رو بذاری روی 1000 متغیر بذار که در هر ثانیه یه واحد بهش اضافه بشه بعد چک کن اگر متغیر 20 شده کار اول و اگر 40 شده کار دوم رو انجام بده و تایمر رو غیر فعال کنه
کد:
[CSHARP]
int second = 0;
private void timer1_Tick(object sender, EventArgs e)
{
second++;
if (second == 20)
{
// first xml
}
else if (second == 40)
{
//second xml
timer1.Enabled = false;
}
}
[/CSHARP]
دمت گرم از 10 نفر پرسیدم همین سوال رو نتونستن جواب بدن.هزارتا راه دیگه گفتن هیچکدومشم به جواب نمیرسید.مرسی
ببخشید یه مشکل دیگه.حالا اگه بخوایم این چرخه تکرار بشه.یعنی بعد از اینکه تایمر غیر فعال شد دوباره فعال بشه و دوباره تو ثانیه های 20 و 40 کد رو بفرسته چیکار باید کرد؟
سوال برنامه نویسی دارید؟
ندونستن عیب نیست، نپرسیدن چرا!