15-мисол. Visual Basic функциясини C# дастуридан чақириш C# тилида ёзилган дастурда бошқа дастурлаш тили (Visual Basic)да ёзилган функциялардан фойдаланиш усулларини кўрсатамиз. Қуйидаги масалани ҳал қилишимиз лозим. Фойдаланувчи томонидан бирор сонни киритиш талаб қилинади. Киритилган қиймат сонга мослиги текширилади. Сўнгра ушбу қиймат бошқа бир қиймат билан қўшилиб экранга чиқарилади. Дастурни консолли шаклда амалга оширамиз. Аммо Visual Basic 6.0 даги InputBox, MsgBox ва IsNumeric функцияларидан фойдаланамиз.
Ушбу масалани ҳал қилиш учун VS 2012 муҳитини ишга тушириб, янги Consol Application лойиҳасини ҳосил қилиб, унга VBReferences номини берамиз. Cўнгра лойиҳамизга Microsoft.VisualBasic.dll узатмани қўшиб қўйишимиз лозим. Бунинг учун аввало ProjectAdd References командасини беришимиз, кейин FrameWork устунида жойлашган Miscrosoft.VisualBasic ни танлашимиз зарур.
Сўнгра қуйидаги 2.4 листингни шакллантирамиз:
2.4 листинг. Visual Basic функциясини чақирувчи дастурий код
// Ушбу Visual C# консол дастурида Visual Basic функциядан фойдаланиш келтирилган.
// Дастурда фойдаланувчи иккита сонни киритади. Сунгра ушбу кийматлар текширилиб
// уларнинг йигиндиси экранга чикарилади. Бунда Visual Basic даги учта функциядан
// флйдаланилган: InputBox, IsNumeric ва MsgBox.
using System;
// Microsoft.VisualBasic.dll библиотекасига узатмани шакллантирамиз:
// Project | Add Reference | Framework | Microsoft.VisualBasic
namespace RefVisualBasic
{
class Program
{
static void Main(string[] args)
{
String Satr;
// фойдаланучи томонидан тугри киймат киритулгунча чексиз циклни ташкил киламиз:
for (; ; )
{
Satr = Microsoft.VisualBasic.Interaction.
InputBox("Биринчи сонни киритинг:", "Иккита сон йигиндиси аникланади");
if (Microsoft.VisualBasic.Information.
IsNumeric(Satr) == true) break;
}
// - Сатр шаклидаги сон типини узгартириш:
Single X = Single.Parse(Satr);
// Иккинчи сон:
for (; ; )
{
Satr = Microsoft.VisualBasic.Interaction.
InputBox("Икккинчи сонни киритинг:", "Иккита сон йигиндиси аникланади");
if (Microsoft.VisualBasic.Information.
IsNumeric(Satr) == true) break;
}
Single Y = Single.Parse(Satr);
Single Z = X + Y;
Satr = string.Format("Йигинди = {0} + {1} = {2}", X, Y, Z);
// Натижани экранга чикариш:
Microsoft.VisualBasic.Interaction.MsgBox(Satr);
}
}
}
Ушбу дастурда биринчи сонни киритишда чексиз циклдан фойдаланилган: for (; ; ) {}