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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2009, 13:29   #1
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию Возможность сохранения и открытия при нажатии на кнопку Button

Здравствуйте программисты!Подскажиет пожалуйста, как сделать так, чтоб при нажатии на кнопку, открывался обзор, как в Ворде обычном и чтоб можно было сохранять файлы в программе, просто нужно мне такое сделать. Там есть такие функции в панели инструментов в С++ Dialog. Я выбрал кнопки в меню Dialog (SaveDialog,OpenDialog),скинул их на форму. Подскажите пожалуйста,какую функцию прописать. Заранне благодарен.
prikolist вне форума Ответить с цитированием
Старый 05.02.2009, 19:09   #2
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

GetSaveFileName & GetOpenFileName - API

С++ Builder

if (SaveDialog1->Execute) {
Memo1->Lines->SaveToFile(SaveDialog1->FileName) }
r9m вне форума Ответить с цитированием
Старый 05.02.2009, 19:51   #3
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

Спасибо за подсказку, но ты понимаешь, я недавно только, пару дней назад начал изучать С++ Builder 6.0. поэтому не очень понимаю куда нужно вставлять этот код, чтоб была возможность сохранения файлов в моей программе и открытие, как кнопка Открыть.
Тоесть я создал форму, сбросил туда 2 кнопки, нажал на компонент Dialog, сбросил от туда значок OpenDialog1, SaveDialog1. Дальше нажимаю на кнопку Button1, открывается такое в Button1:

void __fastcall TForm1::Button1Click(TObject *Sender)
{

}


//---------------------------------------------------------------------------


Напиши пожалуйста, что ввести сюда необходимо было для возможности открытия с компьютера файлов. И вот, янажимаю вторую кнопку Button2, которую я хочу использовать для возможности сохранения в программе файлов. Что нужно прописать в Button2. когда я нажимаю на него и отображается вот такое:



void __fastcall TForm1::Button2Click(TObject *Sender)
{

}
//---------------------------------------------------------------------------


Кнопку Button1 - я хочу использовать для открытия, Button2- для сохранения. Заранне благодарен за ответ.

Последний раз редактировалось prikolist; 05.02.2009 в 19:56.
prikolist вне форума Ответить с цитированием
Старый 05.02.2009, 19:58   #4
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

Код:
// сохраняем строки Memo1 в файл
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 if (SaveDialog1->Execute) 
  {
   Memo1->Lines->SaveToFile(SaveDialog1->FileName); 
  }
}

// Открываем файл
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 if (OpenDialog1->Execute) 
  {
   Memo1->Lines->LoadFromFile(OpenDialog1->FileName); 
  }
}
r9m вне форума Ответить с цитированием
Старый 05.02.2009, 20:55   #5
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

Спасибо, но маленькая проблеммка.
При кампиляции программы курсор останавливается перед словом
Execute.Вы не знаете в чём может быть проблемма?
Выдаёт такую ошибку:[C++ Error] Unit1.cpp(20): E2451 Undefined symbol 'OpenDialog1' при использовании этого кода
И такую [C++ Error] Unit1.cpp(20): E2235 Member function must be called or its address taken

// Открываем файл
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if (OpenDialog1->Execute)
{
Memo1->Lines->LoadFromFile(OpenDialog1->FileName);
}
}

Последний раз редактировалось prikolist; 05.02.2009 в 20:59.
prikolist вне форума Ответить с цитированием
Старый 05.02.2009, 21:04   #6
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

Ты покажи весь код. Заархивируй проект. И выложи сюда. Мне просто немного неудобно, так как билдера у меня нету. Может и я где скасячил - не спорю.

ещё попробуй так:
Код:
void __fastcall TForm1::Button2Click(TObject *Sender)
{
 if (SaveDialog1->Execute()) 
  {
   Memo1->Lines->SaveToFile(SaveDialog1->FileName); 
  }
}

// Открываем файл
void __fastcall TForm1::Button1Click(TObject *Sender)
{
 if (OpenDialog1->Execute()) 
  {
   Memo1->Lines->LoadFromFile(OpenDialog1->FileName); 
  }
}

Последний раз редактировалось r9m; 05.02.2009 в 21:12.
r9m вне форума Ответить с цитированием
Старый 05.02.2009, 21:36   #7
prikolist
Форумчанин
 
Аватар для prikolist
 
Регистрация: 18.06.2008
Сообщений: 350
По умолчанию

Теперь всё работает, спасибо. Объясните пожалуйста эти команды, как они это делают.
prikolist вне форума Ответить с цитированием
Старый 05.02.2009, 22:27   #8
r9m
₪₪₪₪₪₪₪₪
Форумчанин
 
Аватар для r9m
 
Регистрация: 16.04.2007
Сообщений: 471
По умолчанию

При вызове метода execute заполняется свойство filename (содержит полный путь выбранного файла+имя) и после этого мы записываем содержимое memo в файл, который берётся из свойства filename \
r9m вне форума Ответить с цитированием
Старый 10.06.2011, 13:04   #9
Ajempp
Новичок
Джуниор
 
Регистрация: 08.06.2011
Сообщений: 6
По умолчанию

как сохранить всю форму под своим форматом(расширением)?
Ajempp вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемма с выводом надписи при нажатии на кнопку prikolist Общие вопросы C/C++ 6 06.02.2009 16:11
прокрутка при нажатии на кнопку neformat JavaScript, Ajax 0 20.06.2008 20:40
Закрыть форму при нажатии на Button Ellita Помощь студентам 5 26.09.2007 20:49
при нажатии на кнопку должна создаваться новая форма ***СкаЙ*** Помощь студентам 5 13.06.2007 11:51
Загрузка файла при нажатии на кнопку Simply-Art Общие вопросы Delphi 15 23.01.2007 14:00