0

Hi there,

I am currently attempting to enhance an old program to use Windows Forms in C++. From what Ive read it would be preferable to use Visual Basic or C#; however in its current state, combined with my lack of experience in C#/VB this would be a real struggle to attempt at this stage.

Hopefully by outlining an example it will be possible to convey my current issue.

Essentially I have opened a string stream and passed its contents into a std::string. Originally this was to be output in the console screen. By implementing Windows forms in my programme I now wish to create a button that when clicked opens the saveFileDialog allowing me to save this string as a text file.

This is where I curently am at:

//string.h
#include <iostream>
#include <sstream>

class test
{
public:
	std::string write();
};

//string.cpp
#include "stdafx.h"
#include "string.h"

std::string test::write()
{
	std::ostringstream output;
	output << "HELLO" << std::endl;
	output << "HELLO AGAIN" << std::endl;
	std::string s2 = output.str();
	return s2;
}

//Form1.h
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e){
			 test a;
			 SaveFileDialog ^ saveFileDialog1 = gcnew SaveFileDialog();
			 saveFileDialog->Filter = "Text file (*.txt)|*.txt";
			 saveFileDialog->Title = "Save a text file";

			 //CODE REQUIRED TO SAVE s2 AS .TXT FILE

			 saveFileDialog1->ShowDialog();
		 }

I hope it can be seen that I have a seperate string.ccp and corresponding header file to define the string contents which is a requirement of my programme.

Unless what I have done is flawed in some way I think all I need is a point in the direction as to what code to place in Form1.h as there is very little information around the internet for this sort of thing.

One piece that I did find used fsteam instead of sstrem though im not sure if this would make a significant difference?

Thank you very much in advance for looking at this, your time is much appreciated.

Andy

2
Contributors
1
Reply
3
Views
7 Years
Discussion Span
Last Post by Ancient Dragon
0

SaveFileDialog() doesn't save anything -- it's just a dialog box that lets you nagivate to the folder where you want the file saved and give the file a name. After SaveFileDialog() returns to your program your program must get the complete path/filename from the SaveFileDialog class, open the file for writing, and write the data.

Here is an example written for C#, but C++ is probably similar if not identical.

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.