Большой Воронежский Форум
» Программирование>Visial C++ связь текстового поля и кнопки
Avgur 17:12 25.01.2007
в магазинах Библиосфера и Дом Книги не нашел вообще книг по Visial.
есть задача:
из текстового поля по нажатию на кнопку считать данные и записать в файл, как реализовать?! подскажите, плз!


void CFgfgfDlg::OnButton1()
{
int a;

// вроде, после нажатия на кнопку переменная а=значению поля edit1
как это делается?

std::ofstream f("trt34.txt");

f << "Введенное значение: "<<a <<"\n";

}

void CFgfgfDlg::OnChangeEdit1()
{


}
Yandex 17:55 25.01.2007
> в магазинах Библиосфера и Дом Книги не нашел вообще книг по Visial
Ужас, какой. Хорошо хоть магазины нашел.

P.S. Немножко кода (примерно - MFC никогда не использовал)

Сообщение от :
#include <fstream>
...
void CMyfDlg::OnButton1()
{
std::ofstream f("out.txt");
f << Edit1.Text;
}

P.P.S. А может все таки на Delphi перейдешь? Тогда будешь писать более продвинутые темы, вроде этой
http://www.u-antona.vrn.ru/forum/sho...d.php?t=157363
Avgur 19:19 25.01.2007
и не говори. мож и перейду ... куда-нить по дальше. ))
в жизни не касался ни С ни Дельфи, а тут потребность возникла за два-три дня с нормальным интерфейсом простенькую прогу сделать.

вот и приходится глупые вопросы задавать, а что делать!? я сам пока буду разбираться во всем все сроки пройдут...
Avgur 19:36 25.01.2007
ни куя не получается:

Edit1' : undeclared identifier
error C2228: left of '.Text' must have class/struct/union type

мож чего подключить надо кроме fstream !?
дело за маленьким осталось елки... считать данные из формы и усе...
и надеюсь донимать своими темами я здесь снова не скоро начну. -)
Yandex 07:36 26.01.2007

Сообщение от :
в жизни не касался ни С ни Дельфи, а тут потребность возникла за два-три дня с нормальным интерфейсом простенькую прогу сделать.

А какого тогда за C++ сел? Для простенького пользовательского интрерфейса при минимальных навыках - Delphi всех заруливает.

Сообщение от :
f << Edit1.Text;

Ну я вот что имел в виду

Сообщение от :
f << Имя_Элемента_Для_Ввода_Текста.Метод_Возвращающий_Т екст_Этого_Элемента;

Вообщем расписал бы подробнее - но на работе за VS по головке не погладят.
Zhenka 07:44 26.01.2007

Сообщение от Yandex:
А может все таки на Delphi перейдешь?

Упаси Господь...

Сообщение от Avgur:
мож чего подключить надо кроме fstream !?

Мож и надо, но скорее всего что-то неправильно описано. Желательно пользоваться встроенными в редактор VisualCPP мастерами создания классов, событий, переменных. По Вашему кусочку кода тяжело что-то вразумительное подсказать.
Zhenka 07:47 26.01.2007
Avgur, к стати о Delphi, если считается, что он проще чем Visual CPP, то лучше на C++ Builder перейди. Это тот-же Delphi по своему интерфейсу, набору функций, только для языка C++.
Zhenka 08:40 26.01.2007
Файл OutDl.h

class COutDlg : public CDialog
{
...........
...........
private:
CStdioFile f;
};

Файл OutDl.cpp

BOOL COutDlg::OnInitDialog()
{
............
............


// TODO: Add extra initialization here

f.Open("out.txt", CFile::modeWrite | CFile::modeCreate);

.............
.............
}

void COutDlg::OnButtonApply()
{

UpdateData(TRUE);
f.WriteString(m_Edit);
UpdateData(FALSE);
}

void COutDlg::OnOK()
{
// TODO: Add extra validation here

f.Flush();
f.Close();
CDialog::OnOK();
}

void COutDlg::OnCancel()
{
// TODO: Add extra cleanup here

f.Flush();
f.Close();
CDialog::OnCancel();
}


Классы CFile и CStdioFile - аналоги файлов и потоков в стандартном C++, но расчитаны для работы с MFC, в т.ч. диалоговыми окнами.
С.В.Глушаков А.В.Коваль С.А.Черепнин Программирование на VisualC++ - очень неплохая книжка. Во всяком случае если не лезть в дебри, то простенький интерфейс поможет составить.
Avgur 08:46 26.01.2007
void CFgfgfDlg::OnButton1()
{
int a;
a=m_edit; // тип editBox - int
std::ofstream f("33.txt");
f <<a+20 <<"\n";
}

в результате на выходе только 20...
Avgur 08:53 26.01.2007
неучто нет выражения присваивания значения содержащегося в m_edit переменной а после нажатия на кнопку, ну или сразу при вводе.
если поле и переменная типа int.

сделать чтобы сразу после набора слова paint запускалась прога понял как, нашел.

а вот как получить переменную целого типа, чтобы с ней еще можно было поработать не найду...


кому не трудно (если найдутся -)) )
полный код:
диалоговое окно - в нем поле для ввода (типа int, наверное), кнопка, по нажатию на которую число из поля записывается в переменную (пусть а), даже без вывода в файл!

т.к. сама начинка уже написана в таком виде:
std::ofstream f("33.txt");
f <<.... ;

в эту начинку мне все лишь нужно загнать значения переменных не через простую консоль, а через нормальное диалоговое окно.
Zhenka 09:00 26.01.2007
UpdateData(TRUE);
a=m_edit; // тип editBox - int
UpdateData(FALSE);
std::ofstream f("33.txt");
f <<a+20 <<"\n";

UpdateData - функция обмена между диалоговым окном и переменными.
Avgur 09:08 26.01.2007

Сообщение от Zhenka:
UpdateData(TRUE);
a=m_edit; // тип editBox - int
UpdateData(FALSE);
std::ofstream f("33.txt");
f <<a+20 <<"\n";
UpdateData - функция обмена между диалоговым окном и переменными.


УРАААААААААААААААА!!!!!!!!!!!!!!!!!!!!!!!!!!!
елки палки... вроде все. _))))))
надеюсь, что все. ))

СПАСИБО БОЛЬШОЕ!

ФСЕМ! СПАСИБО! все сделал, работает!!! +)
Вверх