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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MessageDlg, Как с ним работать? 
V
    Опции темы
kulikoff
Дата 22.3.2006, 14:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вставляю MessageDlg, в окошке выводится две кнопки Ok, Cancel. Подскажите, как мне сделать так, чтоб при нажатии на кнопку Ок выводилось окошко "Нажата Ок", а при Cancel - "Нажата Cancel". Помогите, плиз!
PM MAIL WWW ICQ Skype   Вверх
Romikgy
Дата 22.3.2006, 15:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



а не легче другую форму написать?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Yanis
Дата 22.3.2006, 15:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 72
Всего: 111



Цитата(kulikoff @ 22.3.2006, 14:55 Найти цитируемый пост)
Вставляю MessageDlg, в окошке выводится две кнопки Ok, Cancel. Подскажите, как мне сделать так, чтоб при нажатии на кнопку Ок выводилось окошко "Нажата Ок", а при Cancel - "Нажата Cancel". Помогите, плиз!

Код

  case MessageDlg('Читать умеешь?', mtConfirmation, mbOKCancel, 0) of
    ID_OK: Application.MessageBox('Ну тогда читай справку', '>:-|', MB_ICONWARNING or MB_OK);
    ID_CANCEL: Application.MessageBox('И ты ещё хочешь стать программистом?', ':0', MB_ICONWARNING or MB_OK);
  end;



--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Romikgy
Дата 22.3.2006, 15:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 26
Всего: 146



Yanis, в этом случае MessageDlg закроется smile


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
Yanis
Дата 22.3.2006, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 72
Всего: 111



Цитата(Romikgy @ 22.3.2006, 15:29)
Yanis, в этом случае MessageDlg закроется smile

Не думал, что нужно именно так. Если требуется, что бы диалог не закрывался после нажатия кнопки, то придётся самому писать.


--------------------
user posted image *щёлк*
PM MAIL WWW ICQ   Вверх
Guedda
Дата 22.3.2006, 15:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Код

if MessageDlg('Hello', mtError, [mbOk, mbCancel], 0) = mrOk then //выполняются действия по OK
else //выполняются другие действия.



--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Hacker
Дата 23.3.2006, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Порылся в VCL, нашёл в Consts.pas такие константы. Судя по коду именно они отвечают за надписи MessageDlg.
Код

  SMsgDlgWarning = 'Warning';
  SMsgDlgError = 'Error';
  SMsgDlgInformation = 'Information';
  SMsgDlgConfirm = 'Confirm';
  SMsgDlgYes = '&Да';   //'&Yes';
  SMsgDlgNo = '&Нет'; //'&No';
  SMsgDlgOK = 'OK';
  SMsgDlgCancel = '&Отмена'; //'Cancel';
  SMsgDlgHelp = '&Справка'; //'&Help';
  SMsgDlgHelpNone = 'Справка не доступна'; //'No help available';
  SMsgDlgHelpHelp = 'Справка'; //'Help';
  SMsgDlgAbort = 'П&рервать'; //'&Abort';
  SMsgDlgRetry = '&Повторить'; //'&Retry';
  SMsgDlgIgnore = 'Пр&опустить'; //'&Ignore';
  SMsgDlgAll = '&Все'; //'&All';
  SMsgDlgNoToAll = 'Н&ет для всех'; //'N&o to All';
  SMsgDlgYesToAll = 'Д&а для всех'; //'Yes to &All';


Блин, поменял, сохранил запустил проект, надписи остались на английском, почему???
PM MAIL   Вверх
Poseidon
Дата 23.3.2006, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Уже ведь написано, использовать MessageBox.

Цитата

Функция MessageBox является методом переменной Application типа TApplication, доступной в любом проекте Delphi. Это метод является наиболее удачным способом отображения диалоговых окон. Он отображает диалоговое окно с заданными кнопками, сообщением и заголовком и позволяет проанализировать ответ пользователя. Во многих отношениях это окно подобно окнам, создаваемым функциями MessageDlg и CreateMessageDialog. Но имеются и существенные отличия, связанные с возможностью русификации окна. Заголовок окна может быть написан по-русски, что отличает эту функцию от функции MessageDlg (впрочем, в окне, созданном CreateMessageDialog, это тоже можно сделать). Другим приятным отличием являются русские надписи на кнопках (в русифицированных версиях Windows).



--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Quadr0
Дата 24.3.2006, 00:25 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











...

Это сообщение отредактировал(а) Quadr0 - 15.7.2011, 10:59
  Вверх
Stalker Ghost
Дата 10.1.2007, 21:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

Репутация: нет
Всего: 2



Если перевести consts.pas на русский и использовать его в любом проекте delphi, в папке с этим проектом сгенерируется consts.dcu. Потом оригинальный consts.dcu в папке lib можно заменить новым и все проекты теперь будут с русским MessageDlg.
PM MAIL MSN   Вверх
UmmiLab
Дата 4.10.2007, 19:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Помогите пожалуйста срочно!!! Мне надо написать прогу для вычисления суммы с помощью MessageDlg, я написала, и у меня высветило ошибку при описании кнопок, я еаписала mbYesNo (так сказано в задании), а надо вместо mb писать какую-то функцию. Помогите какую, ОЧЕНЬ ПРОШУ!!!
PM MAIL   Вверх
Sanchezzz
Дата 4.10.2007, 19:35 (ссылка) |   (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 5
Всего: 60



Код

...
var
 f: TForm;
 begin
  f := Dialogs.CreateMessageDialog(
  'текст',
  dialogs.mtInformation, dialogs.mbYesNO);
  f.Caption:='title';
  f.Font.Color := clHighlight;
  if f.ShowModal = mrYes then begin
//действие
  end else
//альтернативное действие на no
      end;




--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
UmmiLab
  Дата 6.10.2007, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Большое спасибо за прогу!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 
PM MAIL   Вверх
UmmiLab
  Дата 6.10.2007, 22:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Извините, но прошу еще раз о помощи, Sanchezzz, у меня ничего не получается, не поможете прогу полностью написать? Нужно написать прогу для вычисления суммы и произведения двух чисел, которые вводятся с помощью InputBox, а вычисляются через MessageDlg, причем, чтобы было две кнопки Yes и No, и если нажмешь Yes, то выводит результат, а если No, то сообщении об ошибке. Помогите, очень прошу, а то модуль не получу :.(

Это сообщение отредактировал(а) UmmiLab - 6.10.2007, 22:32
PM MAIL   Вверх
Sanchezzz
  Дата 6.10.2007, 23:27 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1670
Регистрация: 19.11.2006
Где: Voronezh

Репутация: 5
Всего: 60



Код


var
f: TForm;
s,c:string;
a,b:integer;
begin
a:=strtoint(InputBox('ведите цифры','пример:2',''));
c:=InputBox('ведите','на выбор один символ'+#13#10+
'+ - * /','');
b:=strtoint(InputBox('ведите цифры','пример:2',''));
case C[1] of
  '-': s:=inttostr(a - b);
  '+': s:=inttostr(a + b);
  '/': s:=inttostr(a div b);
  '*': s:=inttostr(a*b);
end;
  f := Dialogs.CreateMessageDialog(
  'Вывести значение да / нет',
  dialogs.mtInformation, dialogs.mbYesNO);
  f.Caption:='Вывести значение';
  f.Font.Color := clHighlight;
  if f.ShowModal = mrYes then begin
Showmessage(s);//результат
  end else
Showmessage('Error');
end;




Это сообщение отредактировал(а) Sanchezzz - 6.10.2007, 23:28


--------------------
Понравился ответ "+" по репе, не забываем закрывать тему, заказы в LS.
PM MAIL Skype GTalk   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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