در گذشته قبل از سیستم عامل ویندوز، از سیستم عاملی با نام Dos استفاده می شد. قدر سیستم عامل های گرافیکی و زیبای امروزی را بدانید چون سیستم عامل داس رابط کاربری گرافیکی نداشت و عموما با رنگ های سیاه و سفید یا آبی متنی شناخته می شود. در این سیستم عامل کارها را باید با نوشتن یک سری دستورات مشابه برنامه نویسی انجام می داد.
یعنی مثلا اگر می خواستید مثلا یک فایل را تغییر نام دهید باید از دستور زیر استفاده می کردید:
>Ren c:/mydir/old.txt new.txt
حالا بد نیست بدانید که با این که نسل این گونه سیستم عامل ها تقریبا منقرض شده، ولی خون قسمت کوچکی از سیستم عامل داس در ویندوز با نام Command Prompt جریان دارد. شاید هنگام نصب نرم افزار یا بازی ها با پنجره ی سیاه این نرم افزار برخورد کرده باشید. به هر حال، حالا ادامه ی آموزش…
حالا مثلا می خواهیم یک فایل متنی را در برنامه ای با نام Edit.exe اجرا کنیم. پس دستور زیر را می نویسیم.
>Edit.exe myTextFile.txt
دستور بالا فایل myTextFile.txt را در برنامه ی Edit.exe اجرا می کند. Edit.exe را نوشتیم چون باید اجرا شود. نکته ی خاصی ندارد. اما به متنی که در ادامه ی نام فایل اجرایی نرم افزار نوشته شده است، فرمان (Command) می گویند.
اما یک سوال عجیب؟!
فرض کنید شما برنامه ی Edit.exe را برنامه نویسی کردید. برنامه ی شما از کجا باید بفهمد خط فرمان داس (یا ویندوز) چه فرمانی به نرم افزار ما داده است.
در این قسمت روش دریافت فرمان ویندوز در برنامه نویسی های مختلف را بررسی می کنیم.
برنامه نویسی سی پلاس پلاس و سی شارپ و جاوا:
حتما به خاطر دارید در ویژوال استودیو وقتی تابع main را مشاهده می کردید یک آرگومان داشت که از آن صرف نظر می کردیم.(نوشتن آن اختیاری بود.)
وقتی برنامه ی شما از طریق خط فرمان اجرا می شود، فرمان مربوطه به آرگومان اختیاری تابع main برنامه ی شما ارسال می شود و شما به راحتی می توانید با بررسی مقادیر ذخیره شده در این متغیر فرمان را دریافت کنید.
این متغیر به صورت آرایه تعریف شده است تا اگر لازم بود از طریق خط فرمان چند دستور را به نرم افزار بفرستیم، فرمان ها جداگانه در اعضای مختلف آرایه ذخیره شوند.
مثلا در یک برنامه ی اجرایی تولید شده در جاوا می توانیم دو آرگومان ارسال کنیم تا در آرایه ی args ذخیره شوند:
>MyProgram.exe print a.txt
args[0]=”print”
args[1]=”a.txt”
برنامه نویسی ویژوال بیسیک:
در ویژوال بیسیک فرمان ویندوز در متغیری با نام Command به طور خودکار ذخیره می شود و فرمان های مختلف در آن با فاصله از یک دیگر جدا می شوند. مثلا:
>MyProgram.exe print a.txt
Command=”print a.txt”
نویسنده: سینا مرادی
منبع: سامینتک
سلام.
بسیار ممنون دوست عزیز توضیح جالبی بود راستی در سیشارپ از Environment.CommandLine و Environment.GetCommandLineArgs() هم میشه استفاده کرد.
سلام
خواهش میکنم، از توضیحات شما هم ممنونم