آموزش ساخت Setup ( به همراه عکس ) در Visual Basic
نمایش نتایج: از شماره 1 تا 10 , از مجموع 10
  1. Borna66_TAHA آواتار ها
    Borna66_TAHA
    مدیر سابق
    Feb 2009
    سهراب-خيام
    9,903
    390
    تشکر شده : 3,688

    Gadid آموزش ساخت Setup ( به همراه عکس ) در Visual Basic

    در این جا طی یک آموزش مختصر ساختن setup را برای یک برنامه که خود شما نوشته اید رو قرار میدم
    برای اینکار شما نیاز به نصب برنامه ی دیگری ندارید بلکه خود این برنامه در پک ماکروسافت ویژوال استدیو قرار داده شده است و کافی است شما آن را اجرا کنید :

    این عکس تغییر سایز داده شده است. روی این جایگاه کلیک کنید برای دیدن عکس کامل. تصویر اصلی دارای اندازه 705x787 یا سنگینی میباشد 69کیلو بایت.

    در زیر عکسی از این برنامه رو میبینید





    ابتدا روی Browse رفته و پروژه مورد نظر خود را انتخاب میکنید و روی آیکن Package کلیک کرده تا برنامه برای ادامه فعالیت آماده شود
    در این قسمت بدون تغیرات بر روی next کلیک کنید





    در این قسمت شما باید مسیر ساخت و ذخیره سازی پکیج رو انتخاب کنید





    در این قسمت شما محتوای پکیج خود رو مشاهده میکنید که میتونید از ان کم یا با استفاده از Add قسمتی رو به پکیج خود اضافه کنید ( ترجیحا چیزی از پکیج کم نکنید )





    شما در اسن قسمت باید Cab برنامه رو تنظیم کنید ( حالت پیش فرض بهتر است Single cab )






    در این قسمت همان طور که در عکس مشاهده میکنید شما باید عنوانی رو برای موقعی که برنامه در حال نصب است انتخاب کنید





    شما در این قسمت میتونید تنظیماتی بکنید که پس از نصب در منوی استارت و محل نصب برنامه قابل مشاهده خواهد بود





    شما در این قسمت اطلاعاتی از پکیج خود رو میبینید مثل نام ونوع و محل ذخیره سازی





    در این قسمت بدون تغییرات بر روی next کلیک کنید





    در اینجا نیز شما باید یک نام برای پکیج خود انتخاب کنید و بر روی Finish کلیک کنید





    حالا به مسیر ذخیره سازی پکیج رفته و وارد فولدر Package شده وبه داخل فولدر Support رفته و فایلی
    که نام برنامه شما و تحت داس است رو اجرا کرده و پس از اتمام برنامه را Setup کنید



    این عکس تغییر سایز داده شده است. روی این جایگاه کلیک کنید برای دیدن عکس کامل. تصویر اصلی دارای اندازه 795x599 یا سنگینی میباشد 72کیلو بایت.


    موفق باشید...
    فقط کاربران ثبت نام شده میتوانند لینک های انجمن را مشاهده کنند. ]
    هميشه خود باشيم نه كسي ديگر!
    فقط کاربران ثبت نام شده میتوانند لینک های انجمن را مشاهده کنند. ]
    فقط کاربران ثبت نام شده میتوانند لینک های انجمن را مشاهده کنند. ]
    #1 ارسال شده در تاريخ 30th October 2009 در ساعت 18:03

  2. یک کاربر از این پست تشکر کرده است :


  3. Borna66_TAHA آواتار ها
    Borna66_TAHA
    مدیر سابق
    Feb 2009
    سهراب-خيام
    9,903
    390
    تشکر شده : 3,688

    پیش فرض

    ایجاد setup دلخواه برای برنامه ها


    فرض کنید برنامه وی بی در دایرکتوری c نصب باشد به مسیر زیر بروید:

    \c:\Program Files\Microsoft Visual Studio\VB98\Wizards\PDWizard\Setup1

    در این پوشه یک برنامه وی بی وجود دارد آن را باز کرده و هر تغییری در ظاهر آن دوست دارید بدهید (پیشنهاد می کنم که یک کپی از این برنامه در جائی داشته باشید و تغییرات را روی ان اعمال کنید تا در صورت لزوم بتوانید از نسخه اصلی استفاده کنید).برای اجرای تغییرات در رنگ فرمها و از این دست مشکلی نخواهید داشت ولی برای تغییر در caption برچسبها باید به اصول برنامه نویسی آشنا باشید.
    پس از ذخیره تغییرات فایل اجرائی این برنامه جدید را در یک پوشه قبل یعنی پوشه PDWizard ثبت کنید یعنی فایل setup1.exe را در پوشه ای که گفته شد بسازید این برنامه فقط یک فایل exe میسازد و اجرایی نیست اگر پیغام overwrite دریافت کردید تائید کنید.
    حالا یک پروژه جدید ایجاد کرده و پس از save کردن پروژه و ساختن فایل exe آن از منوی ADD_IN گزینه ADD_IN MANAGER را انتخاب کرده و بر روی PAKEGE AND DEPLOYMENT دوبار کلیک کنید حالا کلید OK را فشار داده و از گزینه ADD_IN آیکون DEPLOYMENTَAND PAKEGE را انتخاب کرده و فایل ستاپ را بسازید.
    حال با اجرای فایل setup تغییرات را مشاهده کنید.

    فقط کاربران ثبت نام شده میتوانند لینک های انجمن را مشاهده کنند. ]
    هميشه خود باشيم نه كسي ديگر!
    فقط کاربران ثبت نام شده میتوانند لینک های انجمن را مشاهده کنند. ]
    فقط کاربران ثبت نام شده میتوانند لینک های انجمن را مشاهده کنند. ]
    #2 ارسال شده در تاريخ 30th October 2009 در ساعت 18:04

  4. 2 کاربر از این پست تشکر کرده اند :


  5. alipoo آواتار ها
    alipoo
    کاربر سایت
    Sep 2009
    تهران
    1
    0
    تشکر شده : 0

    پیش فرض

    سلام دوست عزیز

    من یک برنامه با ویژوال بیسیک نوشتم و از بانک اس کیو ال 7 استفاده کردم.وقتی از برنامم ست آپ می سازم و در سیستم دیگری نصب میکنم ارور میده که بانک و پیدا نمی کنه .چطوری می تونم بانک رو به برنامم ضمیمه کنم تا حتی اگر برنامه رو سیستمی که اس کیو ال نداشت نصب کردم به درستی کار کنه؟
    #3 ارسال شده در تاريخ 15th January 2010 در ساعت 01:46

  6. *Mohammad* آواتار ها
    *Mohammad*
    مدیر سابق
    May 2011
    tabriz
    63,336
    22,637
    تشکر شده : 91,444

    پیش فرض

    ايجاد پروژه Setup

    براي اينجاد پروژه Setup مسير زير را دنبال كنيد:

    File > New > Project ... > Other Project Types > Setup and Deployment > Setup Project


    پروژه Setup بخش هايي را در اختيار قرار مي دهد كه در شكل زير نمايش داده شده اند.



    اين بخش ها عبارت اند از:

    • File System : سيستم فايل ميزبان را در اختيار قرار مي دهد. تمامي فايل هايي كه بايد بر روي سيستم ميزبان كپي شوند در اين قسمت مشخص مي شوند.
    • Registry : از طريق اين بخش مي توان كليدهاي مورد نظر را به رجيستري سيستم ميزبان اضافه كرد.
    • File Types : امكان ثبت ساختار فايل جديد در سيستم ميزبان را ميسر مي سازد.
    • User Interface : واسط كاربري برنامه نصب را ارائه مي دهد. امكان افزودن و جابجا كردن ديالوگ ها بر حسب نياز در اين قسمت فراهم شده است.
    • Custom Actions : اگر عمل خاصي در حين يكي از مراحل نصب يا حذف اپليكيشن مد نظر باشد، مي توان از اين قسمت استفاده كرد.
    • Launch Condition : اگر لازم باشد شروطي براي عمليات نصب بررسي شويد، مثل وجود فايل يا نگارش خاصي از برنامه، از طريق اين قسمت مي توان آنها را تعريف كرد.

    همانطور كه در شكل ديده مي شود، علاوه بر پروژه PdSetup، دو پروژه ديگر در سناريوي مورد بررسي مقاله وجود دارند. PdWinApp پروژه اصلي سناريوي مورد بررسي مقاله است كه يك ويندوز اپليكيشن مي باشد. PdDeploy كتابخانه كمكي ست كه در مراحل نصب مورد استفاده قرار خواهد گرفت. قصد بر آن است كه براي خروجي PdWinApp يك فايل Setup تهيه شود.

    گام اول

    در گام نخست، به سراغ بخش File System رفته، فايل هايي را كه Setup مي بايست آن ها را بر روي سيستم ميزبان كپي كند، به اين بخش اضافه كنيد. File System به صورت پيش فرض شامل سه پوشه اصلي بر روي سيستم ميزبان مي باشد:

    • Application Folder : تمامي فايل هايي كه در اين پوشه قرار داده شوند، در پوشه برنامه كه به صورت پيش فرض در Program Files ايجاد مي شود، كپي خواهند شد.
    • User's Desktop : دسكتاپ كاربر نهايي را براي ايجاد ميانبرها در اختيار قرار مي دهد.
    • User's Programs Menu : منوي برنامه هاي كاربر نهايي را در اختيار قرار مي دهد و پوشه برنامه به همراه ميانبرها را مي توان به اين قسمت اضافه كرد.

    مي توان تمامي فايل هاي خروجي يك پروژه را (شامل فايل اجرايي و كتابخانه هاي مورد استفاده) به صورت يكجا با اضافه كردن Project Output به Setup اضافه كرد.



    در پنجره ظاهر شده، پروژه ي مورد نظر و نوع فايل هايي كه قصد افزودن آنها به Setup را داريد، انتخاب كنيد.


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




    #4 ارسال شده در تاريخ 11th December 2011 در ساعت 10:49

  7. *Mohammad* آواتار ها
    *Mohammad*
    مدیر سابق
    May 2011
    tabriz
    63,336
    22,637
    تشکر شده : 91,444

    پیش فرض

    اين كار را مي توانيد براي پروژه هاي ديگر و يا نوع فايل هاي مورد نظر تكرار كنيد. پس از آن مي توان ميانبرهاي برنامه را به دسكتاپ و منوي برنامه ها اضافه كنيد. براي اين منظور فولدر مورد نظر را انتخاب كنيد. (مثلا User's Desktop) سپس از منوي كليك راست بر روي گزينه ... Create Shortcut كليك كنيد. در پنجره ظاهر شده خروجي خود يا فايل مد نظر را كه قرار است ميانبر آن را اجرا كند، انتخاب كنيد.



    نكته آخر اينكه از طريق كليك راست در بخش File System مي توان هر يك از پوشه هاي استاندارد ويندوزي را به پروژه اضافه كرد. سپس فايل هايي را كه بايد در پوشه ي خاص كپي شوند، انتخاب كرد.


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




    #5 ارسال شده در تاريخ 11th December 2011 در ساعت 10:49

  8. *Mohammad* آواتار ها
    *Mohammad*
    مدیر سابق
    May 2011
    tabriz
    63,336
    22,637
    تشکر شده : 91,444

    پیش فرض

    گام دوم

    پس از اضافه كردن تمامي فايل ها و منابع در بخش File System، مي توان به تنظيم ديالوگ ها (واسط كاربري) Setup پرداخت. همانطور كه قبلا هم اشاره شد، براي اين منظور به بخش User Interface رفته و از طريق منوي كليك راست به اضافه كردن يا جابجا كردن ديالوگ ها بپردازيد. (همانطور كه در تصوير مشاهده مي شود، Setup داراي دو حالت اجراي معمولي و Administrative مي باشد كه هر حالت مي تواند ديالوگ ها و واسط كاربري خاص خود را داشته باشد.)



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


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




    #6 ارسال شده در تاريخ 11th December 2011 در ساعت 10:49

  9. *Mohammad* آواتار ها
    *Mohammad*
    مدیر سابق
    May 2011
    tabriz
    63,336
    22,637
    تشکر شده : 91,444

    پیش فرض

    پس از انتخاب ديالوگ مورد نظر، چنانچه از انواع ديالوگ هاي داراي كنترل هاي واسط كاربري باشد، مي توان از طريق پنجره Properties، متن ليبل كنترل ها و نيز عدم مشاهده شدن كنترل هاي غيرضروري را وارد كرد.



    EditProperty، نامي است كه مقدار وارد شده توسط كاربر يعني EditValue را در اختيار قرار مي دهد. مي توانيد مقادير پيش فرض را به اسامي مورد نظر خود تغيير دهيد. (در ادامه نحوه استفاده از مقادير وارد شده توسط كاربر بررسي خواهد شد)

    نكته : فرم نوع Splash براي نمايش تصوير در ابتداي ويزارد Setup در نظر گرفته شده است. اندازه تصوير آن 317*477 مي باشد كه در بخش Properties قابل انتخاب مي باشد. همچنين تمامي ديالوگ ها يك تصوير به نام BannerBitmap براي نمايش در قسمت بالاي فرم دارند. اندازه بنر نيز 68*496 مي باشد. اگر قصد داريد از تصاوير مورد نظر خود (و نه تصاوير پيش فرض) استفاده كنيد، پس از طراحي، آنها را در بخش File System به پوشه Application Folder اضافه كنيد. (براي اين منظور مي توانيد پوشه اي به نام Resources در Application Folder ايجاد كنيد) سپس هنگام انتخاب در پنجره Properties، كافيست كه تصوير مورد نظر خود را از پوشه اي كه براي اين منظور ايجاد كرده ايد، انتخاب كنيد.

    گام سوم

    در اين مرحله، نيازمندي هاي لازم براي اجراي اپليكيشن خود را مشخص كنيد. همانطور كه در ابتداي مقاله اشاره شد، انتخاب درست نگارش دات نت فريم ورك بر فرآيند نصب برنامه تاثيرگذار خواهد بود. جهت تعيين نگارش دات نت فريم ورك بر روي سيستم ميزبان، از بخش Launch Conditions، روي گزينه Net Framework. كليك كرده از پنجره Properties نسخه را مطابق شكل زير انتخاب كنيد.



    پس از تعيين نگارش دات نت فريم ورك مسير Project > Properties را انتخاب كرده، در پنچره ظاهر شده بر روي ... Prerequisites كليك كنيد. در اين قسمت مي توان تمامي نيازمندي هاي اپليكيشن را مشخص كرده، از Setup بخواهيد كه آنها را در صورتي كه بر روي سيستم ميزبان نصب نباشند، به صورت خودكار نصب كند.


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




    #7 ارسال شده در تاريخ 11th December 2011 در ساعت 10:49

  10. *Mohammad* آواتار ها
    *Mohammad*
    مدیر سابق
    May 2011
    tabriz
    63,336
    22,637
    تشکر شده : 91,444

    پیش فرض

    همانطور كه مشاهده مي كنيد، تمامي كامپوننت هاي پركاربرد در اين ديالوگ فهرست شده اند (Sql Server 2005 Express Edtion SP2 x86 در انتها قرار گرفته و در تصوير ديده نمي شود). انتخاب گزينه Download prerequisites from the same location as my application باعث مي شود كه تمامي اين كامپوننت پس از Build در كنار فايل Setup قرار بگيرند. دقت داشته باشيد كه در كنار فايل اصلي Setup (در تصوير زير PdSetup.msi) فايل ديگري با نام setup.exe ايجاد شده است. براي نصب كامپوننت هاي مورد نياز برنامه بايد اين فايل هنگام نصب اجرا شود. با اجراي آن برنامه نصب بررسي هاي لازم بر روي سيستم ميزبان را انجام داده، در صورت عدم نصب يكي از نيازمندي ها، آنها را نصب مي كند. پس از اين مرحله Setup اصلي به صورت خودكار اجرا مي شود.



    نكته : Setup وابسته به دات نت فريم ورك نمي باشد. اما براي اجراي آن بايد Windows Installer 3.1 بر روي سيستم ميزبان نصب باشد. معمولا اين كتابخانه همراه ويندوز نصب مي شود اما در مواردي كه اين كتابخانه نصب نشده باشد، نصب آن براي اجراي Setup ضروري خواهد بود. به همين دليل گزينه Windows Installer 3.1 به صورت پيش فرض انتخاب شده است.


    چالشي بزرگ : پايگاه داده و اس كيو ال سرور!


    يكي از چالش هاي بزرگ اغلب برنامه نويسان، نصب اس كيو ال سرور و اضافه كردن پايگاه داده به آن مي باشد. اگر برنامه شما از پايگاه داده براي ذخيره سازي اطلاعات استفاده مي كند، نيازمند نصب اس كيو ال سرور بر روي سيستم ميزبان و پيوست كردن پايگاه داده به آن خواهيد بود. در گام سوم طريقه نصب خودكار اس كيو ال سرور نسخه اكسپرس بيان شد. اگر با ويژوال استوديو 2010 كار مي كنيد، اس كيو ال اكسپرس موجود در كامپوننت ها نسخه 2008 آن خواهد بود. اما بايد راه حلي براي پيوست كردن پايگاه داده به اس كيو ال سرور ارائه كرد. Custom Actions دقيقا براي سناريوهاي اين چنيني در نظر گرفته شده است. اگر به اين قسمت مراجعه كنيد، خواهيد ديد كه Custom Action را مي توان براي يكي از مراحل زير تعريف كرد:




    • Install : مرحله نصب
    • Commit : مرحله تاييد پس از نصب
    • Rollback : مرحله انصراف و بازپس خواندن عمليات نصب
    • Unistall : مرحله حذف اپليكيشن از سيستم



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




    #8 ارسال شده در تاريخ 11th December 2011 در ساعت 10:49

  11. *Mohammad* آواتار ها
    *Mohammad*
    مدیر سابق
    May 2011
    tabriz
    63,336
    22,637
    تشکر شده : 91,444

    پیش فرض

    همانطور كه اشاره شد يكي از پروژه هاي ارائه شده در سناريوي نصب، PdDeploy مي باشد. اين پروژه نيز به عنوان يك خروجي به Setup اضافه شده است. نوع اين پروژه Class Library بوده كه شامل يك كلاس از نوع Installer مي باشد. (اين كلاس را از مسير ... Project > Add New Item اضافه كنيد) كلاس PdInstaller عمليات مورد نظر در هنگام نصب براي پيوست را انجام مي دهد. Primary output from PdDeploy به عنوان يك Custom Action زير شاخه Install اضافه شده است. از طريق كليك راست و انتخاب آن مي توان اين كار را انجام داد.



    پس از اين كار سراغ Properties رفته و براي Custom Action اضافه شده مقادير پارامتري فقط کاربران ثبت نام شده میتوانند لینک های انجمن را مشاهده کنند. ] را وارد كنيد. اين مقادير در اختيار كلاس Installer قرار خواهند گرفت. هر مقدار با / شروع شده و يك نام اختصاصي دارد. مقادير را با يك فاصله از هم جدا كنيد. براي مقاديري كه از چند كلمه تشكيل شده اند حتما از "" استفاده شود.

    قبل از اينكه محتواي كلاس PdInstaller بررسي شود، لازم است سناريوي پايگاه داده مشخص شود. معمولا دو سناريوي رايج وجود دارد:

    • پايگاه داده هنگام نصب بايد ايجاد شود (در مواردي كه اطلاعات پايه و يا اطلاعات ديگر وجود ندارد)
    • پايگاه داده هنگام نصب بايد پيوست شود (معمولا به دليل وجود اطلاعات در پايگاه داده)

    البته مي توان سناريوي دوم را به شكل سناريوي اول پيش برد. و پس از ايجاد پايگاه داده، اطلاعات پايه و مورد نياز را ثبت كرد (اين روش اصولي تر هست). در اين مقاله سناريوي دوم مورد بررسي قرار مي گيرد. بنابراين ساختار كلاس PdInstaller به شكل زير خواهد بود (به پروژه Setup فايل هاي فيزيكي پايگاه داده به نام PdDataBase اضافه شده اند):

    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Configuration.Install;
    using System.Data;
    using System.Data.SqlClient;
    using System.IO;


    namespace DbLib
    {
    [RunInstaller(true)]
    public partial class DbInstaller : Installer
    {
    public DbInstaller()
    {
    InitializeComponent();
    }

    // اين تابع هنگام عمليات نصب فراخواني خواهد شد
    public override void Install(IDictionary stateSaver)
    {
    // مسير نصب برنامه
    var installDir = Context.Parameters["InstallDir"].Trim();
    // مسير پايگاه داده
    var DbDirectory = Path.Combine(installDir, "Data Base\\PdDataBase.mdf");
    // كانكشن به سرور
    var pDConnection = new SqlConnection(@"Server=.\SQLExpress;Integrated security=SSPI;database=master");
    // اسكريپت اس كيو ال براي پيوست پايگاه داده
    var commandString = string.Format("CREATE DATABASE PdDataBase ON PRIMARY (FILENAME = '{0}') FOR ATTACH",DbDirectory);
    // كامند اجرايي براي پيوست پايگاه داده
    var pDCommnad = new SqlCommand(commandString, pDConnection);
    try
    {
    // باز كردن كانكشن

    pDConnection.Open();
    // اجراي كامند براي پيوست پايگاه داده

    pDCommnad.ExecuteNonQuery();
    }
    catch (Exception ex)
    {
    // مديريت خطا در اين قسمت وارد شود
    }
    finally
    {
    if (pDConnection.State == ConnectionState.Open)
    {
    // بستن كانكشن
    pDConnection.Close();
    }
    }

    base.Install(stateSaver);
    }
    }
    }


    تابع Install به شكلي كه ديده مي شود، بازنويسي شده است. استفاده از پارامترهاي ارسال شده به كلاس هم از طريق Context و نام هر متغير امكانپذير مي باشد. اگر قصد ايجاد پايگاه داده را داريد، كافيست commandString را با اسكريپت ايجاد پايگاه داده و جداول و ... جايگزين كنيد. لازم به ذكر است كه در سيستم هاي عامل ويستا و 7 به دليل مسائل امنيتي بهتر است برنامه نصب به صورت Run as administrator اجرا شود.

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




    #9 ارسال شده در تاريخ 11th December 2011 در ساعت 10:49

  12. *Mohammad* آواتار ها
    *Mohammad*
    مدیر سابق
    May 2011
    tabriz
    63,336
    22,637
    تشکر شده : 91,444

    پیش فرض

    گام آخر

    به عنوان آخرين مرحله تنظيمات پروژه Setup را چك كنيد. برنامه Unistall به صورت خودكار در فهرست برنامه هاي نصب شده در سيستم مقصد ثبت شده و كاربر مي تواند هر زماني نسبت به حذف آن اقدام نمايد. در تنظيماتي كه در شكل زير نمايش داده شده اند، مي توان آيكون برنامه حذف را نيز انتخاب كرد.



    حاشيه


    سناريويي كه در اين مقاله مورد بررسي قرار گرفت، رايج ترين سناريوي Setup مي باشد. اين سناريو با ويژوال استوديو 2008 پياده سازي شده است. ممكن است نيازهاي مختلفي در سناريوهاي ديگر مطرح باشند كه با استفاده از امكانات پروژه Setup قابل حل مي باشند. مثلا نصب سرويس ويندوز يكي ديگر از اين موارد مي باشد. اگر سوالي در خصوص مواردي كه مطرح نشده اند داريد، در بخش پيام اين مقاله آنها را مطرح كنيد.

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




    #10 ارسال شده در تاريخ 11th December 2011 در ساعت 10:50

موضوعات مشابه

  1. کتاب آموزش تعمیرات تلفن همراه با طعم پرتقال
    توسط Mr.MohaMmaD در انجمن راهکارها و تکنیکهای تعمیراتی وتعویض قطعات
    پاسخ ها: 14
    آخرين نوشته: 23rd July 2011, 13:55
  2. رقابت سيستم های عامل همراه
    توسط Mr.MohaMmaD در انجمن مقالات سیمبین
    پاسخ ها: 0
    آخرين نوشته: 20th July 2009, 12:21
  3. 1000برنامه با ویژوال بیسیک۱۰۰۰Visual_Basic_Source_Code
    توسط secret در انجمن Visual Basic ویژوال بیسیک
    پاسخ ها: 0
    آخرين نوشته: 29th June 2009, 11:33
  4. آموزش ساخت واژه نامه برای گوشی همراه
    توسط secret در انجمن بحث های نرم افزاری
    پاسخ ها: 3
    آخرين نوشته: 15th April 2009, 22:48
  5. آداب استفاده از تلفن همراه
    توسط secret در انجمن مقالات عمومی موبایل
    پاسخ ها: 0
    آخرين نوشته: 4th April 2009, 11:18

علاقه مندی ها (Bookmarks)

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •  

Designed With Cooperation

Of Creatively & VBIran&تزیین سفره هفت سین 96