

براي جستجو در تمام مطالب سايت واژه كليدي مورد نظرتان را وارد کنيد :
پيغام مدير :
ایمیل من
redboyiran@aol.com
redboyiran.blogfa@gmail.com
redboyiran.blogfa@yahoo.com
ادرس وبلاگ :www.redboyiran.blogfa.com
براي تبادل
لوگو ابتدا لوگوي ما را قرار دهيد،سپس از طريق فرم نظرات به ما خبر دهيد تا ماهم
همين کار را بکنيم.
هفته اوّل آبان 1388
هفته چهارم مهر 1388
هفته دوم مهر 1388
هفته اوّل مهر 1388
هفته چهارم شهریور 1388
هفته سوم شهریور 1388
هفته اوّل شهریور 1388
هفته چهارم مرداد 1388
هفته سوم مرداد 1388
هفته دوم مرداد 1388
هفته اوّل مرداد 1388
هفته چهارم تیر 1388
هفته سوم تیر 1388
هفته اوّل تیر 1388
هفته چهارم خرداد 1388
هفته سوم خرداد 1388
هفته دوم خرداد 1388
هفته اوّل خرداد 1388
هفته چهارم اردیبهشت 1388
هفته سوم اردیبهشت 1388
هفته اوّل اردیبهشت 1388
هفته چهارم فروردین 1388
هفته سوم فروردین 1388
هفته دوم فروردین 1388
هفته اوّل فروردین 1388
هفته سوم اسفند 1387
هفته اوّل اسفند 1387
هفته چهارم بهمن 1387
هفته سوم بهمن 1387
هفته دوم بهمن 1387
هفته سوم دی 1387
هفته دوم دی 1387
هفته اوّل دی 1387
هفته چهارم آذر 1387
هفته سوم آذر 1387
هفته دوم آذر 1387
هفته اوّل آذر 1387
هفته چهارم آبان 1387
هفته سوم آبان 1387
هفته دوم آبان 1387
هفته اوّل آبان 1387
هفته چهارم مهر 1387
هفته سوم مهر 1387
هفته دوم مهر 1387
هفته اوّل مهر 1387
هفته چهارم شهریور 1387
هفته سوم شهریور 1387
هفته دوم شهریور 1387
هفته چهارم مرداد 1387
هفته سوم مرداد 1387
هفته اوّل مرداد 1387
هفته چهارم تیر 1387
هفته دوم تیر 1387
هفته اوّل تیر 1387
هفته چهارم خرداد 1387
هفته سوم خرداد 1387
هفته دوم خرداد 1387
هفته چهارم اردیبهشت 1387
هفته سوم اردیبهشت 1387
هفته چهارم فروردین 1387
هفته دوم فروردین 1387
هفته چهارم اسفند 1386
هفته سوم اسفند 1386
هفته اوّل اسفند 1386
هفته سوم بهمن 1386
هفته دوم بهمن 1386
هفته اوّل بهمن 1386
هفته اوّل دی 1386

اطلاعيه هاي سايت :
به شما كاربر گرامي سلام عرض مي كنم . اميدوارم
در اين وبلاگ دقايقي خوبي را سپري كنيد . براي آگاهي از امكانات اين وبلاگ
خواهشمندم كه تا آخر صفحه اين وبلاگ را مشاهده نماييد .
|
محيط اسكريپتنويسي آندرويد
![]() محيط اسكريپتنويسي آندرويد معرفي شد. اين محيط كه مجموعهاي از زبانهاي اسكريپتي است، به توسعهدهندگان اجازه ميدهد اسكريپتهايي را بنويسند و مستقيما در محيط دستگاه آندرويد اجرا كنند.
اين اسكريپتها را از طريق اكثر نرمافزارهاي آندرويد ميتوان استفاده كرد، همچنين ميتوان با اين اسكريپتها كارهاي زير را انجام داد: كنترل رويدادها، شروع فعاليتهاي خاص روي دستگاه، ايجاد تماس تلفني، ارسال پيغام متني، باركدها را اسكن كرد، از سيستم متنخوان استفاده كرد. اسكريپتهاي نوشته شده ميتوانند به زبانهاي پايتون، لوا و يا بينشل باشد و گوگل در خبري جداگانه اعلام كرده است كه بهدنبال پشتيباني از جاواسكريپت و روبي نيز هست. يكي از ويژگيهاي بسيار خوب محيط اسكريپتنويسي آندرويد نسبت به محيط كدنويسي آن در كامپيوتر اين است كه ميشود داخل ترمينال خود گوشي نيز برنامه نوشت و هدف اين است كه بتوان سريع اين كدها را پياده كرد. |
|
|

پيش از اينكه چيزي را بخواهيم شروع كنيم، لطفا هيچ پيشفرضي در مورد كامپايلر نداشته باشيد. كامپايلرها از ويژگيهاي مختلفي پشتيباني ميكنند كه ممكن است در همه آنها ثابت نباشد. مثلا اين تكه كد را نگاه كنيد:
Array[i] = i++;
نتيجه عبارت بالا چه خواهد شد؟ آيا اول عمليات جايگزيني انجام ميشود و بعد يك واحد به i اضافه ميشود يا برعكس اين موضوع صادق خواهد بود؟ ايـن مسـالـه تـا حـدودي گنـگ اسـت، امـا يـك برنامهنويس خوب همواره از نوشتن كدهايي كه ابهام دارد، خودداري ميكند. هيچ وقت فراموش نكنيد كه نوشتن يك كد تميز، خوانا و قابل رديابي، بسيار بهتر از يك كد كوتاه، اما غيرقابل رديابي است كه نياز به هوش بالايي دارد.
1– عبارت اگر براي مقايسه ثابتها
وقـتي ميخواهيد مقدار ثابتي را با يك متغير مـقايسه كنيد، به دو روش برميخوريد. نخستين حالت آن در اين شرط مقايسهاي، چيزي شبيه به كد زير خواهد بود:
if (input_temp == CONST_VAL ) {
//....some code goes here
}
و حالت دوم بهصورت زير:
if (CONST_VAL == input_temp ) {
///....some code goes here
}
حالا بهنظرتان كدام يك بهتر است؟ روش دوم كمي عجيب بهنظر ميرسد، اما بهتر است از آن اسـتـفاده شود! چرا؟ اين حالت را در نظر بگيريد كه بهطور اشتباهي يك مساوي فراموش شود:
if (input_temp = CONST_VAL) {
حالا ميتوانيد اشتباه كد بالا را درك كنيد. در ايـن حـالـت،هميشه جواب شرط، مقدار درست خـواهـد بـود. اين اشتباه وقتي كه ثابت را اول بنويسيم برطرف خواهد شد، چرا كه كامپايلر خطا ميدهد.
2– تقدم عملگرها
اگر بيشتر از يك عمليات وجود داشته باشد، حتما از پرانتز استفاده كنيد. اين كد را ببينيد:
;2=1var
;10=2var
;4=3var
;3*var2+var1temp = var
اگر منتظريد كه عبارت بالا نتيجه 48 را بدهد به حقيقت فكر كنيد كه نتيجه 42 را خواهيد گرفت. اشتباه از كجاست؟
اگر ندانيد كه عملگر ضرب نسبت به عملگر جمع اولويت بيشتري دارد،در اين صورت ايرادي منطقي خواهيد داشت كه بهسادگي قابل رفع نخواهد بود. براي سادگي كار ميتوان كد در دو خط را نوشت. البته پرانتزگذاري بهترين راه حل است.
3– بررسي كد بازگشتي توابع استاندارد
صرف نظر كردن از كدهايي كه توابع استاندارد كتابخانهاي پس ميفرستند، تبديل به امري عادي شده است.
اما حواستان باشد كه اگر بخواهيد فرض بگيـريـد كـه ايـن تـوابـع همواره مقدار درست را بـرمـيگردانند، از همينجا ضربه خواهيد خورد. بهعنوان مثال، تابع malloc براي تخصيص پوياي حافظه استفاده ميشود كه شكل كلي آن به اين صورت است:
void *malloc(size_t size);
malloc اشارهگري را به حافظهتازه تخصيص داده شدهاي برميگرداند كه اندازه آن را با مقدار size به آن دادهايم. تكه كد زير را در نظر بگيريد:
* sizeof (int)); 100int *stk_ptr = malloc(
if (NULL == stk_ptr) {
// Memory could not be allocated
// Take corrective action
}
اگـر malloc بـه هـر دليلي نتوانست حافظه مـنـاسـب را تخصيص بدهد، در اين صورت اگر بررسياي صورت نگرفته باشد، برنامهتان بهسادگي از كار ميافتد و شما بههيچعنوان نخواهيد توانست آن را رهگيري كنيد.
4– غلبه بر محدوديت آرايه
وقتي يك آرايه ايجاد ميكنيد، شايد بزرگترين مشكلمان با آن، محدوديتاش باشد. كد زير را در نظر بگيريد:
];10unsinged char input_buffer[
unsigned char i;
; i++) {10; i <=0 for (i =
input_buffer[i] = in_port();
}
خب در كد بالا انتظار ميرود كه 10بايت داده از ورودي دريـافـت گردد و داخل بافري كه تعريف كردهايم، قرار گيرد. اما بهخاطر اينكه داخل حلقه for افتادهايم، و همچنين، خود انديس 10 را هم بررسي ميكنيم، بنابراين 11بايت از ورودي دريافت ميشود و داخل آرايه 10 عنصري قرار نميگيرد. از اين دست اشكالات باعث ميشود وقت زيادي را صرف رفع آن كنيد.
چندين ابزار هست كه ميتوانيد به كمك آنها اين ايـرادهـا را كشـف و تصحيح كنيد، PC-Lint و Valgrind از اين دست نرمافزارها است.
5– داده از نوع منطقي
بهطور معمول، نوع داده منطقي (بولين) شامل دو ارزش ميشود: درست يا نادرست، انتخاب يا خـالي، بالا يا پايين، فعال يا غيرفعال، روشن يا خاموش و مانند آن.
بياييد فرض بگيريم كه ميخواهيد ثابتهايي تعريف كنيد كه نشان دهنده فعال و غير فعال باشند. دو روش براي اين كار وجود دارد:
0 #define DISABLE
#define ENABLE (!DISABLE)
كه در اين دو دستور، فعال مخالف غيرفعال است و عدد 1 در آن قرار ميگيرد. و روش دوم:
0 #define DISABLE
1 #define ENABLE
كه بهطور دستي مقدار 0 و 1 را به غيرفعال و فعال بدهيم. در اين صورت، اگر بخواهيم حالتها را تغيير بدهيم، در روش اول، كافيست غيرفعال را از 0 به 1 تغيير دهيم، تمام كدمان تغيير ميكند و بهشيوه جديد فعال ميشود. اما اگر بخواهيم بهروش دوم اين كار را انجام بدهيم، بايد هر دو دستور را تغيير داده و اين يعني بالارفتن احتمال اشتباه.
6– هميشه از آكولاد استفاده كنيد
بـرخـي از بـرنامهنويسان براي دستورات if و حلقههاي for و while، در زماني كه تنها يك دستور دارند از آكولاد استفاده نميكنند، مثلا عبارت زير را ببينيد:
if (SET == timer_is_flag)
timer_is_flag = CLEAR;
يا دستور زير:
; i < BUFF_SIZE; i++)0 for (i =
buff[i]=i;
خب اين دستورات بهخودي خود هيچ اشكالي ندارند، اما اگر به دستورات بالايي، يك دستور اضافه كنيد و حواستان نباشد كه آكولاد بگذاريد، با مشكل بزرگي روبرو ميشويد، برنامهتان مطابق انتظار رفتار نميكند و وقت قابل توجهي را بايد صرف كنيد تا اينرا پيدا كنيد.
از اينرو، پيشنهاد ميشود كه با دقت پس از هر دستور شرطي و حلقه، آكولاد بگذاريد و سپس اقدام بهكدنويسي داخل محتواي آن بكنيد. در اين صورت، پس از چندين روز تمرين، دست شما بهطور خودكار آكولادگذاري را انجام ميدهد و از اين خطاي نابهنگام رهايي پيدا ميكنيد.
منابع

Free-ISMS نگارش 1.03
اين برنامه قادر است بر روي گوشيهاي داراي سيستم عاملهاي سيمبين، نگارشهاي 3v60S و 5v60S نصب شود. متاسفانه با وجود توضيحات فراواني كه در مورد ثبت (Sign) برنامه در شمارههاي گذشته كليك داده شده باز هم عدهاي پيغامهايي براي ما ارسال ميكنند كه در آن از عدم نصب برنامه شكايت شده است. متاسفانه ما نميتوانيم دوباره از اول روشهاي ثبت را ارائه دهيم، چون ديگر جايي براي توضيحات اين برنامه باقي نميگذارد. تنها كمكي كه به اين دوستان ميتوانيم بكنيم، اين است كه عبارت "Sign" فايلهاي "sis" را در موتورهاي جستجو، دنبال كنند تا به روشهاي ثبت فايلهاي sis مخصوص گوشيهاي سيمبين پي ببرند.
پس از ثبت برنامه آن را در گوشي خود نصب و اجرا كنيد. پس از اجرا، برنامه از شما سوالي مبني بر انتقال پيامكهاي موجود در قسمت سيستم گوشي، به اين برنامه خواهد پرسيد كه شما با پاسخ مثبت دادن، يك كپي از آن پيامكها را در اين برنامه خواهيد داشت. تكرار اين عمل از اين به بعد ضروري نيست، چون اين برنامه بعد از رسيدن هر پيامك، خود يك نسخه از آن را در اين برنامه نيز ذخيره خواهد كرد.
در اولين صفحه ظاهر شده، كاربر با يك سري از شمارهها و اسامي مواجه خواهد شد. اين نرمافزار پيامكها را بر اساس اشخاص و شماره تلفنها تقسيمبندي ميكند و پيامكهاي هر شماره در يك قسمت قرار ميگيرد.
اعدادي در زير هر يك از اين شمارهها وجود دارد كه بهطور مثال، مانند 0/1/0 و يا 1/0/0 هستند. كه در حالت اول نشاندهنده تعداد پيامكهاي رسيده است و در حالت دوم نشاندهنده تعداد پيامكهاي ارسالي هستند. يعني به عبارتي اگر در زير شمارهاي عدد 6/8/0 را داشته باشيم، 8پيامك از آن شماره دريافت و 6پيامك برايش ارسال كردهايم.
حال اگر بر روي يكي از اين شمارهها كليك كنيد، خواهيد ديد كه بهصورت طبقهبندي شده و براساس تاريخ مرتب شدهاند و پيامكهاي رسيده در كادر سفيد رنگ و پيامكهاي ارسالي در كادري سبز رنگ نمايش دادهميشود كه بهراحتي قابل تشخيص باشد.
از طريق اين برنامه نيز ميتوانيد بهصورت عادي اقدام به ارسال پيامك كنيد، براي اين كار كافيست از گزينه New Message استفاده كرده تا به محيط ارسال پيامك وارد شده و كار خود را انجام دهيد.
حال به قسمتهاي جذاب برنامه وارد ميشويم كه همگي آنها در قسمت Tools قرار دارند. شما با استفاده از گزينه Export SMS ميتوانيد از پيامكهاي خود در يك فايل متني نسخه پشتيبان تهيه كنيد. براي اين كار ابتدا گزينه مربوطه را انتخاب كرده و سپس شمارههايي را كه ميخواهيد از پيامكهاي آنها نسخهاي تهيه شود را با استفاده از دكمه وسط علامتگذاري كنيد و در پايان كليد Ok را بفشاريد.
برنامه از شما سوالي در رابطه با مسير ذخيره فايل مربوطه و همچنين اسم آن خواهد پرسيد كه به دلخواه به آن پاسخ دهيد تا فايل مربوطه ساخته شود. براي دستيابي به آن فايل كافيست با استفاده از يك File Manager به آن قسمت برويد تا فايل مربوطه را پيدا كنيد و با كليك كرده بر روي آن، بتوانيد آن را مشاهده كنيد. در اين فايل اطلاعاتي از قبيل اسم ارسالكننده، تاريخ ارسال، ساعت ارسال و همچنين متن پيامك ذخيره شده است. بايد دقت داشته باشيد كه اين برنامه قادر به بازيابي اين فايلها در سيستم پيامك گوشي نيست و تنها قادر است از آن نسخه پشتيبان تهيه كند.
براي دريافت نسخهاي از اين برنامه از طريق لينك زير اقدام كنيد:
http://www.persianmobiles.com/mobile69.html
پژمان عاملي فرد

در اين وبسايت، طرحهاي وبسايت، بروشور و آگهيهاي تبليغاتي هم به رايگان قرار داده شده است، بنابراين ميتواند انتخاب بسيار خوبي براي شما باشد:

بحث ورود نسل سوم شبكههاي مخابراتي بهايران با ورود اپراتور سوم مطرح شد. پس از ماجراي شركت اتصالات و در حال حاضر زينايران، بهنظر ميرسد كه بالاخره و پس از گذشت زمان زياد اين وعده كمابيش بهسمت عملي شدن پيش خواهد رفت. آيا شبكههاي نسل سوم ميتوانند پاسخگوي نياز اينترنتي كشور باشند؟
اين سوال در حالي مطرح ميشود كه هنوز استفاده از اينترنت در يك ايستگاه ثابت، با كندي و مشكل روبهروست و استفاده از سرويسهاي مجازي بهطور كافي به امري قابل اتكا تبديل نشده است. تراكنشهاي مالي و بانكي با ترس و لرز انجام ميشود و مردم هنوز روشهاي سنتي را به روشهاي الكترونيك ترجيح ميدهند. اين در حالي است كه شركتهاي بزرگ و بينالمللي خدماترساني الكترونيك، از راههاي نويني براي عرضه خدمات خود استفاده ميكنند. سرويس محاسبات ابري اين شركتها خبر از استفاده همه جانبه مردم از اينترنت براي امور روزمره ميدهد. ديگر مزاياي اينترنت سريع را نشماريم كه چطور باعث صرفهجويي در وقت و هزينه ميشود و كارايي و كيفيت را بالا ميبرد.
قدم اصلي براي رساندن ارتباطات الكترونيك به سطح وسيع مقبوليت در ميان مردم، ارزانشدن اينترنت، يا بهعبارت ديگر، دريافت پهناي باند بيشتر در ازاي پرداخت كمتر هزينه است. اين ارزاني خود باعث استفاده بيشتر مردم از آن خواهد شد. از طرف ديگر بهدليل بالارفتن سرعت تراكنشها و مطمئنتر شدن فضاي مجازي، نيازهاي كاربران نيز متعاقبا بالا ميرود و اين امري طبيعي است.
يكي از اصليترين شبكههاي نسل سوم، جدا از بهبودهاي سرويس مخابراتي، سرعت بالاي انتقال داده آنهاست كه قادر به تبادل اطلاعات تا 384كيلوبيت برثانيه (براي نقاط متحرك) و از 2مگابيت بر ثانيه براي نقاط ثابت هستند. اين نرخ بالاي انتقال اطلاعات، قطعا باعث آسانتر شدن زندگي در فضاي مجازي خواهد شد. اما سوالي كه مطرح ميشود، اين است كه با محدوديتي كه مسوولان براي كاربران حقيقي اينترنت قائل شدهاند (حداكثر 128كيلوبيت برثانيه) آيا اينترنت G3 هم بههمين سرنوشت دچار خواهد شد؟
اگر پاسخ به اين سوال، كه هنوز بهطور قطع مطرح نشده است، مثبت باشد در اين صورت نيازي بهوجود شبكههاي G3 نخواهد بود. چرا كه سرعت فعلي شبكههاي GPRS هم در صورت تخصيص پهناي باند كافي، ميتواند تا حدي كه تعيين شده است بالا برود. اگر پاسخ به اين سوال، منفي باشد، بهنظر ميرسد سياستهاي اعمال محدوديت براي اينترنتهاي خانگي نيز تغيير كند. كمبود پهناي باند و اعمال محدوديتهاي حجمي براي كاربران خانگي از مهمترين مشكلات اينترنت در كشور بهشمار ميروند كه عليرغم قول مسوولان براي ارزاني، هنوز مشتري چيزي را لمس نكرده است.
محمدرضاقرباني
سرگرميهاي گوناگون
10 تصور غلط در مورد لينوکس
مخابرات 30 سرويس جديد ميدهد!
15 سایت پر بازدید ایرانیان
اطمينان خاطر از گشتوگذارهاي اينترنتي فرزندان
جالب و ديدني
چگونه از گوشي خود مراقبت كنيم؟
برنامهنويسي براي کارتهاي گرافيکي آينده
فوت استادي(نكاتي براي بهبود سرعت ويندوز)
جالب و ديدني
مسيريابي با موبايل
گوشی با لنز مایع به بازار می آید
دخترها به موبایل معتادتر از پسرها هستند
تامين انرژي مورد نياز تلفنهاي همراه به وسيله هيدروژن
ارسال اس.ام.اس رايگان روي آي فون
