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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2008, 17:35   #1
Detka
Чайник :D
Пользователь
 
Регистрация: 22.12.2006
Сообщений: 65
Сообщение Messagedlg с тремя кнопками

Здрасьте всем! Помогите с кодом. Мне надо в Messagedlg выдавать три кнопки с вопросом о сохранении. Ну типа
messagedlg('Сохранить изменения в файле?',mtconfirmation,[mbYes,mbNo,mbCancel],0)
Ну и как заставить правильно работать эти кнопки. Для двух кнопок могу прописать на третью опыта не хватает. помогите кто чем может
Мы все учились по-немногу
Чему-нибудь и как-нибудь...

Пушкин А.С.
Detka вне форума Ответить с цитированием
Старый 10.07.2008, 17:55   #2
beegl
instagram
Участник клуба
 
Аватар для beegl
 
Регистрация: 24.05.2008
Сообщений: 1,451
По умолчанию

Код:
CASE MessageDlg('Файл '+ExtractFileName(SaveDialog1.FileName)+' был изменен. Сохранить?', mtConfirmation, mbYesNoCancel, 0) OF
 idYes   :  Save1.onClick(Sender);
 idNo    :;
 idCancel:CanClose:=False;;
end;
beegl вне форума Ответить с цитированием
Старый 10.07.2008, 22:26   #3
Detka
Чайник :D
Пользователь
 
Регистрация: 22.12.2006
Сообщений: 65
По умолчанию

это хорошо, потому что я не знаю как правильно прописывается CASE. Но только он не закрывается после нажатия Yes. Как это исправить?
Мы все учились по-немногу
Чему-нибудь и как-нибудь...

Пушкин А.С.
Detka вне форума Ответить с цитированием
Старый 10.07.2008, 22:32   #4
Alter
Старожил
 
Аватар для Alter
 
Регистрация: 06.08.2007
Сообщений: 2,183
По умолчанию

Решение:
Выделяете в Delphi слово MessageDlg, и жмёте F1, и всё там найдёте.
Alter вне форума Ответить с цитированием
Старый 10.07.2008, 22:37   #5
Detka
Чайник :D
Пользователь
 
Регистрация: 22.12.2006
Сообщений: 65
По умолчанию

Ну что вы меня все этим F1 тыкаете?! Если б я могла там хоть что-то понять, не спрашивала бы тута!
Мы все учились по-немногу
Чему-нибудь и как-нибудь...

Пушкин А.С.
Detka вне форума Ответить с цитированием
Старый 10.07.2008, 22:47   #6
DOLBY
Форумчанин
 
Аватар для DOLBY
 
Регистрация: 12.12.2007
Сообщений: 121
По умолчанию

В общем вот что вам нужно:
Код:
MessageDlg('Файл '+ExtractFileName(SaveDialog1.FileName)+' был изменен. Сохранить?', mtConfirmation, mbYesNoCancel, 0)
в данном случае появится окно с тремя кнопками. и делайте с этим всё, что захотите.
Компьютеры - вещь слишком сложная, чтобы работать в принципе. Поэтому то, что они работают хоть как-то, уже чудо.
DOLBY вне форума Ответить с цитированием
Старый 10.07.2008, 22:56   #7
Detka
Чайник :D
Пользователь
 
Регистрация: 22.12.2006
Сообщений: 65
По умолчанию

ЭТО я сделала (не на столько уж я чайник - 2 месяца Делфи изучаю)!
У меня так:
case messagedlg('Сохранить изменения в файле?',mtinformation,[mbYes,mbNo,mbCancel],0)of
idYes:form1.Memo1.Lines.SaveToFile( edit1.Text+'.txt')
idNo:form1.Close;
idCancel:Form1.Show;
end;

Но при этом он закрывает прогу тока после нажатия кнопки Нет. А мне надо, чтоб после Да он тоже форму закрывал.
Мы все учились по-немногу
Чему-нибудь и как-нибудь...

Пушкин А.С.
Detka вне форума Ответить с цитированием
Старый 10.07.2008, 23:00   #8
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Замените idYes:form1.Memo1.Lines.SaveToFile( edit1.Text+'.tx t') на
Код:
idYes: 
  begin
    form1.Memo1.Lines.SaveToFile(edit1.Text+'.txt');
    form1.Close
  end;
eoln вне форума Ответить с цитированием
Старый 10.07.2008, 23:16   #9
Detka
Чайник :D
Пользователь
 
Регистрация: 22.12.2006
Сообщений: 65
По умолчанию

Большое спасибо! Я спинным мозгом понимала, что это должны быть скобки begin...end, тока я не знала куда их правильно поставить.
Но есть надежда, что я не совсем безнадежна )))

Ещё раз спасибо! просто, как всё гениальное!

Тов. программисты! А как мне на OnClose то же самое сделать. Работает все, за исключением кнопки Cancel. После ее нажатия форма все равно закрывается. Как это исправить?
Мы все учились по-немногу
Чему-нибудь и как-нибудь...

Пушкин А.С.

Последний раз редактировалось Detka; 11.07.2008 в 21:35.
Detka вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с кнопками на delphi alexs2141 Общие вопросы Delphi 1 03.06.2008 21:41
Простой вопрос по MessageDlg Dimoney Общие вопросы Delphi 7 08.05.2008 19:16
MessageDLG azat Общие вопросы Delphi 11 20.01.2008 09:25
Управление кнопками со стрелками eks-s Общие вопросы Delphi 6 19.01.2008 02:23
Выручте пожалуйста с тремя задачками ByteMan Помощь студентам 8 07.06.2007 23:39