PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : تبدیل رشته به کاراکتر



safavism
10-08-2011, 19:58
با سلام خدمت دوستان بزرگوار
یه رشته عددی مثل یه شماره مویایل(*******0939) به طول یازده چه جوری میشه به کاراکتر تبدیلش کرد ؟ آیا باید یه رقم یه رقم به کاراکتر تبدیل بشه؟

alireza9900
10-08-2011, 22:08
منظورتون دقیقا چیه؟
الان این رشته خودش یه آرایه از کاراکتر هاست.
مثلا اگه اسمه رشتتون(محتوی شماره) number باشه number[0] میشه '9' (کد 57 فک کنم)
حالا اگه منظورتون چیز دیگه ای هست بگید!

ghaem313
10-08-2011, 23:06
منظورتون دقیقا چیه؟
الان این رشته خودش یه آرایه از کاراکتر هاست.
مثلا اگه اسمه رشتتون(محتوی شماره) number باشه number[0] میشه '9' (کد 57 فک کنم)
حالا اگه منظورتون چیز دیگه ای هست بگید!


بله شما كاملا درست ميگيد
اما اگر دوستمون منظورش كاري برعكس چيزي كه نوشتن باشه . مي تونن از تابع itoa استفاده كنند

safavism
11-08-2011, 01:36
از دوستان متشكرم ..با عرض معذرت كه واضح سوال نكردم...يك شماره تلفن موبايل رو در از ديتاي rx ميكرو دريافت ميكنم بعد اونو ميريزم توي يه متغير از جنس string خب حالا ميخوام همين متغير رو با دستور print بفرستم رو پورت سريال به اين شكل

print "at+cmgs=";chr(34);"0939774++++";chr(34
حالا چون شماره دريافتي ممكنه تغيير كنه ميخوام به جاي شماره همون متغييري كه رشته عددي توي اون ريخته ميشه بزارم
rs="0939774$$$$
print"at+cmgs="; chr(34);"rs";chr(34
ولي اينجوري نميشه بايد نوع متغيير تغيير كنه مثلا همونطور كه گفتيد 9 ميشه كد 57 حالا چه جوري اين رشته 11 كاراكتري رو به كد تبديل كنم يعني بايد تك تك شمارها به كد تبديل بشه..شماره دريافتي هميشه ثابت نيست كه اين كار بكنم راهكار چيه؟ متشكرم

alireza9900
11-08-2011, 02:03
print "at+cmgs=" ; chr(34) ; "rs" ; chr(34)این قسمت که گذاشتید فکر کنم نباید متغییر rs رو توی "" بذارید. اونطوری درست میشه احتمالا.(من بیسیک بلد نیستم)
ولی اگه اونم جواب نداد می تونید اینطوری بنویسید:



print "at+cmgs=" ; chr(34) ; rs[0] ; rs[1] ; rs[2] ; rs[3] ; rs[4] ; rs[5] ; rs[6] ; rs[7] ; rs[8] ; rs[9] ; rs[10] ; chr(34)

ولی این کار اصلا نیازی نیست. شما همون rs رو داخل "" نذارید اوکی میشه.
البته بازم دقیق نمی دونم بیسیک چه رفتاری داره. آخرین کد بیسیکی که زدم مربوط میشه به 5 سال پیش. هیچی یادم نیست!

cmuiran
11-08-2011, 12:57
print"at+cmgs="; chr(34);"rs";chr(34

سلام
این دستور شما اشتبا ارسال میشه شما الان دارین "rs" را ارسال میکنید نه متغییر داخل rs را
نیازی به این کتیشن ها نیست

cmuiran
11-08-2011, 12:59
شما این را ارسال کنید فکر کنم درست بشه
rs="0939774$$$$"
print "at+cmgs=" ; rs ; chr(34)

safavism
12-08-2011, 14:19
شما این را ارسال کنید فکر کنم درست بشه
rs="0939774$$$$"
print "at+cmgs=" ; rs ; chr(34)
با سلام
ممنون از لطف جنابعالی ..طبق فرمایشات شما عمل کردم درست شد

safavism
12-08-2011, 14:22
دوستان کد اسکی عددهای دو رقمی به بالا شیوه ی نوشتنش چه جوریه مثلا عدد1 کد اسکی اون 49 است عدد 10 به بالا کدشون چی میشه؟

alireza9900
12-08-2011, 15:41
عدد 10 میشه 1 و 0 یعنی 2 تا کاراکتر یکی با کد 49(یک) یکی هم با کد 48(صفر)