Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2017, 14:52   #1
Sergey1812
Новичок
Джуниор
 
Регистрация: 13.11.2017
Сообщений: 1
По умолчанию MS Visual Studio 2010 - получение строки из TextBox и запись ее в текстовый файл - Visual C++

Здравствуйте!

Работаю в Microsoft Visual Studio 2010.
Создан проект Windows Forms - "TestProject". На форме Form1 имеется текстовое поле TextBox1.

Требуется присвоить переменной userName значение из TextBox1, а затем записать это значение в текстовый файл.

Код Form1.h:
Код:
#pragma once

extern int userName;

namespace TestProject {

	using namespace System;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;
	
	/// <summary>
	/// Сводка для Form1
	/// </summary>
	public ref class Form1 : public System::Windows::Forms::Form
	{
	public:
		Form1(void)
		{
			InitializeComponent();
			//
			//TODO: добавьте код конструктора
			//
		}

	protected:
		/// <summary>
		/// Освободить все используемые ресурсы.
		/// </summary>
		~Form1()
		{
			if (components)
			{
				delete components;
			}
		}

	private: System::Windows::Forms::TextBox^  textBox1;
	protected: 


	private:
		/// <summary>
		/// Требуется переменная конструктора.
		/// </summary>
		System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
		/// <summary>
		/// Обязательный метод для поддержки конструктора - не изменяйте
		/// содержимое данного метода при помощи редактора кода.
		/// </summary>
		void InitializeComponent(void)
		{
			this->textBox1 = (gcnew System::Windows::Forms::TextBox());
			this->SuspendLayout();
			// 
			// textBox1
			// 
			this->textBox1->Location = System::Drawing::Point(38, 117);
			this->textBox1->Name = L"textBox1";
			this->textBox1->Size = System::Drawing::Size(214, 20);
			this->textBox1->TabIndex = 1;
			this->textBox1->TextChanged += gcnew System::EventHandler(this, &Form1::textBox1_TextChanged);
			// 
			// Form1
			// 
			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
			this->ClientSize = System::Drawing::Size(284, 262);
			this->Controls->Add(this->textBox1);
			this->Name = L"Form1";
			this->Text = L"Form1";
			this->ResumeLayout(false);
			this->PerformLayout();

		}
#pragma endregion

	private: System::Void textBox1_TextChanged(System::Object^  sender, System::EventArgs^  e) {
				 userName = Convert::ToInt16(this->textBox1->Text);
			 }
	};
}
Код TestProject.cpp:
Код:
// TestProject.cpp: главный файл проекта.

#include "stdafx.h"
#include "Form1.h"

using namespace TestProject;
using namespace System::IO;

int userName;

//using namespace System::Runtime::InteropServices;
[STAThreadAttribute]
int main(array<System::String ^> ^args)
{
	// Включение визуальных эффектов Windows XP до создания каких-либо элементов управления
	Application::EnableVisualStyles();
	Application::SetCompatibleTextRenderingDefault(false); 

	// Создание главного окна и его запуск
	Application::Run(gcnew Form1());
	
	System::DateTime moment = DateTime::Now;
	String^ fileName = "target " + moment.Hour + "-" + moment.Minute + "-" + moment.Second + " " + moment.Day + "." + moment.Month + "." + moment.Year + ".txt";
	StreamWriter^ sw = gcnew StreamWriter(fileName);
	sw->WriteLine(userName);
	sw->Close();
	
	return 0;
}
Код выше работает с числами integer. Но как его изменить, чтобы передавать текстовую строку - имя пользователя (кириллические и латинские символы)?
Заранее благодарю за помощь.
Sergey1812 вне форума Ответить с цитированием
Старый 13.11.2017, 15:22   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

1. Это не С++, а С++ CLI
2. Если вам нужна строка, а не число - так просто уберите конвертацию в число.
p51x вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
(Visual studio 2010 C#) Сохранение информации в БД через textBox desplenni Помощь студентам 0 18.12.2013 13:33
Строки Microsoft Visual Studio 2010 goshanich Visual C++ 1 16.10.2013 21:18
C# Windows Forms(Visual Studio 2010), textBox настройка Artiomtb Помощь студентам 2 08.08.2012 08:18
visual studio 2010 express скомпилировать .cpp файл. the_deer_one Visual C++ 6 25.08.2010 13:43
Visual Studio - TextBox werser Помощь студентам 5 09.03.2010 11:57