در اين بخش مي‌توانيد به مباحث مربوط به انواع زبان هاي برنامه نويسي بپردازيد
Captain

Captain



نماد کاربر
پست ها

431

تشکر کرده: 0 مرتبه
تشکر شده: 5 مرتبه
تاريخ عضويت

چهارشنبه 11 بهمن 1385 20:03

محل سکونت

www.centralclubs.com

آرشيو سپاس: 14 مرتبه در 7 پست

توسط f_love_s » جمعه 1 تیر 1386 17:53

چشم rampco جان،

در اولين فرصت حتما توضيحاتي را راجع به حلقه ها برايتان ارائه خواهم داد...

Captain

Captain



نماد کاربر
پست ها

542

تشکر کرده: 12 مرتبه
تشکر شده: 41 مرتبه
تاريخ عضويت

شنبه 19 اسفند 1385 19:01

آرشيو سپاس: 334 مرتبه در 94 پست

توسط Azadi.Isatis » جمعه 1 تیر 1386 20:09

ما 60 سال پيش يك سؤال كرديم درمورد ويژوال هيچكس جواب نداد

سوال  اين بود كه چگونه مي توان از جدول داده Sql  در وي بي استفاده كرد
مثل اكسس كه كه مي تونيم اون را  از منوهاي بالا بازكنيم
برای هر چیز زکاتی است  و زکات علم نشر دادن آن است.


الهی
مرا لیاقت بهشت نیست و طاقت دوزخ نیز ندارم. اکنون تو خود دانی و کرم تو.

Administrator

Administrator



نماد کاربر
پست ها

15465

تشکر کرده: 10175 مرتبه
تشکر شده: 3917 مرتبه
تاريخ عضويت

جمعه 7 بهمن 1384 19:51

آرشيو سپاس: 30251 مرتبه در 5981 پست

توسط Mahdi1944 » جمعه 1 تیر 1386 20:22

m_a_y جان
شما اگر SQL Server سازگار با نسخه VB مورد استفادتون رو نصب داشته باشيد، در ليست ديتابيس‌ها ميتونيد اون رو انتخاب کنيد (زمان انتخاب ديتابيس SQL هم به ليست اضافه خواهد شد)
زندگي صحنه يکتاي هنرمندي ماست     هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست     خرم آن نغمه که مردم بسپارند به ياد


 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد

Captain

Captain



نماد کاربر
پست ها

431

تشکر کرده: 0 مرتبه
تشکر شده: 5 مرتبه
تاريخ عضويت

چهارشنبه 11 بهمن 1385 20:03

محل سکونت

www.centralclubs.com

آرشيو سپاس: 14 مرتبه در 7 پست

توسط f_love_s » چهارشنبه 6 تیر 1386 23:41

البته چون من نميدونم شما چقدر با محيط vb آشنا هستيد سعي ميكنم كه اولا مثال ها در حد خيلي خيلي ساده باشه تا درك ساختارها راحت تر باشند و ثانيا با كمترين ابزار دستورات قابل رويت باشند.
دستورهاي ساختاري:
1-     دستورهاي شرطي
2-     دستورهاي تكرار
گاهي در برنامه ،شرايطي براي اجراي بعضي از برنامه ها وجود دارد.به عبارت ديگر اگر شرايطي فراهم شود بايد دستور يا دستورهايي اجرا گردند و در غير اين صورت (برقرار نبودن شرط) نبايد اجرا شوند.

دستورهاي شرطي:
1-     دستور if – then
2-     دستور if –then-else
3-     دستور case

دستور if-then  وend if  
و دستور else if

شكل كلي اين دستور به صورت زير مي باشد. Then شرط  if

اگر دقت كني ميبيني اين دستور به زبان ساده ميگه اگر شرط برقرار بود سپس ......

مثال1: برنامه بنويسيد كه بررسي كند اگر اسم نوشته شده در text1 با اسم نوشته شده در text2  برابر پيغام equal را چاپ نمايد.

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

حال اگر شرط برقرار نبود داخل label هيچ چيزي نوشته نميشود. و خط فرمان به دستورات بعد از end if  پرش مي كند و دستورات بعد از آن را اجرا ميكند.

مثال2 : اگر عدد وارد شده كوچكتر از 10 بود  ،  پيغام blow ، اگر بزرگتر از 10 بود پيغام abov  را چاپ كند.

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

نحوه اجرا: شرط اول بررسي ميشود در صورتي كه برقرار نباشد بدون وقفه به دستور بعداز end if پرش ميكند و شرط دوم را بررسي ميكند. اما براي اين كار مجبور شديم از دو دستور if استفاده كه علاوه بر طولاني شدن برنامه از زيبايي اون نيز كاسته خواهد شد.

بنابراين كمي ساختار را عوض ميكنيد و ميگيم اگر عدد كوچكتر از 10 بود پيغام blow در غيراينصورت (يعني عدد بزرگتر از 10 بود) ، پيغام abov را چاپ كن.
تنها فرقي كه در برنامه ايجاد ميشود اين است كه ديگر شرط ها ،توسط if  هاي جداگانه محاسبه نميشوند بلكه با يك if  و كلمه else دو شرط بررسي ميشود. و اصلا نيازي نيست كه فكر كني كه از كدوم راه برنامه رو بنويسي معمولا راه دوم رايج ترين حالت بررسي شرط هست.

مثال3 : بررسي كنيد عدد وارد شده زوج هست يا فرد.

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

توضيح: اگر عدد وارد شده به 2 قابل قسمت بود زوج در غير اين صورت فرد .
حال ميدانيم كه عدد صفر نه زوج هست و نه فرد ، و اگر در همين برنامه عدد صفر را وارد كنيم به ما خواهد گفت كه عدد زوج است و اين با قانوني كه تعريف كرديم مطابقت ندارد پس بايد اول از هر چيز بررسي كنيم كه عدد وارد شده صفر هست يا نه .اگر بود چاپ كند "number is not even or odd"  در غير اين صورت بررسي زوج يا فرد بودن. پس برنامه را به شكل زير تغيير ميدهيم.

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 


دستور select   و end select

اگر تعداد شرط هاي يك مسئله زياد باشد ،به جاي استفاده از if –else از دستور select  استفاده ميكنيم.
كلاهنگامي كه بخواهيم براساس مقادير مختلف يك متغير يا يك عبارت ،تصميم گيري هاي مختلفي داشته باشيم،از select  استفاده ميكنيم.شكل كلي اين دستور به صورت زير هست:

متغير يا عبارت select case

مقادير 1 case
مجموعه دستورهاي 1

مقادير 2 case
مجموعه دستورهاي 2
.
.
.
.
Case else
End select

نحوه اجراي دستور select : ابتدا عبارت يا متغير موجود در select case ارزيابي مي شود ، اگر مقدار اين عبارت يا متغير با يكي از مقادير 1 براير باشد ،مجموعه دستورهاي 1 اجرا ميشود و select  خاتمه مي يابد.اگر مقدار عبارت يا متغير با يكي از مقادير 2 برابر باشر ، مجموعه دستورهاي 2 اجرا ميشودو select خاتمه مي يابد و.....
قسمت case else در اين دستور اختياري هست و در صورتي كه نوشته نشود ،اگر مقدار عبارت ، با هيچ يك از مقادير ذكر شده براير نباشد ،هيچ دستوري اجرا نمي شود و كنترل از select  خارج ميشود.

مثال: برنامه بنويسيد كه يكي از چهار عملگر اصلي +،-،* و / را به همراه دو عدد صحيح از وردي دريافت و سپس اين عملگر ها را روي اين دو مقدار اعمال كند ،در صورتي كه كاراكتري غير از اين چها عملگر وارد شده باشد ، پيغام خطايي را نمايش دهد.

البته تو vb  دستوري مثل select  زياد مرسوم نيست .مثلا براي اين چهار عملگر قشنگتر اين هست كه چهار تا command قرار بديم و براي هر كدوم كد مناسب را بنويسيم يا راههاي ديگر . و فقط براي آشنايي شما با اين دستور به اين شكل استفاده ميكنم.

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

در ساختار select ميتوان در قسمت مقادير ،بازه اي از مقاديررا بررسي كرد يا مقداري را با عبارت مورد نظر مقايسه نمود:

>مقدار دوم <  to  >مقدار اول<       case
>مقدار<   >عملگر مقايسه اي<    case is

مثال : برنامه اي بنويسيد كه عدد صحيح مثبتي را از ورودي دريافت و مشخص كند كه عدد يك ، دو ، سه يا بيشتر است.

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 


خوب rampco جان اميدوارم تا اينجا با اين دستورات مشكل نداشته باشي. ولي در بين دستورات شرطي دستور if  اهميت بيشتري دارد .

اما زماني در برنامه نياز داريم كه يك عمل خاص بارها تكرار شود. در اينجا از حلقه ها استفاده ميكنيم .اگرتعداد دفعات تكرار مشخص بود از حلقه for و اگر تعداد دفعات مشخص نبود از حلقه while


حلقه هاي تكرار:

1- حلقه for…next
2- حلقه while…wend
3-حلقه do…loop

حلقه for….next افزايشي

در اين حلقه ابتدا مقدار اوليه در متغير(شمارنده حلقه ) قرار مي گيرد و سپس با مقدار نهايي مقايسه ميشود .اگر مقدار متغير از مقدار نهايي كمتر يا مساوي دستور اجرا مي گرددو سپس يك واحد به مقدار متغير افزوده مي شود ، و مجددا عمل مقايسه با مقدار نهايي انجام ميگيرد و در صورتي كه هنوز مقدار متغير از مقدار نهايي كمتر يا مساوي باشد دستور اجرا مي گردد و الا ديگر دستور اجرا نميشود و حلقه قطع ميشود.

شكل كلي اين دستور :

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

فرم ديگر حلقه

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

اگر گام حركت ذگر نشود شمانده يكي يكي اقزايش پيدا ميكنه . ولي اگر بخواهيم مثلا 2تا 2تا حركت كنيم بايد در حلقه به جاي گام حركت عدد مورد نظر رو بنويسيم.

اگر بخواهي مجموعه دستورات در داخل حلقه بعد از برقراري شرط اتفاق بيفته فرم كلي دستورا به شكل زير ميشه

    
کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

اگر بخواهي بعد از برقراري شرطي حلقه اجرا شه if  رو قبل از حلقه قرار ميديم.
و فرم هاي ديگه .....كه با توجه به برنامه ميشه حلقه هارا طراحي كرد.

اما درمورد قانون حلقه :
1-     تعداد دفعات تكرار اين حلقه با مقادير اوليه و نهايي شمارنده حلقه و گام حركت تعيين ميشود.      
2-     اين مقادير مي توانند اعداد صحيح مثبت ، منفي و اعشاري و يا حاصل يك عبارت محاسباتي باشند.
3-     اگر گام حركت ،برابر با عدد يك باشد،نيازي به نوستن آن نيست .
4-     بين دو عبارت for، next مجموعه اي از دستورها و عبارات نوشته مي شوند كه به عنوان بدنه حلقه شناسايي مي گردد و به تعداد دفعات مشخص اجراي آنها تكرار مي شود.
5-     اگر در داخل حلقه ميخواهيم به محض برقراري شرط از حلقه خارج شويم مي توانيم از دستور exit for  استفاده كنيم.

نكته مهم.
تعداد دفعات تكرار:
اگر مقدار اوليه بزرگتر از مقدار نهايي باشد ، حلقه تكرار نخواهد شد.
اگر مقدار اوليه مساوي مقدار نهايي باشد ، حلقه يكبار تكرار خواهد شد.
اگر مقدار اوليه از نهايي كچكتر باشد ، انگاه تعداد تكرار مي شود، 1+مقدار اوليه – مقدار نهايي

مثال از حلقه for افزايشي:

برنامه اي بنويسيد از كه تعداد مقسوم عليه هاي عدد وارد شده را محاسبه كند..

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

توضيح: براي بدست آوردن تعداد مقسوم عليه هاي يك عدد بايد آن عدد را از يك تا خود عدد تقسيم كنيم كه در اينجا چون حلقه يكي يكي اضافه ميشه پس مي تونم از خود متغير شمارنده براي عمل تقسيم استفاده كنم ، اگر باقيمانده صفر شد در يك متغيري تعداد را شمارش كنيم يعني در صورتي كه با قيمانده صفر شد به متغير يكي اضافه كنيم كه اينجا اين متغير شمارنده b   هست.

فرض كن عدد وارد شده 4 هست.
نحوه اجرا: ابتدا I=1 و كوچكتر از a   پس حلقه اجازه اجرا دارد .
اگر باقيمانده a بر I برابر صفر شد سپس
به متغير b يكي اضافه كن.
I بعدي

باردوم: ابتدا به شمارنده يكي اضافه ميكنه سپس بررسي ميكنه I از  a كوچكتر هست يانه .i=2 ، بله كوچكتر هست
A تقسيم بر I برابر صفر مي شود پس در نتيجه شرط برقرار هست و به b  يكي اضافه ميكنه پس حالا مقدار b   برابر 2 هست.

بار سوم: ابتدا به شمارنده يكي اضافه ميكنه سپس بررسي ميكنه I از  a كوچكتر هست يانه  . 1=3 ، بله كوچكتر هست

A تقسيم بر I برابر صفر نمي شود پس در نتيجه شرط برقرار نيست و به b  هيچ مقداري اضافه نمي شود.
بار چهارم: ابتدا به شمارنده يكي اضافه ميكنه سپس بررسي ميكنه I از  a كوچكتر هست يانه  . i=4، خير اين بار مساوي هست پس ميتونه اجرا بشه.

تقسيم بر I برابر صفر مي شود پس در نتيجه شرط برقرار هست و به b  يكي اضافه ميكنه پس حالا مقدار b   برابر 3 هست.

.بار پنجم : ابتدا به شمارنده يكي اضافه ميكنه سپس بررسي ميكنه I از  a كوچكتر هست يانه  . i=5 ، خير اين بار كوچكتر هست پس نميتونه اجرا بشه. و تعداد تكرار حلقه در اين مثال برابر 4 و تعداد مقسوم عليه ها برابر 3 .

مثال: برنامه اي بنوسيد كه از 1 تا 10 ، ضرب اعداد زوج را چاپ كند.

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 


در اينجا مقدار اوليه b   را برابر يك قرار مي دهيم چون در غير اين صورت  vb مقدار اوليه رو برابر صفر قرار ميده و چون ضرب اعداد زوج را خواسته ، پس شمارنده از اولين عدد زوج شروع مي شود .

For كاهشي:

فقط step  مقدار منفي ميگيره و جاي مقدار نهايي با اوليه عوض ميشه.

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

حالا من مثال ميدم ، لطفا شما حل كنيد.

برنامه اي بنويسيد كه فاكتوريل عدد وارد شده رو محاسبه كند. اگر عدد وارد شده صفر يود ، طبق قانون فاكتوريل عدد 1 را چاپ كند . ( هم با افزايشي هم با كاهشي)
5!=1*2*3*4*5=120


شكل كلي حلقه for همين بود. در رابطه با نوشتن برنامه و مثال هاي اون ترجيح ميدم اگر برنامه هايي داريد كه با حلقه for كار مي كنه و شما در نوشتن يا مفهوم اون دچار مشكل هستيد مطرح كنيد تا بنده در حد توانم شمارو راهنمايي كنم.

حلقه تكرار while…wend

هنگامي كه تعداد دفعات تكرار مجموعه اي دستورات نامعين باشد ، نميتوانيم از حلقه for…next استفاده كنيم و بايد حلقه ديگري مثل while….wend  را به كار برد.

شكل كلي دستور

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

اين حلقه تكرار تا زماني كه شرط مورد نظر درست باشد ،تكرار و اجرا خواهد شد.اما به محض اينكه شرط نقض شد ،حلقه خاتمه يافته ،دستور بعد از wend اجرا مي شود.

مثال: برنامه اي بنويسيد كه فاكتوريل عدد را حساب كند.

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

در اين حلقه fact   رو به اين صورت محاسبه ميكنه:
5!=5 * 4 * 3 * 2 * 1

يعني تا زماني كه n بزرگتر از 1 يك هست حلقه ادامه پيدا ميكنه .

به بيان ساده تر:

فرض كن عدد وارده 3 باشه .

پس در بررسي while ، n بزرگتر از 1 هست پس حلقه اجازه اجرا داره

در اين مرحله fact=1*3
در اين مرحله n=2
كنترل برنامه به ابتداي برنامه مي ره.
وقتي به ابتداي حلقه بر ميگرده دوباره شرط رو بررسي ميكنه
n بزرگتر از 1 هست پس حلقه اجازه اجرا داره  

در اين مرحله مقدار قبلي fact كه 3 بوده در مقدار n ضرب ميشه. fact=3*2
در اين مرحله n=1
كنترل برنامه به ابتداي برنامه مي ره.

   وقتي به ابتداي حلقه بر ميگرده دوباره شرط رو بررسي ميكنه
n بزرگتر از 1 هست  ، نه .... چون مساوي يك هست  پس حلقه اجازه اجرا نداره  

پس از حلقه خارج مي شويم.

نكته :اگر درقسمت  while ، شرط رو به اين صورت مينوشتيم  while n>=1 در اين صورت حلقه يك بار ديگر اجازه اجرا را پيدا مي كرد.

Captain

Captain



نماد کاربر
پست ها

431

تشکر کرده: 0 مرتبه
تشکر شده: 5 مرتبه
تاريخ عضويت

چهارشنبه 11 بهمن 1385 20:03

محل سکونت

www.centralclubs.com

آرشيو سپاس: 14 مرتبه در 7 پست

توسط f_love_s » دوشنبه 11 تیر 1386 14:16

خوب rampco جان ، خيلي دوست داشتم وقتي به اين تاپيك ميام ،جواب برنامه اي كه در خواست كرده بودم رو ميديدم... :?  ولي طبق خواسته شما دوست عزيزم همين مثال رو براتون آناليز ميكنم.

برنامه هاي بنويسيد كه فاكتور يل عدد 5 رو حساب كند.( يا هر عدد وارد شده....)

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 


همانطور كه در قسمت بالا توضيح دادم فاكتور يل يك عدد به صورت زير محاسبه ميشود:

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 
يعني از عدد يك تا خود عدد ارقام در هم ضرب ميشوند. براي انجام اين كار نياز به يك حلقه داريم كه اعداد را براي ما شمارش كند . و از طرفي ميدانيم كه فاكتوريل صفر، يك هست.پس....

براي اين كار بايد مقداري كه در TEXT1.TEXT ريختيم رو بررسي كنيم كه آيا صفر هست يا خير ولي چون مقداري كه در TEXT ريخته ميشود يك مقدار رشته اي است و ما براي اين كار به يك مقدار عددي نياز داريم پس از تابع VAL استفاده ميكنيم كه مقدار رشته اي را به عددي تبديل كند....

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 


به كد بالا دقت كنيد ! :-o

خوب اگر برابر صفر نبود بايد متغيري را تعيين كنيم كه اعدادي را كه در هم ضرب ميكنيم در اين متغير قرار دهيم و چون VB  به طور پيش فرض مقدار متغير ها رو برابر صفر قرار مي دهد و مسلما ضرب هر عددي در صفر مي شود صفر ، ما بايد مقدار اوليه را برابر يك قرار دهيم .....اميدوارم متوجه شده باشيد.... :?  

اما حلقه .....

گام حلقه بايد يك باشد كه خوب به طور پيش فرض يك هست .....

در ثاني چون من ميخوام هر عددي كه وارد كردم برام فاكتوريل بگيره پس حلقه FOR به زبان ساده بايد اينطوري ميشه:

با فرض VAL(TEXT1.TEXT) =4

از يك تا مقداري كه در TEXT1.TEXT بيا مقدار MUL را در I ضرب كن .
برو I بعدي...

يكي به حلقه اضافه ميكنه چون كوچكتر از مقدار نهايي است پس اجازه اجرا دارد پس...

MUL كه قبلا در يك ضرب شده و مقدار فعلي آن نيز يك است ،اين بار در 2 ضرب ميشود و مقدار MUL اين بار برابر 2 مي شود.
برو I بعدي...

يكي به حلقه اضافه ميكنه چون كوچكتر از مقدار نهايي است پس اجازه اجرا دارد پس...

MUL كه قبلا در دو ضرب شده و مقدار فعلي آن نيز دو است ،اين بار در 3 ضرب ميشود و مقدار MUL اين بار برابر 6 مي شود.
برو I بعدي...

يكي به حلقه اضافه ميكنه چون مساوي از مقدار نهايي است پس اجازه اجرا دارد پس...

MUL كه قبلا در 3 ضرب شده و مقدار فعلي آن نيز 6 است ،اين بار در 4 ضرب ميشود و مقدار MUL اين بار برابر 24مي شود.
برو I بعدي...

يكي به حلقه اضافه ميكنه چون بزرگتر از مقدار نهايي است پس اجازه اجرا ندارد پس... كار حلقه تمام شده و وقتي از حلقه ميايم بيرون ، حالا بايد مقدار MUL  را چاپ كنيم ......

به همين راحتي...... :-)

-----------------------------------------------------------------------------------------------------------------------------------------

اما با FOR كاهشي :

براي اين گونه حلقه ها شرط اجراي حلقه بزرگتر بودن مقدار اوليه از نهايي است و اينكه گام حركت را منفي كنيم در غير اين صورت حلقه اجرا نميشود.

نكته:  :-o

اگر گام حركت مثبت و به اندازه يك واحد باشد، در صورتي كه ذكر نشود موردي پيش نمي آيد و حلقه اجرا مي شود ولي...ولي اگر گام حركت منفي باشد حتي به اندازه يك گام بايد حتما ذكر شود در غير اين صورت حلقه اجرا نمي شود...

پس اگر بخواهيم فاكتور يل عدد را به صورت زير بنويسيم ،كد آن به صورت زير مي شود...

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 


کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 


آناليز:

با فرض VAL(TEXT1.TEXT) =4

چون I بزرگتر از مقدار نهايي است و گام حركت منفي پس حلقه اجرا ميشه

MUL اين بار ابتدا در 4 ضرب ميشه

I بعدي

يكي از I كم ميشه ، مقدار اوليه از نهايي بزرگتر است پس اجرا ميشه

MUL اين بار در 3 ضرب ميشه و مقدار MUL مي شود 12

يكي از I كم ميشه ، مقدار اوليه از نهايي بزرگتر است پس اجرا ميشه

MUL اين بار در 2 ضرب ميشه و مقدار MUL ميشود 24

يكي از I كم ميشه ، مقدار اوليه مساوي مقدار نهايي است پس اجرا ميشه

MUL اين بار در 1 ضرب مي شه و مقدار MUL  ميشه 24

يكي از I كم ميشه ، مقدار اوليه از نهايي كوچكتر است پس اجرا نميشه .....

در نهايت كه از حلقه خارج شديم مقدار MUL را چاپ مي كنيم .

باز هم تاكيد ميكنم كه اگر برنامه اي داريد كه در آناليز يا نوشتن آن مشكل داريد مطرح كنيد . تا جايي كه در توانم باشد راهنمايي ميكنم.

موفق باشيد./

Captain

Captain



نماد کاربر
پست ها

431

تشکر کرده: 0 مرتبه
تشکر شده: 5 مرتبه
تاريخ عضويت

چهارشنبه 11 بهمن 1385 20:03

محل سکونت

www.centralclubs.com

آرشيو سپاس: 14 مرتبه در 7 پست

توسط f_love_s » چهارشنبه 31 مرداد 1386 08:50

Professional Visual Basic Programming

A selection of MSDN articles in Farsi

Chapter 1 (http://mazsoft.com/files/book/api.pdf) API programming in VB

How to program using API functions in VB
How to call UNICODE versions of API functions
How to send a NULL string from VB to an API function
How to find API constants
Subclassing using AddressOf


Chapter 2 (http://mazsoft.com/files/book/file.pdf) Working With Files

Loading a huge file into memory using API
How to specify the free disk space
How to copy a file using Windows 95 file copy window
How to delete a file and put it in the recycle bin
and more ...


Chapter 3 (http://mazsoft.com/files/book/window.pdf) Working With Window

How to specify the original state of a minimized window
How to create a hidden child window
How to prevent a window from been resized
and more ...

Chapter 4 (http://mazsoft.com/files/book/menu.pdf) Working With Menu

How to delete items from Control menu
How to display discription for each menu Item
How to create multi column menues using VB
and more ...

Chapter 5 (http://mazsoft.com/files/book/multimedia.pdf) Multimedia


Chapter 6 (http://mazsoft.com/files/book/print.pdf) Print


Chapter 7 (http://mazsoft.com/files/book/app.pdf) Applications


Chapter 8 (http://mazsoft.com/files/book/c.pdf) Using C Language


Chapter 9 (http://mazsoft.com/files/book/activex.pdf) Creating iveX Controls


Chapter 10 (http://mazsoft.com/files/book/textbox.pdf) Advanced issues in TextBox controls


Chapter 11 (http://mazsoft.com/files/book/misc.pdf) Miscellaneous

تهیه شده در :http://mazsoft.com/images/maz-logo.gif (http://www.mazsoft.com/)

Captain

Captain



نماد کاربر
پست ها

431

تشکر کرده: 0 مرتبه
تشکر شده: 5 مرتبه
تاريخ عضويت

چهارشنبه 11 بهمن 1385 20:03

محل سکونت

www.centralclubs.com

آرشيو سپاس: 14 مرتبه در 7 پست

توسط f_love_s » پنج شنبه 1 شهریور 1386 01:19

لينك دانلود آموزش vb  در 450 صفحه

http://www.developercenter.ir/download/ ... ic%206.zip

خوبه ....علاوه بر اون يه سري سايت و مطالب ديگري هم در انتهاي آموزش داده .

ولي من دنبال يه مطلبي ميگردم كه كد و دي كد كردن ديتا رو تو vb  كامل ياد بده .  :-( كه تو اين كتاب 450 صفحه اي وقت گشتن نداشتم.

اينم يه لينك خوبه ديگه براي ياد گيري vb ، البته يه كم اطلاعات قبلي بايد داشته باشيد.

http://forum.persiantools.com/t31711.html

حالا هر كسي لطف كنه اين كد و دي كد رو ياد بده يا يه منبع معرفي كنه خيلي ممنون ميشم. :-)

Captain

Captain



نماد کاربر
پست ها

431

تشکر کرده: 0 مرتبه
تشکر شده: 5 مرتبه
تاريخ عضويت

چهارشنبه 11 بهمن 1385 20:03

محل سکونت

www.centralclubs.com

آرشيو سپاس: 14 مرتبه در 7 پست

توسط f_love_s » پنج شنبه 1 شهریور 1386 22:09

آقا دست همه درد كنه .....

يعني اين جا هيچ كس نبود كه بهم حتي الگوريتم كار رو بگه .....

مثلا بگه f_love_s بي سواد اين كه كاري نداره ، كافي براي كد كردن مثلا كدهاي اسكي رو دست كاري كني و براي دي كد كردن عكس اون رو انجام بدي ....

من اگر اين سوال رو مطرح كردم چون اصلا توجيه نشده بودم و فكر كردم بايد با توابع خاصي كار كنم . :? البته ممكنه براي اينكه كسي نتونه كد منو دي كد كنه نياز به توابع باشه و...

در هر حال ممنون .

Administrator

Administrator



نماد کاربر
پست ها

15465

تشکر کرده: 10175 مرتبه
تشکر شده: 3917 مرتبه
تاريخ عضويت

جمعه 7 بهمن 1384 19:51

آرشيو سپاس: 30251 مرتبه در 5981 پست

توسط Mahdi1944 » جمعه 2 شهریور 1386 00:16

f_love_s جان
ميبخشيد مدتي هست به طرز وحشتناکي مشغله کاري و درسي دارم، نميرسم تاپيک‌ها رو کامل بخونم، شما در اينجا چند مبحث اموزشي قرار داده بوديد، از جمله در همين پستتون، به همين دليل سوالتون رو نديدم و فکر کردم آموزش هست
براي کد کردن اطلاعات بسته به هدف از اين کار بايد روشي رو انتخاب کنيد، مثلا اگر قرار بر کاهش حجم هست،‌ براي کاراکترهاي پر کاربرد تعداد ارقام يا کارکتر کوتاه و براي کاراکترهاي کم کاربرد اعداد با ارقام بلند تر رو استفاده ميکنيد، بر اساس يک کد بندي کلمات يا کاراکترها رو به معادل‌هاشون تبديل ميکنيد و در مقصد دقيقا عکس اين عمل رو انجام ميديد تا اطلاعات در مقصد به صورت صحيح ظاهر شوند
زندگي صحنه يکتاي هنرمندي ماست     هرکسي نغمه خود خواند و از صحنه رود
صحنه پيوسته به جاست     خرم آن نغمه که مردم بسپارند به ياد


 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد  |  لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

لطفا سوالات فني را فقط در خود انجمن مطرح بفرماييد، به اين سوالات در PM پاسخ داده نخواهد شد

Captain

Captain



نماد کاربر
پست ها

431

تشکر کرده: 0 مرتبه
تشکر شده: 5 مرتبه
تاريخ عضويت

چهارشنبه 11 بهمن 1385 20:03

محل سکونت

www.centralclubs.com

آرشيو سپاس: 14 مرتبه در 7 پست

توسط f_love_s » پنج شنبه 8 شهریور 1386 00:30

من يه برنامه نوشتم كه text  رو به باينري تبديل ميكنه و روند كا ر به اين صورت هست كه هر كاراكتري كه وارد ميشه بلافاصله كد ميده اينم كد برنامم...

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 


ولي حالا ميخوام يه سري تغييرش بدم . به اين صورت كه وقتي رشته رو وارد كردم بياد اين كار تبديل رو انجام بده . من همين كد رو به اين صورت تغيير دادم ، جالبه كه كد همونه ولي error ميده .... نميدونم چرا.... :?

کد: انتخاب همه
 لينکها براي کاربران مهمان قابل دسترسي نيست، براي مشاهده ي لينکها لطفا ثبت نام کرده و وارد شويد 

New Member



no avatar
پست ها

4

تشکر کرده: 0 مرتبه
تشکر شده: 0 مرتبه
تاريخ عضويت

چهارشنبه 7 شهریور 1386 14:12

آرشيو سپاس: 0 مرتبه در 0 پست

توسط rapboy_eminemfbaz » پنج شنبه 8 شهریور 1386 00:52

salam doste man

Private Sub commande1_click()
Dim a(7) As Integer
Dim i As Integer
Dim C As String
for i = 0 to len (text1 )  
keyascii = asc (mid(text1,i,1))  
        b = KeyAscii
        While (b <> 0)
             a(i) = b Mod 2
             b = b \ 2
             i = i + 1
         Wend
         For j = 6 To 0 Step -1
            C = C + Str$(a(j))
         Next j
         d = Val(C)
         If Len(d) = 7 Then
              Text2 = Text2 + (d)
         Else
          Text2 = Text2 + "0" + d
         End If
next i
End Sub



______________________________________________________________________________________________
Private Sub Text1_KeyPress(KeyAscii As Integer)
Dim a(7) As Integer
Dim i As Integer
Dim C As String
  
    If KeyAscii <> 8 Then    
         Text2 = Mid(Text2, 1, Len(Text2) - 7)
    End If

Captain

Captain



نماد کاربر
پست ها

431

تشکر کرده: 0 مرتبه
تشکر شده: 5 مرتبه
تاريخ عضويت

چهارشنبه 11 بهمن 1385 20:03

محل سکونت

www.centralclubs.com

آرشيو سپاس: 14 مرتبه در 7 پست

توسط f_love_s » پنج شنبه 8 شهریور 1386 01:32

rapboy_eminemfbaz جان

ضمن عرض خوش آمد خدمت شما دوست گرامي  :razz:

دوست عزيز من كدي كه شما زحمت كشيديد و ويرايش كردين رو به برنامه اضافه كردم ولي اصلا اجرا نكرد.

قبليبعدي

 


  • موضوعات مشابه
    پاسخ ها
    بازديدها
    آخرين پست

چه کسي حاضر است ؟

کاربران حاضر در اين انجمن: بدون كاربران آنلاين و 3 مهمان