نمایش نتایج: از شماره 1 تا 10 , از مجموع 49

موضوع: اموزش نرم افزار کاربردی Nsis

Threaded View

پست قبلی پست قبلی   پست بعدی پست بعدی
  1. #6
    مدیر سایت
    دوستتان دارم
    تاریخ عضویت
    Jan 2012
    محل سکونت
    تهران
    نوشته ها
    2,286
    تشکر تشکر کرده 
    4,798
    تشکر تشکر شده 
    13,155
    تشکر شده در
    2,296 پست
    قدرت امتیاز دهی
    45308
    Array

    پیش فرض پاسخ : اموزش نرم افزار کاربردی Nsis

    برنامه NSIS یک سری دستورات دارد که با یاد گیری آن ها براحتی میتوان با این برنامه کار کرد.تمام این دستورات داخل یک
    فایل راهنما بنام NSIS.chm در پوشه ای که برنامه نصب شده وجود دارند.البته فقط با خواندن این راهنما نمیشوند تمام قابلیت
    های برنامه را متوجه شد.

    کد های این برنامه داخل فایلی متنی نوشته شده ولی با پسوند nsi ذخیره می شوند.فایل های با پسوند nsi را اصطلاحا"
    اسکریپت های NSIS می نامند.
    در داخل فایل اسکریپت محل هائی که با علائم ; یا # شروع شوند، در حقیقت کد نبوده بلکه توضیحات برنامه (Comment)
    هستند.توضیح اینکه توضیحات معمولا" در اول سطر استفاده میشوند ولی در NSIS میتوان توضیحات را بعد پایان یک دستور
    هم بکار برد.

    دستورات اصلی این برنامه داخل دو عبارت Section و SectionEnd نوشته میشوند و دستورات دیگر همه دستورات جنبی
    هستند. اصطلاحا" میگویند که دستورات NSIS داخل Section ها نوشته میشوند.
    اول در یک سطر عبارت Section نوشته شده سپس در زیر آن دستور یا دستورات لازم تایپ شده و در انتها در یک سطر مجزا
    عبارت SectionEnd نوشته میشود.
    توجه داشته باشید که در یک اسکریپت ممکن است بیشتر از یک Section داشته باشیم.

    اگر به مثال قبلی توجه کنید می بینید که در این اسکریپت ما بین عبارات Section و SectionEnd دستوری وجود ندارد.این
    بخاطر آن است که بنده در اسکریپت فوق از کار اصلی NSIS استفاده نکرده ام فقط به برنامه گفته ام که موقع شروع کار
    تصویری را نشان دهد ولی دیگر نگفته ام که کار اصلی اش بعد از نشان دادن تصویر چیست.و لذا برنامه پس از نشان دادن
    تصویر به قسمت Section می رود ولی چون دستوری پیدا نمیکند لذا خاموش می شود.

    بنابر این میتوان گفت که می شود در قسمت Section دستوری نبوده و خالی بماند.

    ببینیم در مثال بسیار ساده قبلی چکار کردیم:
    --------------------------------------------------
    _ در سطر اول از کد NAME استفاده کردیم. با این کد نام کلی برنامه ای که می خواهیم درست کنیم را به NSIS معرفی
    می کنیم.
    _ در سطر بعدی کد OutFile استفاده شده. در جلوی این کد باید نام فایل اجرائی ای را که توسط NSIS درست خواهد شد
    بنویسیم.
    _ در سطر بعدی از کد Icon استفاده شده است. در جلوی این کد نام آیکنی را که باید فایل اجرائی نهائی داشته باشد
    مشخص می کنیم. توجه داشته باشید که اگر آیکن مورد نظر در کنار فایل اسکریپت باشد، مثل مثال بالا فقط نام آیکن را
    می نویسیم ولی اگر آیکن در محل دیگری باشد باید مسیر آن را هم مشخص کنیم.

    _ در سطر بعدی از کد SilentInstall استفاده کرده ایم . بعدا" در مثال های دیگر در مورد این کد توضیح خواهم داد .در اینجا
    همینقدر کافی است بدانید که اگر مثل مثال بالا جلوی این کد عبارت silent را بنویسیم، در حقیقت به برنامه NSIS میگوییم
    که فایل نهائی باید مخفیانه اجرا شود.
    شاید بگوئید این برنامه که مخفیانه اجرا نمی شود چون تصویر را نشان می دهد. بله درست است ولی خودتان هم امتحان
    کرده و برنامه را بدون این سطر درست کنید، موقع اجرا خواهید دید که برنامه پس از نشان دادن تصویر، خاموش نشده و به
    شما اعلام خواهد کرد که کارش تمام شد و شما باید روی کلید Close کلیک کنید تا برنامه بسته شود.

    _ در سطر بعدی کد XPStyle on بکار برده شده.با این کد فقط به برنامه میگوییم که در موقع اجرا از پنجره های موجود در
    ویندوز XP استفاده کند. اگر این کد را استفاده نکنید هیچ تغییری در کار برنامه ایجاد نخواهد شد.

    _ قسمت بعدی برنامه در حقیقت دقیقا" همان کاری است که ما میخواهیم انجام شود (یعنی نشان دادن یک تصویر).من در
    این قسمت، از دستورات اصلی برنامه NSIS استفاده نکرده ،بلکه از یک پلاگ این بنام AdvSplash استفاده کرده ام.

    در حقیقت تعداد زیادی پلاگ این (plug-in) برای برنامه NSIS وجود دارند که بعضی از آن ها همراه با نصب برنامه ، وجود داشته
    و نصب می شوند و بعضی دیگر را بسته به نیاز ها ،باید دانلود و به NSIS اضافه کنید.
    تذکر:
    ------
    من بمرور زمان تعداد زیادی پلاگ این های مورد نیازم را به NSIS اضافه کرده ام و الان نمیدانم که آیا در داخل NSIS که تازه
    نصب شده ، پلاگ این بنام AdvSplash وجود دارد یا نه فقط بنظرم میرسد که وجود دارد.
    بهر حال اگر مثال با لا را خودتان کامپایل کرده و امتحان کرده باشید، اگر این پلاگ این موجود باشد که برنامه کامپایل خواهد کرد
    و گرنه ایراد خواهد گرفت.

    بهر صورت توضیح این بخش از دستورات بصورت زیر است:

    1. ما میتوانیم به NSIS بگوئیم که در قبل از شروع به نصب برنامه ما ، اول یک یا چند تا کار انجام دهد و سپس کار نصب اصلی
    را شروع کند.
    برای انجام اینکار بایستی از یک تابع موجود در NSIS بنام Function .onInit استفاده کنیم.
    برای استفاده از این تابع اول باید عبارت Function .onInit را نوشته و بعد در سطر یا سطور زیر آن باید دستور یا دستورات لازم
    را نوشته و در انتها در سطر آخر عبارت FunctionEnd را بنویسیم. که نمونه اش را در مثال مورد بحث مشاهده کردید.

    2. گفتم که ما میخواهیم از یک پلاگ این بنام AdvSplash استفاده کنیم. لذا در این مرحله اول زیر سطر Function .onInit
    دستور (InitPluginsDir) را می نویسیم.با این دستور به NSIS میگوئیم یک جائی را برای نگهداری پلاگ این مورد نظر ما داخل
    فایل اجرائی نهائی ذخیره کند.

    3. در سطر بعدی جلوی دستور (File /oname) نام فایل تصویری و چگونگی و محل نگهداری تصویر a1.bmp را مشخص
    می کنیم.

    4. برای اینکه برنامه NSIS بتواند یک پلاگ این را اجرا کند باید اول نام پلاگ این را نوشته و بعد از آن علامت :: را استفاده
    کنیم.یعنی در این مثال اول عبارت:: AdvSplash را می نویسیم.
    و سپس کد بعدی (یعنی show) دستور نشان دادن را می دهد.
    عبارت بعدی یعنی عدد 5000 به برنامه میگوید که تصویر را بمدت 5000 میلی ثانیه (یعنی 5 ثانیه) نشان دهد.

    دو تا کد بعدی (یعنی 0xFF00FF 400 600 نوع تصویر را مشخص میکنند که نیازی به دانستنش نیست.

    و در انتها مشخص می کنیم که فایل تصویری را باید از کجا پیدا کرده و نشان دهد. و بعد در سطر بعدی با نوشتن کد
    FunctionEnd کارمان با این قسمت تمام میشود.

    در کل با کد هائی که مابین عبارات Function .onInit و FunctionEnd نوشتیم فایل تصویری و دستورات مربوطه داخل فایل
    اجرائی نهائی موجود بوده و موقعیکه ما آن را اجرا می کنیم ، اول یک پوشه موقتی در پوشه TEMP کاربر درست و سپس
    فایل تصویری a1.bmp داخل این پوشه قرار گرفته و سپس نشان داده می شود.
    و بعد از بسته شدن برنامه این فایل تصویری و پوشه ساخته شده بطور اتوماتیک پاک می شوند.

    آخرین کد های مثال ما عبارات Section و SectionEnd هستند که در اول بحث امروز در موردشان صحبت کردم.

    دلم میخواست که یک مثال دیگری را شروع کنم ولی فکر میکنم که مطلب یک مقدار طولانی و خسته کننده شد.

    لذا مثال بعدی را به زمانی دیگر موکول کرده و دلم میخواهد قبل از شروع مثال دیگر با کاربردی دیگر ،نتایج کار و یا احیانا"
    سوالاتی اگر وجود دارد را ببینم.

    [SIGPIC][/SIGPIC]

  2. 4 کاربر مقابل از Magsoud عزیز به خاطر این پست مفید تشکر کرده اند.


علاقه مندی ها (بوک مارک ها)

علاقه مندی ها (بوک مارک ها)

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

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

http://www.worldup.ir/