ترکیب صداها و زیرنویس ها روی یک فیلم

این روزها شما وقتی یه دی وی دی فیلم یا انیمیشن اوریجنال بگیرید حتمن متوجه شدید که اون رو می تونید با چند زبون ببینید ، یا اینکه زیرنویسش رو به چندین زبون مختلف بخونید ، این کار در نگاه اول ممکنه چیز خارق العاده ای به نظر برسه ولی وقتی با این فرض نگاه کنیم که در اصل فیلم بدون صداست و ما هستیم که می گیم چه صدایی روی فیلم پخش بشه یا چه زیر نویسی نمایش داده بشه خیلی چیز عجیبی به نظر نمیاد .

با اومدن فرمت هایی مثل MKV این ویژگی از قالب DVD و… خارج شد و پرکاربردتر شد . MKV می تونه بدون افت کیفیت ، حجم فیلم رو به شدت پایین بیاره و از ویژگی های چندصدایی و چند زیرنویسی و… هم برخورداره و می شه گفت یه فرمت خیلی خوب برای این مدل کارهاست .

شبکه های چند زبانه مثل یورونیوز هم تقریبن همین مدلی هستند و شما با یک تصویر و چندین زبان روبرو هستید و می تونید خبرها رو با زبونی که متوجه می شید بشنوید و ببینید .

حالا اینارو گفتم تا برنامه ای رو معرفی کنم که خیلی راحت می تونه چند صدا و زیر نویس رو به یه فیلم اضافه کنه و با سرعت خیلی زیاد اون ها رو تو هم میکس کنه و یه خروجی MKV بگیره . با این برنامه همچنین می تونید لاین های زیر نویس و صدای روی فیلم ها رو جدا کنید و خروجی رو اونجور که دوست دارید تغییر بدید .اسم این برنامه mkvmerge GUI هست و می توینید از اینجا دانلودش کنید .

طرز کارش خیلی سادست ، اول از همه برای اینکه خروجی هر صدا کاملن منطبق با تصویر باشه شما باید صداهای مختلف رو روی تصویر ببینید و اصطلاحن سینکش کنید و بعد فقط از صدا خروجی mp3 یا هر فرمت دیگه ای بگیرید . بعد نرم افزار mkvmerge GUI رو بازش کنید و طبق تصویر و توضیحات زیر ، نقاط مشخص شده رو پر کنید :

mkvmerge GUI

۱- روی گزینه add کلیک کنید و فیلم اصلیتون رو باز کنید ، بعد با کلیک روی همین گزینه می تونید صداها و یا زیر نویس هایی که می خواید اضافه بشه رو باز کنید .

۲- توی این لیست ، ویدیو و صداها و زیرنویس هایی که انتخاب کردید نمایش داده می شه ، با انتخاب هر کدومشون و کلیک روی up یا down می تونید به صداها و یا زیرنویس ها اولویت بدید و مثلن مشخص کنید کدوم صدا به صورت پیشفرض روی تصویر باشه و صداهای دیگه با چه اولویتی چیده بشن . اگه تیک گزینه ای رو بردارید ، اون گزینه از خروجی حذف می شه . موقعی که می خواید زیرنویس و یا صدایی رو از فیلم حذف کنید و یا فقط از یک صدا یا زیرنویس خروجی بگیرید می تونید با برداشتن یا زدن تیک ها ، خروجی رو مدیریت کنید .

۳- با انتخاب هر کدوم از گزینه های منوی بالا تنظیماتی اینجا مشخص می شه که شما به صورت دلخواه می تونید اعمال کنید ، مثلن اگه توی خروجی دیدید که زیرنویس فارسی درست نمایش داده نمی شه ، می تونید برای زیرنویس فارسی از قسمت format specific option ، نوع کارکتر UTF-8 رو مشخص کنید . و تنظیمات دیگه ای که اینجا هست و زیاد ضروری نیست و نمی خوام بهش بپردازم .

۴- در نهایت از این قسمت مشخص کنید که خروجی کجا ذخیره بشه .

بعد روی دکمه ی start muxing کلیک کنید تا صداها و زیرنویس ها و… با تصویر ادغام بشن و یه خروجی MKV از ویدیو بهتون بده .

برای دیدن این مدل فیلم ها فکر کنم بهترین گزینه ، نرم افزار km player باشه ، برای تغییر صدا یا زیرنویس توی این برنامه ، روی تصویر کلیک راست کنید ، از قسمت audio که وارد  stream selection بشید می تونید لیست صداها رو ببینید و صدای مورد نظرتون رو انتخاب کنید . برای زیرنویس هم از قسمت subtitles و منوی subtitle languages می تونید زیرنویس مورد نظرتونو انتخاب کنید .

پ.ن : اگه فیلم هایی رو دانلود کردید که گفته شده بود اون فیلم دارای باند صدای ۵ به ۱ هست ، منظور دقیقن اینه که فیلم دارای چند صداست و معمولن هم یکی از اون صداها ، صدای موسیقی و باند بدون دیالوگ هست !

به اشتراک بگذارید
پروژه ارژنگ !

هفته قبل به خاطر یه سری مشکلات ، دسترسی به اینترنت نداشتم و برای همین نشستم و یه پروژه ای به اسم ارژنگ رو برنامه نویسی کردم و از اونجایی که برای تفریح بیشتر این کار رو انجام دادم اونو به صورت منبع باز توی وبلاگم گذاشتم و آزمایشگاه جنتلمن رو باهاش افتتاح کردم !

اول از همه بزارید درباره آزمایشگاه بگم بعد بریم سراغ ارژنگ و ببینیم دقیقن چیه !

بعضی وقتا که بیکار هستم و حوصلم سر بره می شینم برنامه های تفریحی می نویسم یا طرح های همینجوری می زنم و… ! هدفم از این کارا اینه که هم تمرینی برای خودم بشه و مهارتم بره بالاتر هم اینکه بتونم ازشون برای کمک به افراد دیگه که به این کارا علاقه دارن استفاده کنم . قسمت آزمایشگاه هم توی وبلاگم برای همین راه انداختم که اینجور پروژه ها رو توش بزارم .

قراره توی آزمایشگاه ایده های جالبی که به ذهنم می رسه یا بقیه بهم پیشنهاد می دن رو با کد یا سورسشون قرار بدم تا بقیه هم ازش استفاده کنن . فقط هم قرار نیست پروژه ها برنامه نویسی باشن ، ممکنه یه طرح لایه باز یا سورس یه انیمیشن یا هر چیز دیگه ای که بشه با منبع قرارش داد اونجا باشه . اگرم برنامه نویسی بود ممکنه به هر زبونی که آشنایی دارم یا دوس داشته باشم یاد بگیرمش اونجا پروژه بزارم .

معلوم نیست هر چند وقت یکبار توی آزمایشگاه یه پروژه قرار بگیره و روند خاصی نداره . ولی پروژه هایی که قرار می گیرن چون منبع بازن ، می شه گسترش پیدا کنن و هر کسی به توسعش کمک کنه و ورژن های دیگه ای ازش ارایه بشه .

برای آزمایشگاه یه کارکتر هم طراحی کردم که آزمایشگاه جنتلمن رو با این کارکتر بشناسید ! توی هر پروژه ای این لوگو رو می زارم و طرح لوگو هم به صورت svg لایه باز توی سورس ها وجود داره

آزمایشگاه جنتلمن

اما ویرایشگر ارژنگ که آزمایشگاه رو باهاش راه انداختم یه ویرایشگر متن خیلی سادست که ۵ قابلیت داره . شما می تونید این پروژه رو اینجا ببینید یا پروندش رو اینجا بخونید و یا توی گیت هاب به توسعش کمک کنید و کدهاشم از اینجا قابل دانلوده .

ایده ی این پروژه هم یکی از دوستام تو سرم انداخت . اون به خاطر کاری که داره بعضی وقتا باید تایم رو از متن زیر نویس برداره و من با همین کد php که توی این پروژه وجود داره این کارو براش می کردم ، توی هفته ی قبل هم اومدم ۴ تا ویژگی دیگه خودم بهش اضافه کردم و روی رابط کاربریش کار کردم و اینی که می بینید شد .

خوشحال می شم اگه نظری پیشنهادی یا انتقادی درباره ی پروژه ها یا کل آزمایشگاه دارید با من درمیون بزارید .

به اشتراک بگذارید
موزیک ویدیویی بهتر بسازیم

این روزا هر کی یه آهنگ خونده ، دوست داره اونو موزیک ویدیو کنه و از هزار طریق پخشش کنه. بازار موزیک ویدیو هم که داغ بشه هر کسی که دوربین داشته باشه و یه خورده از تدوین سرش بشه دلش می خواد یه درآمدی هم از این طریق داشته باشه. توی سال های اخیر و همین بازار داغ موزیک ویدیوها، استعدادهای خوبی هم پیدا شدن و موزیک ویدیوهای خوب زیاد بودن ولی حرفه ای ها هم ممکنه یه سری نکات رو نادیده بگیرن و سوتی هایی تو موزیک ویدیوهاشون بدن ! من به خاطر علاقم به تکنیک های تدوین، موزیک ویدیوها رو بیشتر از دید تکنیکی نگاه می کنم تا آهنگ و داستان و چیزای دیگش . برای همین طی این مدت چیزهایی متوجه شدم که حتا کارگردانای حرفه ای هم توی موزیک ویدیوشون رعایت نمی کنن . می خوام یه سریشونو بنویسم تا خواننده ها و کارگردانا بیشتر دقت کنن.

البته می دونم ساخت موزیک ویدیو توی ایران گرفتاری های خاص خودشو داره، ولی این نکاتی هم که می گم نکات خیلی ریز هست که اگه رعایت بشه به کیفیت موزیک ویدیو کمک می کنه و به محدودیت های کارگردان ها خیلی ربط نداره .

به هیچ وجه از عینک آفتابی یا لباس های شفاف توی محیط بسته و یا روشن استفاده نکنید.

عینک آفتابی این روزا یه جور کلاس برای خواننده ها شده و بیشتر خواننده ها دوس دارن توی موزیک ویدیوشون عینک آفتابی بزنن ! اگه شیشه ی عینک خیلی تیره باشه و توی محیط روشن دارید موزیک ویدیو رو ضبط می کنید معمولن تصویر پشت صحنه توی شیشه عینک می افته و اگه بیننده خیلی ریزبین باشه می تونه پشت صحنه رو ببینه .

اگه خواستید از عینک آفتابی استفاده کنید از شیشه های روشنتر و توی محیط های کم نورتر استفاده کنید . البته الان با نرم افزارهایی مثل افترافکت می شه نور شیشه رو کم کرد و چیزی که توش افتاده رو محو کرد ولی معمولن وقتی از این تکنیک ها استفاده می شه شیشه عینک خیلی تیره و غیر واقعی می شه و کارگردان ویدیوتون هم باید خیلی ازتون پول بگیره تا از این کارا کنه ! یه کار دیگه ای هم که شنیدم بعضی کارگردانا می کنن اینه که پشت شیشه عینک یه کاغذ سیاه می چسبونن تا تصویر رو انعکاس نده ( البته به قیمت اینکه خواننده موقع اجرا جایی رو نمی بینه ! ) . یه نمونه از این اشتباه معمول رو توی موزیک ویدیو شیطون لجباز از ۲friend می شه دید :

2friend - شیطون لجباز

جدا از عینک از لباسها و دکورهایی که مثل آینه تا حدودی تصاویر رو انعکاس می دن هم استفاده نکنید . اشتباهی که بروبکس توی آخرین موزیک ویدیوشون ( قدرت دست خانوماست ) انجام دادن و از یه سرباز با لباس های مثلن فلزی استفاده کردن و تا حدودی می شه پشت صحنه رو توی لباسش دید !

بروبکس - قدرت دست خانوماست

از افکت ها و فیلترهای تصویری تو جای درستش استفاده کنید.

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

بتی - فردا تو راهه

درست هر قسمتی رو ماسک کنید و در حین ماسک کردن پیشفرض ذهنی داشته باشید.

ماسک کردن یه اصطلاحه که توی نرم افزارایی مثل افترافکت کاربرد داره . با ماسک کردن می شه یه قسمت از فیلم رو برید و چیز دیگه ای جاش گذاشت . اگر خواستید جایی از این تکنیک استفاده کنید پیشفرض ذهنی برای خودتون داشته باشید و بدونید توی کدوم سکانس ها ماسک کردید و کجاها نکردید. مثلن اگه سکانسی رو ماسک کردید و بعد از چند سکانس دوباره به اون سکانس بر می گردید یادتون باشه دوباره ماسک کنید و ماسک نکرده اونجارو رها نکنید. مثلن توی موزیک ویدیو Hands Up از ماهان زد توی سکانسهایی آسمون رو ماسک کردن ولی توی سکانس های بعدیش از همون صحنه  رنگ آسمون حالت طبیعی داره و ماسک نشدست :

mahan z - Hands Up

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

توی این مدل کارها هم فقط تجربه باعث می شه کارگردانی موفق بشه و هر چقدر تجربش بیشتر باشه کارهای با کیفیت تری ارائه می کنه . امیدوارم این نکات کوچولو که گفتم به صنعت موزیک ویدیو کمک کنه . شما هم اگه نکته خاصی به ذهنتون می رسه حتمن بگید تا راهنمایی بشه برای موزیک ویدیوسازها و خواننده ها .

به اشتراک بگذارید
پروژه کارشناسیم !

این ترم من پروژه ی کارشناسیم رو ارائه دادم ! پروژم سیستم نظرسنجی آنلاین بود که با PHP نوشته بودم . توی این پستم می خوام درباره این پروژه بنویسم و کدهاشو رو به صورت آزاد در اختیارتون بزارم . قبل از هر چیز بگم که چون تاکید من توی این پروژه بیشتر به زبون PHP بود ، از نظر رابط کاربری و طراحی خیلی ساده و ابتداییه و من اصلن برای ظاهر و کدهای HTML وقت زیادی نزاشتم و سعی کردم خیلی سریع کدهای این قسمت ها رو بنویسم ! برای همین شاید ۹۰% تمرکزم روی کارکرد برنامه بود نه ظاهر و HTML و CSS . شما می تونید اگر دوست داشتید رابط کاربری و ظاهرشو اونجو که می خواید تغییر بدید و برای خودتون شخصی سازیش کنید .

اما اول بزارید بگم این پروژه رو چه جوری می شه راه انداخت تا اگه خواستید روی سرور نصب کنید روند نصبش رو بدونید . در آخر کل کدها و چیزایی که لازم هست رو براتون گذاشتم که می تونید دانلود کنید و ببینید .

  • دیتابیس 

دیتابیس پروژه ۷ تا جدول داره که قبل از هر چیز باید جدول های دیتابیس رو درست کنید . توی کدهایی که دانلود می کنید یه فولدر به نام SQL وجود داره که توش کدهای ساخت جدول ها وجود داره . اگه کار با دیتابیس رو بلدید که کافیه اونو به دیتابیس Import کنید ، اما اگه مبتدی هستید و نمی دونید چه طوری باید این کارو کنید بهتون می گم .

جدول های پروژه

برای این کار باید اول یه دیتابیس به هر اسمی که دوست دارید بسازید . بعد وارد دیتابیس بشید و روی Import کلیک کنید ( اگه از phpmyadmin استفاده می کنید Import توی منوی بالای صفحست ) . حالا روی Brows کلیک کنید و فایل sql پروژه رو باز کنید . دقت کنید که Character رو روی UTF-8 بزارید . وقتی روی گزینه تایید کلیک کنید می بینید که تمام جدول ها توی دیتابیس ساخته می شن .

راه دیگه هم اینه که فایل sql رو توسط یه ادیتور مثل  notepad باز کنید و کدهاشو به صورت کوئری وارد دیتابیس کنید که این روش هم تقریبن سادست . حالا که جدول ها رو داریم باید بریم سراغ خود پروژه .

  • کدهای اصلی پروژه

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

نکته مهم اینه که قبل از استفاده از سیستم باید دیتابیس رو به پروژه وصل کنید . برای این کار توی کدهای پروژه به فولدر systemadmin برید و بعد وارد class بشید ، فایل connection.php رو توی یه ادیتور مثل notepad باز کنید و بعد توی ۴ خط اولش اطلاعات دیتابیس رو وارد کنید که من به فارسی مقابل هر کدومشون نوشتم چه چیزی رو باید وارد کنید و یه مقدار پیشفرض هم به هر کدومشون دادم .

define(“DB_DATABASE”,”project”); //نام دیتابیس
define(“DB_HOST”,”localhost”); // آدرس دیتابیس
define(“DB_USER”,”root”); // نام کاربری دیتابیس
define(“DB_PASS”,””); // رمز عبور دیتابیس

وقتی این کارو کردید همه چی آمادست و می تونید از سیستم استفاده کنید .

  • طرز کارش

توی پروژم سعی کرم تمام چیزهایی که برای یه سیستم نظرسنجی لازمه رو بیارم و شاید بشه گفت بیشتر گزینه های لازم برای این کار رو داره . اول از همه باید نظرسنجی ها رو بسازید تا بتونید از سیستم استفاده کنید . صفحه ی مدیریت توی فولدر systemadmin هست ، اگه بعد از آدرس یک systemadmin/ بزارید وارد قسمت مدیریت می شید . هم نام کاربری و هم رمز عبور برای بار اول admin هست که البته بعد از وارد شدن می تونید رمز رو عوض کنید .

صفحه اصلی مدیریت

توی صفحه مدیریت شما اول از همه باید گروه تعریف کنید . تا وقتی گروه نساخته اید نمی توانید نظرسنجی بسازید . وقتی گروه ها را تعریف کردید می تونید شروع به ساخت نظرسنجی کنید . هر نظرسنجی مربوط به یک گروه است و فقط داخل اون گروه قابل نمایش است . نظرسنجی ها رو به صورت تک انتخابی و چند انتخابی می تونید بسازید و براشون هر تعداد که می خواید گزینه تعریف کنید .

از طریق قسمت مدیریت نظرسنجی ها می تونید نظرسنجی ها رو فعال یا غیر فعال کنید . اگر نظرسنجی ای غیر فعال بشه آمارش از بین نمی ره ولی کسی نمی تونه توش شرکت کنه و به نوعی آرشیو شده حساب می شه .

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

در بالای صفحه ی مدیریت توسط قسمت تنظیمات می تونید نام و رمز عبورتون رو عوض کنید . همچنین از قسمت کاربران سیستم می تونید برای سیستم چند کاربر با نام کاربری و رمز عبورهای مختلف تعریف کنید . دو سطح دسترسی مدیر و کاربر عادی بهتون اجازه می ده دسترسی کاربران رو محدود کنید . مدیران به همه ی قسمت ها دسترسی دارن و کاربران عادی نمی توانند مدیر یا کاربر تعریف کنند .

کلن حدود ۲ هفته برای نوشتن این پروژه وقت گذاشتم و از نتیجش هم راضیم . کدهای پروژم رو به صورت متن باز ( Open Source ) در اختیارتون می زارم تا اگه دوست داشتید ازشون استفاده کنید و چون به صورت آزاد گذاشتم هر گونه تغییری که بخواید می تونید توش بدید .

توی کدها هم تمام کامنت ها و توضیحات رو به فارسی نوشتم تا بدونید هر تابع چه کاری انجام می ده و بهتر درکش کنید .

توجه کنید که توی قسمت دمو برای ورود ، نام کاربری admin و رمز عبور هم admin است . دسترسی به تنظیمات رو توی این نسخه برای مدیر بستم تا کسی رمز مدیریت رو عوض نکنه ، ولی می تونید خودتون یه مدیر تعریف کنید و قسمت تنظیماتش رو ببینید .

به اشتراک بگذارید
یه کلاس خوب php برای ارسال ایمیل

امروز قصد دارم یکی از بهترین کلاس هایی که برای ارسال ایمیل با php رو دیدم بهتون معرفی کنم . این کلاس ویژگی های خیلی خوبی داره و خیلی هم سبکه و می شه باهاش کارای زیادی انجام داد . قبل از اینکه این کلاس و طرز کارش رو توضیح بدم اول می گم که ارسال ایمیل با کدهای php چه جوریه و فرقش با این کلاس چیه .

یک تابع به صورت پیش فرض برای ارسال ایمیل با php وجود داره ، تابع mail که خیلی هم کار باهاش راحته و می تونید با دادن متغیرهای ایمیل ، به راحتی ایمیل مورد نظرتونو ارسال کنید . به عنوان مثال اگه من یه ایمیل با موضوع تست و متن سلام به آدرس me@jentelman.com با تابع mail بخوام بفرستم به شکل زیر می نویسم :

<?php
$to = “me@jentelman.com”;
$subject = “تست”;
$message = “سلام”;
mail($to,$subject,$message);
echo “ایمیل ارسال شد !”;
?>

اما مشکلی که این تابع داره اینه که وابسته به تنظیمات ایمیل apache هست و از سروری که توی apache تعریف شده ایمیل ها رو ارسال می کنه . یعنی شما اگه یه سایت خدماتی خیلی ساده روی یه هاست بخواین راه بندازین و از این تابع برای ارسال ایمیل استفاده کنید آدرس فرستنده ی ایمیل آدرسی هست که روی apache تعریف شده و اگه به تنظیمات سرور دسترسی نداشته باشید نمی تونید آدرس فرستنده رو طوری تغیر بدید که گیرنده ی ایمیل آدرس ایمیل شما رو به عنوان فرستنده ببینه !

مشکل دیگه ای که این تابع پیش فرض داره اینه که ایمیل ها رو به شکل متن ارسال می کنه و نمی شه به ایمیل استایل و یا حالت خاصی داد . مثلن اگه شما بخواین فونت ایمیلتون چیز دیگه ای باشه و یا اندازه ی متن توی بعضی جاها عوض شده باشه و یا هر استایلی که بخواید ایمیلتون داشته باشه ، با این تابع نمی شه و کدهای html رو هم به شکل متن ارسال می کنه !

چند تا کلاس برای رفع این مشکلات و ارسال یه ایمیل خوب برای php نوشته شده که به نظرم بهترین کلاسی که دیدم phpmailer هست و خیلی سبک و خوبه . با این کلاس شما می تونید ایمیل ها رو با شکل و ظاهری که دوست دارید بفرستید و روی لوکال هاست هم بدون تغیرات توی apache می تونید ایمیلتون رو ارسال کنید .

  • قبل از شروع ایمیل فرستنده رو مشخص می کنیم :

فرض کنید من می خوام ایمیل هامو با آدرس me@jentelman.com بفرستم . اول از همه باید از یه سرور خوب برای ارسال ایمیل استفاده کنم که بهترینش به نظرم جیمیل هست . ما قصد داریم جیمیل رو این وسط واسطه قرار بدیم تا ایمیل ها رو به وسیله ی سرورهاش با آدرس me@jentelman.com به مقصد برسونه . اما حالا چرا جیمیل رو انتخاب کردم و از سروری که سایتم روشه کمک نمی گیرم ، به این دلایل :

  • محدودیتی که روی هاست ها برای ارسال ایمیل وجود داره معمولن ۱۰۰ ایمیل در روزه ! ولی جیمیل می تونه تا ۵۰۰ ایمیل در روز رو ارسال کنه .
  • جیمیل ایمیل ها رو رمزنگاری شده می فرسته و امنیت کاربرها هم حفظ می شه .
  • اگر تایید دومرحله ای جیمیلتون فعال باشه لازم نیست توی این کلاس پسورد اصلی ایمیلتون رو بنویسید و امنیت ایمیلتون حتا اگر سایتتون هک بشه حفظ می شه و کسی نمی تونه به پسورد ایمیلتون دسترسی داشته باشه .
  • و…

قبل از کار با کلاس باید ایمیل فرستنده رو بسازید و به جیمیلتون وصلش کنید . برای این کار توی سی پنل روی Email Accounts کلیک کنید و ایمیل مورد نظرتونو بسازید که من به عنوان مثال ایمیل me@jentelman.com رو می سازم . بعد باید این ایمیل رو به جیمیلتون وصل کنید که من مراحل اتصالش رو نمی گم و می تونید اینجا و یا اینجا روش اتصالش رو ببینید .

وقتی ایمیلتون رو به جیمیل وصل کردید همه چی آمادست و نوبت به کلاس phpmailer می رسه . این کلاس رو می تونید از توی گوگل کد دانلود کنید ، ولی اگه به گوگل داک دسترسی ندارید می تونید اون رو از اینجا دانلود کنید . بعد از دانلود ، فایل ها رو از حالت فشرده خارج کنید و فایل های class.phpmailer.php و class.pop3.php و class.smtp.php رو توی یک فولدر کنار فایل های سایتتون قرار بدید . فرض کنید من این ۳ فایل رو توی فولدر phpmailer ریختم و توی کد مثالمم می خوام از این فولدر بازش کنم .

حالا برای استفاده از این کلاس توی صفحه ی مورد نظرمون از کد زیر استفاده می کنیم :

<?php
require(‘phpmailer/class.phpmailer.php’);
$mail=new PHPMailer();
$mail->CharSet = ‘UTF-8’;
$body = ‘<P dir=rtl><FONT size=2 face=”tahoma”>سلام !</FONT></P>’;
$mail->IsSMTP();
$mail->Host = ‘smtp.gmail.com’;
$mail->SMTPSecure = ‘tls’;
$mail->Port = 587;
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->Username = ‘jentelman’;
$mail->Password = ‘123456’;
$mail->From = ‘me@jentelman.com’;
$mail->FromName = ‘jentelman’;
$mail->Subject = ‘تست’;
$mail->MsgHTML($body);
$mail->AddAddress(test@yahoo.com, ‘کامران’);
if($mail->Send())
echo ‘ایمیل ارسال شد !’;
else
echo ‘ایمیل ارسال نشد !’;
?>

توی کد بالا همونطور که می بینید اول کلاس رو صدا زدیم و همونطور که گفتم چون من کلاس رو توی فولدر phpmailer ریختم از اونجا صداش کردم . خط دوم و سوم هم یک ایمیل جدید به صورت UTF-8 ساختیم که از فارسی هم پشتیبانی کنه ، توی خط چهارم متغیر body رو متن ایمیلمون تعریف کردیم و همونطور هم که می بینید توی متن ایمیل از کدهای html استفاده کردم که با یه استایل خاصی ایمیلم ارسال بشه . خط های بعدی کد برقرار کردن ارتباط با سرورهای جیمیل هست و مشخصات SMTP و پورت جیمیل رو وارد کردیم . مقابل متغیر Username همونجور که می بینید نام کاربری جیمیل و مقابل Password هم پسورد جیمیلمون رو می نویسیم . یه نکته ی مهم اینجا وجود داره و اونم اینکه حتمن تایید دو مرحله ای جیمیل رو فعال کنید ( چه جوری فعال کنیم ؟! ) وقتی که تایید دو مرحله ای فعال باشه می تونید برید اینجا و یک پسورد جدید بسازید و از اون پسورد توی کلاس استفاده کنید ، اینجوری پسورد اصلی جیمیلتون در امانه و احتمال هک ایمیلتون در صورت هک شدن سایت وجود نداره !

در مقابل From و FromName ، ایمیل و اسم فرستنده رو تعریف کردیم . همونطور که توی مراحل قبل دیدید اول ایمیل me@jentelman.com رو به جیمیل متصل کردیم و بعد می تونیم از این ایمیل به عنوان فرستنده استفاده کنیم . بعد هم موضوع ایمیل رو مشخص کردیم و متن ایمیل رو داخل تابع MsgHTML نوشتیم که با حالت مورد نظرمون ارسال بشه . در نهایت هم آدرس و اسم گیرنده ی ایمیل رو مشخص کردیم که من به عنوان مثال می خوام ایمیلم به آدرس test@yahoo.com که متعلق به کاربر کامران هست ارسال بشه .

به همین راحتی با یه کلاس ساده تونستیم ایمیلمون رو ارسال کنیم . یه ویژگی خیلی خوب استفاده از این کلاس اینه که چون توسط جیمیل ، ایمیل ها ارسال می شن گزارش دریافت هم به جیمیل ارسال می شه و اگه کاربری بخواد ایمیل غیر واقعی توی سایتتون وارد کنه توی جیمیل براتون گزارش دریافت میاد که ایمیل به مقصد نرسیده و می فهمید اون آدرس ایمیل غیر واقعیه !

این کلاس امکانات دیگه ای هم داره مثل پیوست کردن فایل به ایمیل و … که می تونید اینجا امکانات و مثال هاش رو ببینید .

من از وقتی که از این کلاس استفاده می کنم خیلی راحتم و مشکلی با ارسال ایمیل توی php ندارم و کارام راحت تر شده ، اگه کلاس های بهتری رو سراغ دارید خوشحال می شم که معرفی کنید .

به اشتراک بگذارید
با ویروس کدباز monda ، شما هر کسی رو می تونید هک کنید !

امروز توی یه سایت خارجی درباره ی ویروس جدید monda می خوندم که برام خیلی عجیب و جالب بود . توی اون مقاله درباره ی ویروس monda و راه های مقابله با اون مفصل نوشته بود و نکته ی جالبش اینه که این ویروس به صورت کد باز ( open source ) در اختیار مردم قرار گرفته ! یعنی فایل اجرایی ویروس و مدیریتش رو هر کسی می تونه دریافت کنه و با اون هر کسی رو هک کنه !

monda اصلن چی هست ؟

ویروس monda که کمتر از ۱ هفته از پیدایشش می گذره وقتی وارد سیستم می شه اول از همه به صورت مخفیانه وبکم رو روشن می کنه و تصویر زنده ی فرد رو برای هکر می فرسته و هکر می تونه طعمش رو ببینه و زیر نظر بگیره !

وقتی طعمه برای لحظاتی از پای سیستم بلند شه ، هکر با دیدن این صحنه دست به کار می شه و این کارها رو می تونه انجام بده :

  • به صورت مانیتورینگ وارد سیستمش بشه و تمام فایل هاشو دستکاری کنه
  • با زدن یه دکمه فن CPU رو از کار بندازه تا سیستم مدام ریست بشه و CPU آسیب ببینه
  • درایو ویندوز رو به طور کامل فرمت کنه
  • پسورد ایمیل ، فیسبوک و … رو سرقت کنه
  • و هزار تا کار دیگه …

یکی از امکانات خیلی وحشتناک این ویروس دیدن تصویر وبکم وقتیه که کامپیوتر خاموشه ! شاید بگید مگه می شه ؟ ولی برنامه نویس monda با زیرکی کاری کرده که وقتی طمه سیستم رو خاموش کرد فقط فن ها و چراغ های داخل کیس از کار بیفتن و در اصل کیس به کار خودش ادامه می ده ! یعنی به نظر کیس خاموش میاد ولی در اصل روشنه و هکر هم تصویر وبکم رو داره و هم می تونه هر کاری که می خواد بکنه !

اما حالا باید چی کار کرد ؟

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

خلاصه اینکه تا زمانی که این ویروس در اختیار همه می تونه باشه و آنتی ویروسی هم نمی تونه از بین ببرش باید وبکم رو بیخیال شید و فعلن ازش استفاده نکرد ! چون اگه ویروس وبکمی رو شناسایی نکنه فعالیتی نداره و سیستمتون در امانه .

من هم این ویروس رو دانلود کردم و تست کردم و دیدم کاملن کار می کنه و می شه باهاش به سیستم قربانی کلی خسارت زد . شما هم اگه دوست دارید monda رو تست کنید و دوستتون رو هک کنید اون رو می تونید از لینک زیر دانلود کنید . توجه کنید که قبل از نصب حتمن فایل راهنما رو بخونید تا آسیبی به سیستمتون وارد نشه .

» دانلود monda + فایل راهنما

به اشتراک بگذارید
اتصال به وب سرویس با زبون php

سایت های خدماتی برای ارئه ی بهتر خدمات به کاربراشون از سرویسی به اسم وب سرویس ( web service ) استفاده می کنن . شما با وب سرویس می تونید از خدمات یک سایت توی سایت خودتون استفاده کنید .  مثلن وقتی شما از یک بانک تقاضای درگاه پرداخت اینترنتی برای سایتتون می کنید اون بانک با ارائه ی یک وب سرویس به شما کاری می کنه که اتصال سایتتون با بانک برقرار بشه .

وب سرویس در اصل یک آدرس اینترنتیست که قابلیت دریافت و ارسال یه سری اطلاعات رو داره . برنامه نویس های وب وقتی آدرس وب سرویس و اطلاعات ارسالی و دریافتی اون رو داشته باشن می تونن سایتشون رو با اون وب سرویس پیوند بزنن و از خدمات اون سایت توی سایت خودشون استفاده کنن . اتصال به وب سرویس با زبون asp.net نسبت به php کار راحتتریه و خیلی سخت نیست . من می خوام توی این مطلبم روش اتصال به وب سرویس با استفاده از زبون php رو بهتون یاد بدم .

قبل از شروع باید بگم از طریق ۲ تا کتابخونه می شه وب سرویس با زبون php نوشت ، هم با کتابخونه nusoap و هم با کتابخونه soap . این دو تا کتابخونه فرق زیادی با هم ندارن ، فقط اگر سرورتون soap فعال نباشه باید از nusoap استفاده کنید ! یعنی اینکه در کنار کدتون کتابخونه رو هم باید قرار بدین ، در صورتی که اگر soap سرور فعال باشه کتابخونه داخل سرور موجوده و نیازی به قرار دادن کتابخونه نیست . من طرز نوشتنش با کتابخونه soap رو می خوام بهتون توضیح بدم و به nusoap نمی پردازم . همونطور هم که گفتم قبل از خرید هاست حتمن مطمئن بشید soap روی اون سرور فعال هست چون اگر نباشه وب سرویس کار نمی کنه و باید با nusoap بنویسید .

  • اما بریم سراغ آموزش :

فرض کنید من می خوام از وب سرویس یک سایت خدمات پیامک استفاده کنم و به وسیله ی اون وب سرویس ، از سایت خودم اس ام اس ارسال کنم . اول از همه باید آدرس وب سرویس سایت خدمات دهنده ی پیامک رو داشته باشم که فرض می کنم آدرسش http://sms.com/webservice.asmx هست . چیز دیگه ای که نیاز داریم متغیرهای ارسال و دریافت هست که این متغیرها هم توسط شرکت ارائه دهنده باید به شما داده بشه . مثلن توی این مثال من متغیرهایی که دارم اینهاست :

  • username : نام کاربری شما در سایت خدمات دهنده
  • password : رمز عبور شما در سایت خدمات دهنده
  • from : شماره ای که می خواید اس ام اس با اون ارسال بشه
  • to : شماره گیرنده اس ام اس
  • message : متن پیام

این متغیرهاییه که باید به وب سرویس ارسال بشه . توی توضیحاتی که سایت ارائه دهنده ، از وب سرویسش بهتون می ده حتمن گفته شده که این متغیرها باید با چه متدی ارسال بشن ، در اینجا فرض می کنیم این متغیرها با متد ssendsms باید ارسال بشن . ولی از اون طرف هم متغیرهایی از جانب وب سرویس ارسال می شه و در این مثال فرض می کنیم بعد از ارسال متغیرهای بالا متغیرهای پایین با متد smsresult به سایت ما ارسال می شه  :

  • success : در صورتی که پیام با موفقیت ارسال شود
  • erroruser : مشکلی در نام کاربری وجود دارد
  • errorpass : مشکلی در رمز عبور وجود دارد
  • errorfrom : مشکلی در شماره فرستنده وجود دارد
  • errorto : مشکلی در شماره گیرنده وجود دارد
  • errormessage : مشکلی در متن پیام وجود دارد

خب حالا همه ی اطلاعات استفاده از این وب سرویس فرضی رو داریم و باید برنامش رو بنویسم . دستورات زیر رو برای این سرویس می نویسیم :

<?php

$sms_username = ‘jentelman’;
$sms_password = ‘123456’;
$sms_from = ‘3000123’;
$to = ‘09121111111’;
$message = ‘پیام تستی’;
$client = new SoapClient(“http://sms.com/webservice.asmx?WSDL”);
$params = array(
‘username’ => $sms_username,
‘password’ => $sms_password,
‘from’ => $sms_from,
‘to’ => $to,
‘message’ => $message
);
$results = $client->sendsms( $params );
if ($results->smsresult == ‘success’ )
echo ‘ارسال پیام با موفقیت انجام شد’;
else
echo $results->smsresult;

?>

۵ خط اول کد بالا تعریف کردن متغیرهاست . من گفتم که نام کاربریم توی سایت ارائه دهنده jentelman و پسوردم ۱۲۳۴۵۶ هست . همچنین گفتم که پیامی که می خوام ارسال کنم با عنوان “پیام تستی” هست و از شماره ی ۳۰۰۰۱۲۳ به شماره ی ۰۹۱۲۱۱۱۱۱۱۱ قصد ارسال دارم .

برنامه از خط ششم به بعدش مراحل اتصال به وب سرویس رو می گذرونه . توی خط ششم آدرس وب سرویس رو دادم و گفتم می خوام از این وب سرویس استفاده کنم . متغیر $client رو هم به وب سرویس دادم که ازش برای ارتباط استفاده کنم .

توی خط هفتم یک آرایه با عنوان $params باز کردم و تمام متغیرهایی که باید ارسال بشن رو بهش دادم و همونطور که می بینید اسم متغیرهایی که وب سرویس قبول می کنه رو آوردم و مقابلش هم متغیرهایی که از خط اول تا پنجم تعریف کردم رو قرار دادم . الان این متغیرها در قالب یک آرایه آماده ان که به وب سرویس ارسال بشن .

بعد از تموم شدن آرایه و مقدار دهی ، توی خط ۱۴ اومدم و متغیری به اسم $results تعریف کردم و مقابلش نوشتم که اطلاعات آرایه با متد sendsms به وب سرویس ارسال بشه . حالا همه ی متغیرها با متدی که وب سرویس قبول می کنه ارسال شدن .

از اون طرف وب سرویس هم کار خودش رو انجام می ده و پیامی رو به متغیر smsresult که توضیح دادم می فرسته . توی خط ۱۵ گفتم که اگر اون پیام عبارت success بود عنوان “ارسال پیام با موفقیت انجام شد” رو نمایش بده و بعد توی خط ۱۷ گفتم اگر اینچنین نبود عنوان پیام دریافتی رو نمایش بده تا بفهمیم مشکل کجاست . البته توی مثال دیدید که متغیرهایی که وبسرویس ارسال می کنه رو آوردم ، می تونیم برای هر کدومشون مثل success یک پیام خطا تعریف کنیم . یعنی اینکه بگیم مثلا اگر erroruser توسط وبسرویس دریافت شد عبارت “خطا در نام کاربری” نمایش داده بشه که من توی کد بالا برای کوتاه شدن کد فقط برای success یک پیام تعریف کردم و بقیه ی مقادیر دریافتی رو گفتم که مستقیم نشون بده .

به اشتراک بگذارید
استفاده از فونت های فارسی در طراحی سایت

شاید بشه گفت فونت ۹۰% وبلاگ ها و وبسایت های فارسی tahoma هست . فونت استانداردی که برای زبان فارسی توی وب تعریف شده و توی تمامی کامپیوترها به صورت پیشفرض قرار داره . اگر یک وبلاگ نویس توی وبلاگش از فونت مثلن B Titr استفاده کنه ممکنه خودش و خیلی های دیگه اون فونت رو درست ببینن ، ولی اگه کسی این فونت رو نداشته باشه اون متن رو با فونت Arial می بینه و وبلاگ حالت اصلی خودش رو برای اون فرد از دست می ده . اما چاره ی کار کجاست و چجوری می شه از فونت های مختلف توی وبسایت ها و وبلاگ ها استفاده کرد ؟

با اومدن css3 این مشکل نه تنها برای فارسی نویس ها بلکه برای همه ی زبون هایی که مشکل فونت داشتن برطرف شده و شما می تونید با چند خط کد نویسی با فونت مورد نظرتون توی وبلاگ یا وبسایتتون بنویسید .

اول از همه باید فونت مورد نظرتونو در ۴ فرمت ttf ، eot ، svg ، woof تهیه کنید . فونتی که شما روی ویندوزتون دارید فرمتش ttf هست و برای تبدیلش به فرمت های دیگه می تونید از سرویس های آنلاین استفاده کنید . سایت های زیادی برای این کار وجود داره ولی من سایت www.onlinefontconverter.com رو بهتون پیشنهاد می دم که خیلی خوبه .

وقتی عضو سایت شدید و وارد اکانتتان شدید ، از منوی بالای سایت روی My fonts کلیک کنید . در اینجا می تونید فونت مورد نظرتون رو به فرمت های مختلف تبدیل کنید . فرض کنید من می خوام توی سایتم از فونت B Koodak استفاده کنم ، اگر فونت رو با فرمت ttf داشته باشم که هیچی ، اگر نداشته باشم و این فونت روی سیستمم موجود باشه ، توی درایو ویندوز می رم و از شاخه ی Windows\Fonts فونت B Koodak رو پیدا می کنم و اونو یه جای دیگه کپی می کنم .

حالا توی سایت روی گزینه ی  Select fonts کلیک کنید و فونت مورد نظرتونو باز کنید و صبر کنید تا آپلود بشه . بعد از آپلود شدن زیر اسم فونتتون مجموعه ای از فرمت ها وجود داره و همونجور که گفتم باید روی گزینه های eot ، svg ، woof کلیک کنید تا فونت به این فرمت ها تبدیل بشه . بعد از تبدیل ، ۳ فرمت ساخته شده رو دانلود کنید .

حالا مرحله ی اول که تبدیل فونت ها بود تموم شده و به سراغ CSS می ریم . اول ۴ تا فونت رو توی یک فولدر داخل سایتتون قرار بدید که نظم بیشتری داشته باشه . حالا فایل style قالب سایتتون و یا کد CSS اصلی سایتتون رو باز کنید و در ابتدای همه ی کد ها کد زیر رو بنویسید :

@font-face {
font-family: ‘b koodak’;
src: url(‘Fonts/BKoodak.eot’);
src: url(‘Fonts/BKoodak.eot?#iefix’)
format(’embedded-opentype’),
url(‘Fonts/BKoodak.woff’) format(‘woff’),
url(‘Fonts/BKoodak.ttf’) format(‘truetype’),
url(‘Fonts/BKoodak.svg#BKoodakRegular’) format(‘svg’);
font-weight: normal;
font-style: normal;
}

کد بالا رو من برای فونت B Koodak نوشتم و همونجور که توی خط دوم هم می بینید گفتم اسم این فونت b koodak هست . این یعنی اینکه هر جایی که توی سایتم فونت B Koodak رو نیاز داشته باشم ، سایت فونت رو از این قسمت شناسایی می کنه و نشون می ده .

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

خب کار تمومه ! حالا می تونید از هر فونتی توی سایت یا وبلاگتون استفاده کنید .

پ.ن : اینم چند تا سایت که از این روش فونت سایتشون رو عوض کردن :

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

صفحه ی دکستاپ منو هر وقت هر کی می بینه تعجب می کنه و می گه : چقدر شلوغه ! البته فکر کنم دکستاپ بیشتر کسایی که با کامپیوتر چند تا کار رو همزمان انجام می دن و می خوان همه چی دم دستشون باشه همینجوریه ! این شلوغی بعضی وقتا برای خودمم دردسرساز می شه و دنبال یه آیکون یا برنامه ی خاص باید کلی بگردم و معمولن هم با فشار دادن حرف اول کلمه ی اون شورتکات ( Shortcat ) پیداش می کنم و مستقیم نمی تونم ببینم که کجاست !

اما چند روزه که با Fences آشنا شدم و اینقدر به کارم اومد که گفتم به شما هم معرفی کنم . کار این برنامه دسته بندی آیکون ها بر اساس فرمتشونه و یه دکستاپ جم و جور براتون درست می کنه . با این برنامه می تونید فایل ها و فولدرای دکستاپتون رو دسته بندی کنید و هر دسته رو توی هر جایی از دکستاپتون بزارین . البته خوبی این برنامه اینه که جایگزین دکستاپ نمی شه ! فقط یه سری پنجره به دکستاپتون اضافه می کنه و بهتون اجازه می ده توی هر پنجره طبق دسته بندی ای که تعریف کردین آیکوناتونو اضافه کنید . دکستاپتونم سر جاشه و می تونید آیکون های مهم ترو توی همون دکستاپ بزارین و به اون پنجره ها منتقل نکنید .

خیلی برنامه ی خوبیه و به درد کسایی که دکستاپشون حسابی شلوغه می خوره و می تونن یه دکستاپ جم و جور داشته باشن . این برنامه رو می تونید از اینجا دانلود کنید .

پ.ن : اول از همه ببخشید که یه مدت به خاطر امتحانام نرسیدم اینجا رو بروز کنم و دوم هم اینکه از دوستم سعید ( که نخواست فامیلیش فاش شه ! ) تشکر می کنم که این برنامه رو بهم معرفی کرد و منم به شما معرفی کردم ! در ضمن یه سری خبرای خوب هم دارم که همشو به زودی می گم و می بینید !

به اشتراک بگذارید
کپی کردن با کمک یک فایل اجرایی

ممکنه شما یک برنامه ی اجرایی از اینترنت دریافت کنید که در نگاه اول یه برنامه یا بازی ساده و کم حجم باشه ، ولی پشت پرده ، برنامه ممکنه فایل هایی رو توی جاهای مختلف سیستمتون بریزه و بدون اینکه بدونید سیستمتون آلوده بشه ! برای همینه که بعضی از Keygen ها و Patch ها توسط آنتی ویروس ها پاک می شن و یا نمی زارن که اجرا بشه ! چون این برنامه ها یک نسخه ی کرک شده از نرم افزار مورد نظرتون رو روی سیستمتون نصب می کنن که آنتی ویروس ها با احتمال اینکه اون برنامه ی کپی شده یک فایل آلودست اجازه اجراشونو نمی دن و بهتون اخطار می دن .  با هر زبون برنامه نویسی ای می شه یه برنامه ای نوشت که این کارو کنه و یه فایل رو تو یه جای خاصی از سیستم ذخیره کنه ، من قصد دارم روش کارش با نرم افزار Multimedia Builder رو بگم . Multimedia Builder البته چند سالیه بروز نشده و آخرین نسخش مال سال ۲۰۰۷ هست ، ولی هنوز هم خیلی ها توی ساخت برنامه های چند رسانه ای و بازی های ساده ازش استفاده می کنن .

اگر می خواهید کاری کنید که خروجی Multimedia Builder یک فایل رو در یک جای خاصی کپی کنه اول پروژتون رو بسازید . یعنی یک بازی یا یک برنامه ی ساده با Multimedia Builder بنویسید که کاربر به پشت پردش پی نبره و وقتی بازش می کنه فکر کنه یه برنامه ی سادست ! حتا شما می تونید یک صفحه ، شبیه صفحه ی Keygen بسازید و پشت پرده از برنامه بخواید فایل کرک شده ی خاصی رو جای خاصی توی سیستم بریزه .

وقتی پروژتون تموم شد از نوار بالای برنامه روی Project کلیک کنید و Embedded Files رو انتخاب کنید . حالا توی پنجره ای که باز می شه روی Add کلیک کنید و فایل مورد نظرتونو که می خواید توی سیستم طرف مقابل نصب بشه باز کنید . بعد از باز کردن خواهید دید که فایل توی لیست پنجره اضافه می شه ، با کلیک روی OK پنجره رو ببندید . ( در اینجا مثلن من فایل administr.exe رو به پروژم اضافه کردم )

حالا از نوار ابزار سمت چپ روی Script کلیک کنید و یک اسکریپت بسازید

روی اسکریپت دو بار کلیک کنید تا صفحه ی نوشتن کد باز بشه و کد زیر رو توش بنویسید :

SysCommand(“CopyFile”,”<Embedded>\administr.exe,c:\windows\administr.exe”)

توی کد بالا گفتیم فایل administr.exe که توی مرحله ی قبل به Embedded Files اضافه کردیم رو توی درایو C و فولدر windows کپی کنه . البته ممکنه شما نخواید اونجا کپی شه که باید آدرس مکان مورد نظرتون رو وارد کنید . ممکنه براتون سوال پیش بیاد که می خواید این فایل رو توی درایور ویندوز حتمن نصب کنید و ممکنه ویندوز کاربر مورد نظرتون توی درایو E باشه و شما نمی دونید و اگه آدرس درایو C رو بدید فایل توی مکان مورد نظر نصب نمی شه ! برای این مشکل هم توی مالتی مدیا بلدر یک سری تگ تعریف شده که معرفیشون می کنم :

<Windows> : این تگ آدرس فولدر windows رو بهتون می ده

<System> : این تگ آدرس فولدر System32 رو بهتون می ده

<Temp> : این تگ هم آدرس فولدر temp رو می ده

<SrcDir> : این تگ آدرس جایی رو که فایلتون اونجا هست می ده ، مثلن اگه کسی فایلتونو بعد از دریافت توی درایور E و فولدر file ریخته باشه آدرس اونجا رو می ده

<SrcDrive> : این تگ هم کار بالا رو انجام می ده ولی آدرس جای دقیق رو نمی ده و فقط آدرس درایور رو می ده .

برای استفاده از این تگ ها هم مثل تگ <Embedded> باید بعد از گذاشتن \ آدرس رو وارد کنید . مثلن اگه می خواید توی فولدر ویندوز و فولدر Data ذخیره بشه کافیه این آدرس رو بدید :

<Windows>\Data\administr.exe

اگر فرض کنیم ویندوز توی درایو C نصب شده باشه کد بالا معادل اینه :

C:\windows\Data\administr.exe

حالا که اسکریپت رو ساختید باید به برنامه بگید که در صورت باز شدن اسکریپت اجرا بشه و فایل رو کپی کنه . برای این کار از پایین صفحه روی page دو بار کلیک کنید ( همون پیجی که این اسکریپت روشه ) بعد توی پنجره ای که میاد از قسمت Script روی آیکون دفترچه کلیک کنید و کد زیر رو بنویسید :

RunScript(“Script”)

کد بالا می گه که در صورت اجرا شدن برنامه ، کد داخل Script اجرا بشه که همون دستور کپی کردنه ! البته توجه کنید که من کد بالا رو توی اسکریپتی به اسم Script ریختم و برای همین کد بالا رو نوشتنم ، اگه اسم اسکریپت شما فرق داشت اون اسم رو وارد کنید . مثلن اگه کد رو توی اسکریپتی به اسم copy ریختید ، کد اینجوری می شه :

RunScript(“copy”)

شما می تونید همین دستورو توی یه دکمه تعریف کنید . با این کار دستور کپی کردن پس از فشار دادن دکمه اجرا می شه .

حالا کار تمومه و وقتی برنامه رو اجرا می کنید خواهید دید فایل مورد نظرتون توی مکان مورد نظرتون کپی شده !

البته با زبون های برنامه نویسی دیگه اگه خواستین این کارو کنین طبیعتن روش کار فرق داره ، ولی من Multimedia Builder رو انتخاب کردم چون باهاش می شه پروژه های چند رسانه ای ساخت و توی این جور پروژه ها نیاز می شه فایل های مختلفی جاهای مختلفی نصب بشه تا برنامه اجرا شه .

به اشتراک بگذارید
مطالب قدیمی تر
ایمیلتون رو توی کادر زیر وارد کنید و عضو خبرنامه ی جنتلمن بشید تا همیشه آخرین مطالب رو توی ایمیلتون بخونید :
اگه نمی خواید از طریق ایمیل جنتلمن رو دنبال کنید راه های دیگه ای هم برای اشتراک هست !
آرشیو ماهانه
برچسب ها
لینک های خوشمزه
  • برو بچه ها بلاگر
  • دوستای مجازی
    تبلیغ
  • مطالبی که می نویسم آزاد هستند و انعکاس آن از هر طریقی مشکلی ندارد!
    Jentelman.com . Made With In IRAN . 2010- 2017