TOC

This article is currently in the process of being translated into Uzbek (~97% done).

A WPF application:

Command-line parameters in WPF

Buyruqlar qatori opsiyalari - bu qandaydir tarzda harakatini o'zgartirish uchun ishga tushirmoqchi bo'lgan ilovaga bir qator variantlarni o'tkazishingiz mumkin bo'lgan usul. Oddiy misol - faylni muharrirda ochish kabi ma'lum bir faylni ko'rsatuvchi dasturni ishga tushirish. Siz o'rnatilgan Windows muharriri Notepadni quyidagi tarzda ishga tushirishga urinib ko'rishingiz mumkin (Ishga tushirish menyusidan "Ishga tushirish" ni tanlang yoki WindowsKey-R kombinatsiyasini bosing):

notepad.exe c:\Windows\win.ini

Ushbu buyruq win.ini faylini Notepad ochadi (agar u boshqa joyda joylashgan bo'lsa, win.ini yo'lini o'zgartirishingiz kerak). Notepad unga berilgan parametrlarni qayta ishlaydi va ulardan foydalanadi. Sizning dasturingiz ham buni qila oladi!

Buyruqlar qatori parametrlari biz App.xaml maqolasidagi kod misolida obuna bo'lgan Startup hodisasi orqali WPF ilovangizga uzatiladi. Ushbu misolda biz xuddi shunday qilamiz va keyin usul argumentlari orqali o'tgan qiymatdan foydalanamiz. Birinchidan, App.xaml fayli:

<Application x:Class="WpfTutorialSamples.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
			 Startup="Application_Startup">
    <Application.Resources></Application.Resources>
</Application>

Startuphodisasiga obuna bo'lish uchun biz StartupUrixususiyatini o'zgartiramiz . Implementatsiyani App.xaml.cs ga qo'shamiz:

using System;
using System.Collections.Generic;
using System.Windows;

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

		private void Application_Startup(object sender, StartupEventArgs e)
		{
			MainWindow wnd = new MainWindow();
			if(e.Args.Length == 1)
				MessageBox.Show("Now opening file: \n\n" + e.Args[0]);
			wnd.Show();
		}
	}
}

Usul ichida biz StartupEventArgsdan foydalanamiz . Ushbu parametr e deb nomlangan usulimizga o'tkaziladi. U qatorlar massivi bo'lgan Argsxususiyatini o'z ichiga oladi . Buyruqlar qatori opsiyalari bo'shliqlar bilan ajratiladi, bo'shliqlar ikki tirnoqli qatorlar ichida bo'lgan hollar bundan mustasno.

Buyruqlar qatori opsiyalarini sinab ko'rish

Yuqoridagi misolni ishlatsangiz, hech narsa bo'lmaydi, chunki biz hech qanday parametrni o'tkazmadik. Yaxshiyamki, Visual Studio buni tuzatishni osonlashtiradi. Asboblar oynasida Project(Loyiha) ni, keyin esa "[Project name] properties"(“[Loyiha nomi] xususiyatlari”) ni tanlang. Shundan so'ng,Debug( Nosozliklarni tuzatish) yorlig'iga o'ting va buyruq qatori parametrlari maydoniga kerakli parametrlarni kiriting. Bu shunday ko'rinishi kerak:

Dasturni ishga tushiring va u javob qaytarayotganiga ishonch hosil qiling.

Albatta, bu xabar foydasiz. Buning o'rniga, siz parametrni asosiy oynangiz konstruktoriga o'tkazishingiz yoki undagi ochiq fayl usulini chaqirishingiz mumkin, masalan:

using System;
using System.Collections.Generic;
using System.Windows;

namespace WpfTutorialSamples
{
	public partial class App : Application
	{

		private void Application_Startup(object sender, StartupEventArgs e)
		{
			MainWindow wnd = new MainWindow();
			// The OpenFile() method is just an example of what you could do with the
			// parameter. The method should be declared on your MainWindow class, where
			// you could use a range of methods to process the passed file path
			if(e.Args.Length == 1)
				wnd.OpenFile(e.Args[0]);
			wnd.Show();
		}
	}
}

Buyruqlar qatori xususiyatlari

Bizning misolimizda biz bitta parametr bizga berilganligini tekshiramiz. Agar shunday bo'lsa, biz uni fayl nomi sifatida ishlatamiz. Aslida, siz bir nechta parametrlarni to'plashingiz va hatto ularning bir nechta variantlarini takrorlashingiz kerak bo'lishi mumkin, masalan, individual dastur sozlamalarini yoqish / o'chirish. Buni amalga oshirish uchun siz barcha parametrlar bo'ylab aylanishingiz kerak, qayta ishlanishi kerak bo'lgan ma'lumotlarni to'plashingiz kerak, ammo bu joriy maqola doirasidan tashqarida.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!