Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сохранение из Memo в файл 
:(
    Опции темы
mr.Anderson
Дата 5.9.2005, 18:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


iOS Lead Developer
****


Профиль
Группа: Участник Клуба
Сообщений: 3374
Регистрация: 20.12.2004
Где: далеко

Репутация: 3
Всего: 128



Мне нужно сохранить какой-то введенный юзверем текст из Memo в файл. У меня есть две кнопки - "Сохранить" и "Сохранить как". Надо, чтобы при нажатии на "Сохранить" програ каким-нить способом узнала, было ли ранее выбрано имя файла (то есть было ли сохранение через "Сохранить как" или открытие через "Открыть"). Если сохранение через "Сохранить как..." или открытие через "Открыть" было, то надо просто сохранить с выбранным ранее именем файла (кто не понял, имя файла выбиралось ранее, через OpenDialog или SaveDialog). Если же ранее не было ни "Сохранить как", ни "Открыть", то надо вызвать стандартное диалоговое окно Windows и заставить юзверя работать с ним. Как решить поставленную задачу? Я попробовал вот так (это код события OnClick на кнопке "Сохранить"):
Код

if MessageBox(handle,'Переписать содержимое файла?','Подтверждение сохранения',MB_YESNO)=IDYES then
 begin
  if SaveFile=True then begin
   Memo1.Lines.SaveToFile(SaveDialog1.FileName); 
   SaveFile:=False        
  end
  else begin
   SaveDialog1.Execute();
   Memo1.Lines.SaveToFile(SaveDialog1.FileName);
   SaveFile:=False
  end;
 end;

P.S. Переменная EnterFileName объявлена ранее под типом Boolean и со значением FALSE. Эта переменная принимает значение TRUE вот в этом коде:
Код

if OpenDialog1.Execute() then begin
  Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
  StatusBar1.SimpleText:='Файл '+OpenDialog1.FileName+' успешно загружен в редактор.';
  EnterFileName:=True;
end;

И вот в этом:
Код

if SaveDialog1.Execute() then begin
  Memo1.Lines.SaveToFile(SaveDialog1.FileName);
  StatusBar1.SimpleText:='Содержимое редактора успешно сохранено в файл '+SaveDialog1.FileName;
  EnterFileName:=True;
 end;


Это сообщение отредактировал(а) sim7 - 5.9.2005, 18:05


--------------------
user posted image

user posted image
PM MAIL ICQ Skype   Вверх
Quadr0
Дата 5.9.2005, 18:16 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 01:23
  Вверх
mvdr
Дата 6.9.2005, 07:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


физик
***


Профиль
Группа: Участник
Сообщений: 1349
Регистрация: 31.12.2004
Где: Волгоград, Россия

Репутация: 1
Всего: 42



как сказал Quadr0, по умолчанию давать имя файлу типа Noname.txt и папку создавать для сохранения типа 'C:\Papka\', тогда при нажатии на Сохранить, проверяем if SileExists('C:\Papka\NoName.txt')=true then if MessageDLG('файл с таким именем существует', mtInformation, [mbOK, mbCancel],0)=mrCancel then <процедура Сохранить КАК>


--------------------
Появляюсь редко, но часто метко

Изображать идиота сложнее, чем изображать умного: полезнее и не каждому дано
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0409 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.