Harrix Блог

  • Списки статей
    • Все статьи
    • IT
    • Qt
    • C++
    • Сложение двух чисел
    • Web программированиe
    • FAQ
    • Latex
    • Установка программ
    • Мифы
    • Видео
    • Про фото
  • Проекты
  • Harrix.org
  • RSS
  • Контакты

Создание своего класса в CLR приложении в Visual Studio 2015 на C++/CLI

Класс и форма.

11.09.2016 Leave a Comment 8 402 просмотров

Учебный пример, для демонстрации создания своего класса, который бы взаимодействовал с формой приложения CLR приложении в Visual Studio 2015 на C++/CLI.

Содержание

  • Постановка задачи
  • Болванка приложения
  • Интерфейс программы
  • Создание своего класса
  • Использование класса
  • Запуск программы

Постановка задачи

Надо написать класс, который внутри себя имеет только одну строковую переменную. Класс получает из кнопки имя файла, а возвращает расширение файла в виде строки.

Болванка приложения

Итак, создайте пустое приложение CLR с формой. Это можно сделать по статье дойдя в ней до пункта «Интерфейс приложения».

Интерфейс программы

Перетащите на форму кнопку и текстовое поле.

2016-09-11_165130

А также диалоговое окно открытия файла:

2016-09-11_165217

Создание своего класса

Правый клик по проекту, и создаем новый элемент:

2016-09-11_165348

Создаем ExampleClass.h:

2016-09-11_165514

И в новом файле добавляем такой код:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
using namespace System;
using namespace System::IO;
using namespace System::Xml;
 
ref class ExampleClass {
public:
ExampleClass();
ExampleClass(String^ fileName);
void setFileName(String^ fileName);
String^ getFileExtension();
private:
String^ fileName;
};
ExampleClass::ExampleClass() {
fileName = "1.txt";
}
ExampleClass::ExampleClass(String^ fileName) {
this->fileName = fileName;
}
void ExampleClass::setFileName(String^ fileName) {
this->fileName = fileName;
}
String^ ExampleClass::getFileExtension() {
int i = fileName->LastIndexOf(".");
String^ Ext = fileName->Substring(i);
return Ext;
}

2016-09-11_165628

Обратите внимание на тот факт, что нам перед словом class нужно еще написать ref, чтобы мы могли использовать тип String^.

Зачем я подключил System::IO, System::Xml. Просто данная статья будет использоваться теми, кому эти два пространства имен будут нужны. Но вы можете их удалить.

Использование класса

Перейдем в файл MyForm.h.

2016-09-11_165849

Двойной клик по кнопке.

2016-09-11_170052

И там пишем код:

1
2
3
4
5
6
7
8
if (openFileDialog1->ShowDialog() == System::Windows::Forms::DialogResult::OK)
{
String^ fileName = openFileDialog1->FileName;
ExampleClass a(fileName);
 
String^ Ext = a.getFileExtension();
textBox1->Text = Ext;
}

2016-09-11_170134

Не забываем вверху файла MyForm.h подключить наш файл класса:

1
#include "ExampleClass.h"

2016-09-11_170311

Запуск программы

Запускаем программу.

2016-09-11_170341

Нажимаем на кнопку.

2016-09-11_170441

Выбираем файл.

2016-09-11_170524

В текстовом поле видите расширение файла.

2016-09-11_170451


Статьи по теме:

  1. Сложение двух чисел в Visual Studio 2015 на С++ (CLR приложение)
  2. Сложение двух чисел в Visual Studio 2015 на C# (консольное приложение)
  3. Сложение двух чисел в Visual Studio 2015 на С#
  4. Сложение двух чисел из файла в Visual Studio 2015 на C++ (консольное Win32 приложение)

IT C++, Visual Studio

© 2014 Harrix