ورود

View Full Version : مبتدی: فرستادن در خواستهای کاربر با پیامک به سیستم مرکزی



mohammadian7
شنبه 15 مرداد 1390, 19:33 عصر
سلام من یه برنامه win appنوشتم که درخواستهای کاربر رو به صورت پیامک میگیره و جواب مناسب اونرو میده
حالا در قسمتی که کاربر باید درخواستش رو با پیامک بفرسته مشکل دارم.
چندتا سوال دارم
اول: آیا میتونم تابع run رو اینجوری بنویسم جوری که بازدن هر فرمان در محیط برنامه فقط بک case اجرا بشه
public void run() {
switch(thread_action){
case 1:{
try {
if(mess_con==null){
mess_con=(MessageConnection) Connector.open("sms://:1234");
}
text_mess=(TextMessage) mess_con.newMessage(MessageConnection.TEXT_MESSAGE ,"sms://"+"09360567266"+":1234");
text_mess.setPayloadText("#"+Username.getString()+"#"+Password.getString()+"#1#"+BookCode.getString()+"#");
mess_con.send(text_mess);
}catch(IOException ex){
switchDisplayable(getAlert(),getBuy_Book());
}
//Mobile.setString("");
BookCode.setString("");
break;
}

case 2:{
try {
if(mess_con==null){
mess_con=(MessageConnection) Connector.open("sms://:1234");
}
text_mess=(TextMessage) mess_con.newMessage(MessageConnection.TEXT_MESSAGE ,"sms://"+"09360567266"+":1234");
text_mess.setPayloadText("#"+Username.getString()+"#"+Password.getString()+"#2#");
mess_con.send(text_mess);
}catch(IOException ex){
switchDisplayable(getAlert(),getBook_List());
}
//Mobile.setString("");
//BookCode.setString("");
break;
}

case 3:{
try {
if(mess_con==null){
mess_con=(MessageConnection) Connector.open("sms://:1234");
}
text_mess=(TextMessage) mess_con.newMessage(MessageConnection.TEXT_MESSAGE ,"sms://"+"09360567266"+":1234");
text_mess.setPayloadText("#"+Username.getString()+"#"+OldPassword.getString()+"#3#"+NewPassword.getString());
mess_con.send(text_mess);
switchDisplayable(getAlert1(),getMenu());
}catch(IOException ex){
switchDisplayable(getAlert(),getChange_Password()) ;
}
//Mobile.setString("");
NewPassword.setString("");
OldPassword.setString("");
ReNewPassword.setString("");
break;
}}}

mohammadian7
شنبه 15 مرداد 1390, 19:37 عصر
سوال دوم: آیا با این کد قسمت اول case 1 اجرا خواهد شد و درست است.
} else if (command == cmdBuyBook) {
// wrte pre-action user code here
thread_action=1;
t=new Thread();
t.start();

mohammadian7
شنبه 15 مرداد 1390, 22:28 عصر
ایا میشه بدون برنامه نویسی با ترد پیامک فرستاد

dr_jacky_2005
یک شنبه 16 مرداد 1390, 10:25 صبح
1-بله،موردی نداره.میشه توی run طوری نوشت که یک case اجرا شه.

2-thread_action رو پابلیک اون بالا تعریف کنید.و یک مقدار هم بهش پیش فرض بدین.

3-بله.بدون ترد هم میشه.ولی اصولی ترش اینه ترد داشته باشید.چون همیشه ترد اصلی برنامه همون لحظه در دسترس نیست،واسه همین اگه اون موقع درخواست ارسال رو بزنید،ممکنه بیوفته تویcatch یا هنگ کنه واسه چند لحظه و سپس بفرسته

mohammadian7
دوشنبه 17 مرداد 1390, 17:24 عصر
چه جوری میتونم چندتا ترد داشته باشم چه جوری بفهمم چه تابع run ای مال کدوم ترد هست
شما لطف میکنین یکم بیشتر توضیح بدین

dr_jacky_2005
سه شنبه 18 مرداد 1390, 10:26 صبح
چه جوری میتونم چندتا ترد داشته باشم چه جوری بفهمم چه تابع run ای مال کدوم ترد هست
شما لطف میکنین یکم بیشتر توضیح بدین
پس شما یه کاری کن
طرز کد نویسی واسه ساخت و اجرای ترد هاتو اینطوری کن:


new Thread(new Runnable()
{
public void run()
{
funccc();
}
}).start();