conditional - How to delay execution of a method in c#? -


मैं इस अगर हालत,

  अगर (SendSMS (Convert.ToInt32 (DLComportNo। SelectedItem.Text), TxtDriMob.Text, TxtCliDet.Text) & amp; & amp; SendSMS (Convert.ToInt32 (DLComportNo.SelectedItem.Text), TxtCliMob.Text, TxtDriDet.Text)) {// मैं अपने डाटाबेस के लिए विवरण डालने कर रहा हूँ}  

और मेरे SendSMS विधि इस तरह दिखता है,

  निजी bool SendSMS (portno, स्ट्रिंग mobNo, स्ट्रिंग विवरण int) {try {serialport SerialPort1 = नए serialport (); SerialPort1.PortName = "COM" + portNo.ToString (); SerialPort1.BaudRate = 9600; SerialPort1.Parity = समता। एक; SerialPort1.DataBits = 8; SerialPort1.StopBits = StopBits.One; SerialPort1.RtsEnable = true; SerialPort1.DtrEnable = true; SerialPort1.Encoding.GetEncoder (); SerialPort1। रीसाइज्डबाइटट्रेसहोल्ड = 1; SerialPort1.NewLine = पर्यावरण.NewLine; SerialPort1.Open (); SerialPort1.Write ("एटी" + SerialPort1.NewLine); नींद (500); SerialPort1.Write ("AT + CMGF = 1" + SerialPort1.NewLine); नींद (500); SerialPort1.Write ("AT + CMGS =" + (चार) 34 + mobNo + (चार) 34 + SerialPort1.NewLine); नींद (1000); SerialPort1.Write (विवरण + (चार) 26); नींद (2000); SerialPort1.Close (); } पकड़ {} वापसी सच; }  

जब मैं अपने में तोड़ बिंदु का उपयोग क्या होता है SendSMS मैं अपने उत्पादन (यानी) दोनों तरीकों निष्पादित हो और संदेशों को ठीक भेजा जाता है मिलता है ... लेकिन जब मैं अपने ब्रेकप्वाइंट दोनों में विधियां निकाल दी है, तो बयान क्रियान्वित कर रहे हैं लेकिन पहली विधि से संदेश भेजा जाता है और दूसरी विधि से नहीं .... कोई भी सुझाव?

ज़रूर है जैसे आप डिवाइस से एक रसीद के लिए प्रतीक्षा करने के लिए प्रत्येक आदेश के बाद सीरियल पोर्ट से वापस पढ़ने जाना चाहिए लगता है। बस में एक नींद डाल यह गारंटी नहीं है कि डिवाइस ने आपके आदेश संसाधित किया है और अतिरिक्त इनपुट के लिए तैयार है एक आदेश भेजने के बाद, आपको डिवाइस से प्रतिक्रिया (सीरियल पोर्ट के माध्यम से) को यह सुनिश्चित करने के लिए पढ़ना चाहिए कि यह आपके आदेश की अपेक्षा के अनुरूप है। आम तौर पर, "एटी" कमांड स्वीकार करने वाले डिवाइस कमांड को संसाधित करने के बाद एक नई लाइन पर "ओके" वापस आ जाएगी। अगर यह एक त्रुटि देता है, तो आपको त्रुटि की स्थिति के लिए उपयुक्त फेंक या गलत लौटा देना चाहिए। अपने डिवाइस के लिए विनिर्देशों की जांच करें या टर्मिनल के माध्यम से यह देखने के लिए प्रयास करें कि यह कैसे प्रतिक्रिया देता है।

इस पर एमएसडीएन दस्तावेज़ीकरण सीरियल पोर्ट से कैसे पढ़ा है।

ध्यान दें कि एक और विकल्प भेजने के लिए संदेशों का एक संग्रह लेने के लिए अपनी पद्धति को पुन: करने के लिए होगा। इससे इसे खोलने की बजाय एक ही SerialPort उदाहरण का पुन: उपयोग करना आसान हो जाएगा, इसे सेट अप करना और आप भेज रहे प्रत्येक संदेश के लिए इसे बंद करना।


Comments