Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Компьютерная графика, мультимедиа и игры на Vis...doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
1.92 Mб
Скачать

Часть IV. Методология вычислений на основе интеграции Visual c# с другими платформами Глава 14. Использование в Visual c# программ из Excel

Листинг 14.1. Код функции для компонента Timer.

//Объявляем булеву переменную myVisible со значением false:

bool myVisible = false;

private void timer1_Tick(object sender, EventArgs e)

{

//Программируем анимацию:

if (myVisible == false)

{

//Делаем невидимым элемент управления:

this.button1.Visible = False;

//Изменяем значение myVisible на противоположное:

myVisible = true;

}

else

{

//Делаем видимым элемент управления:

this.button1.Visible = True;

//Изменяем значение myVisible на противоположное:

myVisible = false;

}

}

Задавая в панели Properties с заголовком timer1 различные значения свойству Interval (а выше мы задали 1000 миллисекунд или 1 секунду), можно изменять частоту исчезновения элемента управления, например, кнопки. Методика приостановки и возобновления анимации (с примерами) дана выше.

Теперь приступаем к разработке разделов, согласно оглавлению системы, для решения конкретных расчетных задач на следующих формах (и со следующими эффектами анимации).

Глава 15. Вычисление сложных математических выражений

Листинг 15.1. Метод для выполнения вычислений (при помощи Excel).

private void button1_Click(object sender, EventArgs e)

{

//Объявляем объектную переменную objectExcel:

Excel.Application objectExcel =

new Excel.ApplicationClass();

//Объявляем общие объектные переменные:

Object Formula, Result;

//Считываем формулу из окна textBox1

//при помощи свойства Text:

Formula = textBox1.Text;

//Объектная переменная objectExcel

//вычисляет нашу формулу Formula

//при помощи метода “_Evaluate”:

Result = objectExcel._Evaluate(Formula);

//Показываем вычисленное значение Result

//в окне textBox2:

textBox2.Text = Result.ToString();

//Удаляем объектную переменную objExcel

//и освобождаем выделенную под нее память:

objectExcel.Quit();

}

Листинг 15.2. Метод для выполнения анимации.

//Объявляем булеву переменную myVisible со значением false:

bool myVisible = false;

private void timer1_Tick(object sender, EventArgs e)

{

//Программируем анимацию:

if (myVisible == false)

{

//Делаем невидимым элемент управления:

this.button1.Hide();

//Изменяем значение myVisible на противоположное:

myVisible = true;

}

else

{

//Делаем видимым элемент управления:

this.button1.Show();

//Изменяем значение myVisible на противоположное:

myVisible = false;

}

}

Листинг 15.3. Метод для создания печатаемых данных.

private void printDocument1_PrintPage(object sender,

System.Drawing.Printing.PrintPageEventArgs e)

{

//При помощи метода DrawString печатаем исходную формулу:

string msg;

msg = "Formula: " + textBox1.Text + "";

e.Graphics.DrawString(msg, this.Font, Brushes.Black,

200, 100);

//При помощи метода DrawString печатаем результат расчета:

msg = " = " + textBox2.Text + "";

e.Graphics.DrawString(msg, this.Font, Brushes.Black,

500, 100);

}

Теперь дважды щелкаем кнопку Print (рис. 15.2). Открывается файл Form3.cs с шаблоном, в который записываем код для вызова печатающего метода printDocument1.Print из приведенного выше параграфа “Методика печати изображения на принтере”.

Мы закончили разработку калькулятора (с использованием Excel и эффекта анимации). Отметим, что мы не только подключили Excel к нашему приложению, но и при помощи огромных возможностей платформы Visual Studio 2005 (по визуальному программированию) упростили использование готовой программы Excel, а также расширили возможности калькулятора, созданного в комплексе Visual C# (по сравнению с возможностями Excel).

Другие варианты вычисления сложных математических выражений, численное решение уравнений, построение графиков функций, расчет экономических показателей, проверка орфографии текста при помощи Excel можно разработать по аналогии с нашей предыдущей книгой [8].

Теперь приступаем к рассмотрению интеграции Visual C# с другими платформами (с использованием других эффектов анимации).