Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1 / 25 сообщений из 38, страница 1 из 2
22.08.2018, 09:30
    #39691472
AdamAry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
Какой мессажбокс самый простой (с минимумом аргументов) для Delphi 10.1 ?
В Delphi 7 был если не ошибаюсь MessageDlg.
...
Рейтинг: 0 / 0
22.08.2018, 09:51
    #39691491
goldmi45
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
AdamAry,

Код: pascal
1.
ShowMessage('tru-la-la');
...
Рейтинг: 0 / 0
22.08.2018, 10:26
    #39691523
AdamAry
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
goldmi45, благодарю,
я ошибался.
...
Рейтинг: 0 / 0
22.08.2018, 10:30
    #39691534
Alexander Zuev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
Плюс очень удобна (склеиванием конвертации типов к строке не надо заниматься) его слегка расширенная версия, когда ещё значения надо передавать:
Код: pascal
1.
ShowMessageFmt('tru-la-la, %s. A = %d.', ['tra-la-la', 5])



В тех случаях, когда мешает потеря фокуса на окно сообщения, удобно использовать:
Код: pascal
1.
OutputDebugString(string('Over над ячейкой грида'))


только сообщения смотреть в окне Event Log среды Delphi.
...
Рейтинг: 0 / 0
22.08.2018, 11:28
    #39691584
X11
X11
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
AdamAryВ Delphi 7 был если не ошибаюсь MessageDlg.

Ошибаешься.
Была и осталась процедура
Код: pascal
1.
ShowMessage('Сообщение');
...
Рейтинг: 0 / 0
28.08.2018, 10:45
    #39694136
Страдалецъ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
Были и остались более продвинутая версия MessageDlg() и MessageDlgPos() о которой автор видимо изначально спрашивал. Для отладочных сообщений безусловно удобнее использовать ShowMessage, OutputDebugString (за последнее отдельное спасибо, не знал о таком), но вот для сообщений приложения правильнее использовать более информативные MessageDlg
...
Рейтинг: 0 / 0
30.08.2018, 10:01
    #39695359
Dmitry_PV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
+1 к страдальцу.
Для отладки ShowMessage подойдёт и то он всё равно глучит. Лучше использовать OutputDebugString();

А если юзеру выдавать то лучше MessageBox('текст сообщения','заголовок',MB_OK+MB_ICONINFORMATION)
...
Рейтинг: 0 / 0
30.08.2018, 10:44
    #39695387
schi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
СтрадалецъБыли и остались более продвинутая версия MessageDlg() и MessageDlgPos() о которой автор видимо изначально спрашивал. Для отладочных сообщений безусловно удобнее использовать ShowMessage, OutputDebugString (за последнее отдельное спасибо, не знал о таком), но вот для сообщений приложения правильнее использовать более информативные MessageDlg

С фига ли правильнее ?
...
Рейтинг: 0 / 0
30.08.2018, 10:55
    #39695394
zinpub
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
А как же без иконки!
...
Рейтинг: 0 / 0
30.08.2018, 11:12
    #39695401
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
СтрадалецъДля отладочных сообщений безусловно удобнее использовать ShowMessage
Хм. Даже боюсь спросить, что же Вы назовёте неудобным.

Страдалецъно вот для сообщений приложения правильнее использовать более информативные MessageDlg
"Кого попало можно кормить и картофелем, но для своей семьи правильнее использовать картошку".

Dmitry_PVА если юзеру выдавать то лучше MessageBox
Следующими будут мысли о том, что формы лучше не рисовать в дизайнере, а собирать в ран-тайме. Потом - что лучше пользоваться не VCL, а Win API.
...
Рейтинг: 0 / 0
30.08.2018, 13:20
    #39695507
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
write()/writeln() забыли? Как по мне - тоже ничего так.. И никакого VCL
...
Рейтинг: 0 / 0
30.08.2018, 13:28
    #39695513
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
так это ж ещё консоль создавать...
лениво.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.08.2018, 13:33
    #39695516
s62
s62
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
У Application.MessageBox или просто MessageBox есть такой плюс, что надписи на кнопках локализованные, а на Дельфийских диалогах вроде нет.
...
Рейтинг: 0 / 0
30.08.2018, 13:42
    #39695521
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
Мимопроходящийтак это ж ещё консоль создавать...
лениво.


В файл пиши и не выделывайся
...
Рейтинг: 0 / 0
30.08.2018, 13:42
    #39695522
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
s62У Application.MessageBox или просто MessageBox есть такой плюс, что надписи на кнопках локализованные, а на Дельфийских диалогах вроде нет.
Это крайне сомнительный, чтобы не сказать вредный плюс. Но насколько мне изменяет память, во вменяемой реализации дельфовых диалогов используются ресурсные строки - локализуй сколько хочешь, а в невменяемой (UseLatestCommonDialogs = true) всё равно сводится к системным диалогам.
...
Рейтинг: 0 / 0
30.08.2018, 13:46
    #39695526
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
Я стесняюсь спросить, а что мешает один раз объявить процедуру
Код: pascal
1.
2.
3.
4.
procedure Msg(const AMsg: string);
begin
  ......
end;

В ней реализовать любой функционал и из всех мест вызывать ее?
...
Рейтинг: 0 / 0
30.08.2018, 14:05
    #39695553
Котовасия
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
_Vasilisk_Я стесняюсь спросить, а что мешает один раз...
А поговорить?
...
Рейтинг: 0 / 0
30.08.2018, 14:45
    #39695594
s62
s62
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
softwarers62У Application.MessageBox или просто MessageBox есть такой плюс, что надписи на кнопках локализованные, а на Дельфийских диалогах вроде нет.
Это крайне сомнительный, чтобы не сказать вредный плюс. Но насколько мне изменяет память, во вменяемой реализации дельфовых диалогов используются ресурсные строки - локализуй сколько хочешь, а в невменяемой (UseLatestCommonDialogs = true) всё равно сводится к системным диалогам.
Россия, русская Windows, русская программа, русскоязычный интерфейс. Естественно, что кнопки с надписями на русском выглядят естественней и они уместней. Может быть и можно локализовать какие-то диалоги, но для этого нужно делать лишние телодвижения. А по-умолчанию получаем:
Код: pascal
1.
2.
3.
4.
5.
procedure TForm1.Button1Click(Sender: TObject);
begin
  if MessageDlg('Сохранить файл?', mtConfirmation, [MBYES, MBNO], 0) = mrYes
  then
end;


английские надписи.

Код: pascal
1.
2.
3.
4.
5.
procedure TForm1.Button1Click(Sender: TObject);
begin
  if Application.MessageBox('Сохранить файл?', 'Сохранение файла', MB_YESNO or MB_ICONQUESTION) = IDYES
  then
end;


русские надписи
(картинка - с англ., в следующем сообщении - с рус.)
...
Рейтинг: 0 / 0
30.08.2018, 14:45
    #39695595
s62
s62
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
s62,
...
Рейтинг: 0 / 0
30.08.2018, 14:54
    #39695608
zinpub
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
softwarer..... а в невменяемой (UseLatestCommonDialogs = true) ....

А что в них плохого?
...
Рейтинг: 0 / 0
30.08.2018, 14:56
    #39695611
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
AdamAryКакой мессажбокс самый простой (с минимумом аргументов) для Delphi 10.1 ?
В Delphi 7 был если не ошибаюсь MessageDlg.

ты бы хоть одну книжку прочитал, чем задавать тупейшие вопросы
...
Рейтинг: 0 / 0
30.08.2018, 15:32
    #39695647
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
s62Россия, русская Windows, русская программа, русскоязычный интерфейс.
Это только один из возможных вариантов. Причём, прямо скажем, ничем не страшный. Но есть, например, и такой: Россия, русская Windows, русская программа, англоязычный интерфейс, пользователь - швед.

s62Может быть и можно локализовать какие-то диалоги, но для этого нужно делать лишние телодвижения.
Да, трудоёмкость разового ввода нескольких строчек текста - это, конечно, убедительная причина для базового архитектурного решения.

zinpubА что в них плохого?
То, что с ними ломается довольно много функционала, завязанного на адекватную реализацию. Например, движок тестовых скриптов перестаёт замечать появившиеся сообщения и нажимать кнопки.
...
Рейтинг: 0 / 0
30.08.2018, 15:42
    #39695655
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
Котовасия_Vasilisk_Я стесняюсь спросить, а что мешает один раз...А поговорить?Удачи в долгосрочной поддержке кода.

У меня такая процедура модифицировалась трижды
...
Рейтинг: 0 / 0
30.08.2018, 15:53
    #39695662
s62
s62
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
softwarers62Россия, русская Windows, русская программа, русскоязычный интерфейс.
Это только один из возможных вариантов. Причём, прямо скажем, ничем не страшный. Но есть, например, и такой: Россия, русская Windows, русская программа, англоязычный интерфейс, пользователь - швед.

Да, понятно, что ситуации бывают разные.
Диалог MessageDlg, пример использования которого я привел, всегда будет выдавать "Yes", "No", вне зависимости от ситуации. MessageBox по крайней мере использует язык локализации Windows.

Но язык надписей - это уже ответвление от темы. Как бы ни оценивать, по крайней мере вот такое отличие между диалогами есть, если кто-то не знал, может инфа кому-то была полезной.
...
Рейтинг: 0 / 0
30.08.2018, 17:13
    #39695725
white_nigger
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1
Если программа подразумевает запуск под различными локалями, то лучше использовать нативные диалоги с локализованными системой кнопками. Правда если надо сильнокустомизированные, скинованные, etc - то тогда может придется поиметь гемор с локализацией под разные языки и bidi
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Cамый простой (с минимумом аргументов) вывод сообщений для Delphi 10.1 / 25 сообщений из 38, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]