Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / MS Visual Studio 2010 - получение строки из TextBox и запись ее в текстовый файл - Visual / 6 сообщений из 6, страница 1 из 1
13.11.2017, 14:55
    #39552266
Sergey1812
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Visual Studio 2010 - получение строки из TextBox и запись ее в текстовый файл - Visual
Здравствуйте!

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

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

Код Form1.h:
Код: plaintext
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.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
#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:
Код: plaintext
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.
28.
29.
// 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. Но как его изменить, чтобы передавать текстовую строку - имя пользователя (кириллические и латинские символы)?
Заранее благодарю за помощь.

Модератор: Тема перенесена из форума "C++".
...
Рейтинг: 0 / 0
13.11.2017, 16:16
    #39552343
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Visual Studio 2010 - получение строки из TextBox и запись ее в текстовый файл - Visual
ФеерЫчно!

Афтар сделал всё, чтобы записать именно INT, а теперь спрашивает, а как же ему записать СТРОКУ?
Да так же:

https://msdn.microsoft.com/ru-ru/library/7ack4zyt(v=vs.110).aspx
...
Рейтинг: 0 / 0
13.11.2017, 17:15
    #39552415
Sergey1812
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Visual Studio 2010 - получение строки из TextBox и запись ее в текстовый файл - Visual
MasterZivФеерЫчно!

Афтар сделал всё, чтобы записать именно INT, а теперь спрашивает, а как же ему записать СТРОКУ?
Да так же:

https://msdn.microsoft.com/ru-ru/library/7ack4zyt(v=vs.110).aspx

Так же не получается. C++/CLI не позволяет объявить глобальную переменную String^.
...
Рейтинг: 0 / 0
13.11.2017, 17:29
    #39552423
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Visual Studio 2010 - получение строки из TextBox и запись ее в текстовый файл - Visual
Код: c#
1.
userName = Convert::ToInt16(this->textBox1->Text);


Нафига название файла переводить в int?

Но даже если так, то

Код: c#
1.
sw->WriteLine(userName.ToString());
...
Рейтинг: 0 / 0
13.11.2017, 17:30
    #39552426
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Visual Studio 2010 - получение строки из TextBox и запись ее в текстовый файл - Visual
Cat2
Код: c#
1.
userName = Convert::ToInt16(this->textBox1->Text);



Нафига название файла переводить в int?

Но даже если так, то

Код: c#
1.
sw->WriteLine(userName.ToString());


Чушь написал, извините. Невнимательно читал условие
...
Рейтинг: 0 / 0
29.11.2017, 22:37
    #39561636
.NET
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
MS Visual Studio 2010 - получение строки из TextBox и запись ее в текстовый файл - Visual
Sergey1812MasterZivФеерЫчно!

Афтар сделал всё, чтобы записать именно INT, а теперь спрашивает, а как же ему записать СТРОКУ?
Да так же:

https://msdn.microsoft.com/ru-ru/library/7ack4zyt(v=vs.110).aspx

Так же не получается. C++/CLI не позволяет объявить глобальную переменную String^.
Объяви переменную userName в форме.
Тогда main будет примерно такой наверное.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
int main(array<System::String ^> ^args)
{
	// Включение визуальных эффектов Windows XP до создания каких-либо элементов управления
	Application::EnableVisualStyles();
	Application::SetCompatibleTextRenderingDefault(false); 

	// Создание главного окна и его запуск
        Form^ _form = gcnew Form1();
	Application::Run(_form);
	
	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(_form.userName);
	sw->Close();
	
	return 0;
}


функцию не тестировал.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / MS Visual Studio 2010 - получение строки из TextBox и запись ее в текстовый файл - Visual / 6 сообщений из 6, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]