Пример – расчет рублевого эквивалента

курс доллара – вещественное число вводится в TextBox1

сумма в долларах – целое число вводится в TextBox2

При нажатии Button1 вычисляется сумма в рублях и выводится в Label1

В Label1:

Text = ””

AutoSize = False – чтобы установить фиксированный размер поля,

а не автоматическое изменение под количество символов

В TextField1:

Multiline = False - Ввод только 1 строки

В button1

Text = “Вычислить”

Обработка события:

Click = button1_click имя метода взять по умолчанию

Сгенерирована пустая функция обработки:

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)

{

}

копирование из лаб. 7

создать класс для вычислений:

проект-добавить класс (пустой, убрать управляемый)

#include "TestForm.h"

#include <stdio.h>

#include <string.h>

TestForm tf; // объект класса для вычислений

#pragma once

namespace WorkForm {

using namespace System;

using namespace System::ComponentModel;

using namespace System::Collections;

using namespace System::Windows::Forms;

using namespace System::Data;

using namespace System::Drawing;

using namespace Runtime::InteropServices; // для перевода строк - Маршализация

Текст задания вывода подсказки в label:

private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e)

{

label1->Text="введите курс и количество долларов";

}

Текст отклика на нажатие кнопки:

private: virtual System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)

{

String ^ s =gcnew String("");

s=textBox1->Text; // введенный текст в первое поле

char* chars =

(char*)(Marshal::StringToHGlobalAnsi(s)).ToPointer();

strcpy(tf.MyStr,chars); // запись во вспомогательный массив объекта tf

// класса TestForm

tf.sTB1=tf.MyStr; // строка для надписи textBox1

s=textBox2->Text;

chars = (char*)(Marshal::StringToHGlobalAnsi(s)).ToPointer();

strcpy(tf.MyStr,chars);

tf.sTB2=tf.MyStr; // строка для надписи textBox2

tf.Calculate(); // вычисление вызов метода

String ^ss= gcnew String(tf.MyStr);

label1->Text=ss; // вывод в label1 результата

Marshal::FreeHGlobal(IntPtr((void*)chars));

}:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: