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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2016, 17:37   #1
Girei
Пользователь
 
Аватар для Girei
 
Регистрация: 22.10.2013
Сообщений: 72
Печаль Работа с переменными

В VC++ 2012 (MFC) имеются 3 кнопки. Первые две открывают диалог выбора файла и закидывают в переменные путь до него. Третья должна оба пути получить и неким образом их обработать. В ссылки и указатели могу плохо (если они могут тут помочь), посему, прошу помощи.
Исохдник первых двух кнопок.
Код:
void CMFCApplication1Dlg::OnBnClickedButton1() //Img upload
{
	
		CFileDialog openpic(true);
		openpic.m_pOFN->lpstrFilter=
			"All files (*.*)\0*.*\0 Image files (*.jpeg; *.bmp; *jpg; *.png)\0*.jpeg;*.bmp;*.jpg;*.png\0";
		TCHAR defdir[] = "C:";
		openpic.m_pOFN->lpstrInitialDir = defdir;
		if (openpic.DoModal() == IDOK)
		{
			CString Ext = openpic.GetFileExt(); 
			if (Ext != "jpeg" && Ext != "jpg" && Ext != "bmp" && Ext != "png")
			{
				MessageBox("Incorrect file format","Error",MB_ICONERROR);
				static bool fl = FALSE;
			}
		}
		
		 CString pic = openpic.GetPathName();
		 
		
		
}

void CMFCApplication1Dlg::OnBnClickedButton2() //Rarzip upload
{
		CFileDialog openzip(true);
		openzip.m_pOFN->lpstrFilter=
			"All files (*.*)\0*.*\0 Archives (*.rar; *.zip; *.7z)\0*.rar;*.zip;*.7z\0";
		TCHAR defdira[] = "C:";
		openzip.m_pOFN->lpstrInitialDir = defdira;
		if (openzip.DoModal() == IDOK);
		{
			 CString Ext = openzip.GetFileExt();
			if (Ext != "rar" && Ext != "zip"  && Ext != "7z")
			{
				MessageBox("Incorrect file format","Error",MB_ICONERROR);
				static bool fl1 = FALSE;
			}
			
		}	
		 CString zip = openzip.GetPathName();
		 

}
Как я уже сказал, продолжать работу мне нужно с переменными zip и pic. Вот.
Girei вне форума Ответить с цитированием
Старый 02.03.2016, 17:39   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну так сделайте переменные не локальными, а например членами класса CMFCApplication1Dlg.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.03.2016, 17:53   #3
Girei
Пользователь
 
Аватар для Girei
 
Регистрация: 22.10.2013
Сообщений: 72
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Ну так сделайте переменные не локальными, а например членами класса CMFCApplication1Dlg.
Я извиняюсь за тупизну. Как это реализовать?
Girei вне форума Ответить с цитированием
Старый 02.03.2016, 18:01   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Изучать основы работы с классами в С++.

Внезапно гугл по "C++ классы" выдал статью на этом сайте http://www.programmersclub.ru/21/
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.03.2016, 18:34   #5
Girei
Пользователь
 
Аватар для Girei
 
Регистрация: 22.10.2013
Сообщений: 72
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Изучать основы работы с классами в С++.

Внезапно гугл по "C++ классы" выдал статью на этом сайте http://www.programmersclub.ru/21/
Занимаюсь гуглингом. На правах рекламы, хотел бы узнать, как ещё можно обратиться к этим переменным извне?
Girei вне форума Ответить с цитированием
Старый 02.03.2016, 18:37   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Из другого класса? Либо сделать их public, либо сделать public функции в классе для работы с ними.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.03.2016, 19:03   #7
Girei
Пользователь
 
Аватар для Girei
 
Регистрация: 22.10.2013
Сообщений: 72
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Из другого класса? Либо сделать их public, либо сделать public функции в классе для работы с ними.
Я имел ввиду, можно ли как-то с указателями это сделать в данном случае? С классами разобрался, спасибо за помощь.
Girei вне форума Ответить с цитированием
Старый 02.03.2016, 19:08   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Зачем тут указатели?

С указателями можно сделать что угодно, но лучше не использовать их без необходимости
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 02.03.2016, 22:10   #9
Girei
Пользователь
 
Аватар для Girei
 
Регистрация: 22.10.2013
Сообщений: 72
По умолчанию

Ещё вопрос не по теме. Как передать переменную в консоль?
Скажем, я использую system(); И мне надо передать полный путь к файлу, записанный в переменную.
Girei вне форума Ответить с цитированием
Старый 02.03.2016, 22:58   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Зависит от того какие строки. Не знаю что в CString есть, std::string можно складывать и есть метод c_str() для конвертации в С строку (char*). То есть можно сделать что-нибудь типа
Код:
#include <string>
...


std::string str = "something";
std::string cmd = "program.exe " + str;

system(cmd.c_str());
CString думаю умеет что-то похожее.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 02.03.2016 в 23:02.
Alex11223 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с переменными Damhurz PHP 6 13.03.2009 17:35
Работа с переменными Sapsan Общие вопросы C/C++ 2 24.02.2009 20:02
Работа с динамическими переменными DonLena Фриланс 4 15.10.2008 18:13
Работа с динамическими переменными DonLena Паскаль, Turbo Pascal, PascalABC.NET 1 14.10.2008 20:05
Работа с переменными в DLL Zeraim Общие вопросы Delphi 3 14.05.2008 23:10