|
Message("Строка","Переменная")
|
|
Отображает окно сообщения с кнопкой ОК и знаком предупреждения. Используйте первый параметр, чтобы задать текст в окне сообщения:
Привет от MMB!
Второй параметр может быть использован для отображения содержимого любой строковой или числовой переменной. Это особенно полезно при отладке программ, для проверки текущего значения переменной:
UserFile$
Вот пример окна сообщения:
|
|
** Отображает окно сообщения без использования значений переменных Message("Привет от MMB!","")
** Отображает окно сообщения с числовой переменной в качестве второго параметра year=2006 Message("Текущий год:","year")
** Отображает окно сообщения со строковой переменной в качестве второго параметра name$='Чак' Message("Добро пожаловать,","name$")
** Отображает окно сообщения с двумя строковыми переменными в качестве параметров greeting$='Привет,' name$='Тимон' Message("greeting$","name$")
|
|
|
Дополнительная информация
|
|
Окно сообщения отображается поверх окна приложения, и приложение будет неактивно до тех пор, пока пользователь не закроет окно сообщения.
|
|
|
MessageEx("Заголовок","текст,флаг[,таймаут]")
|
|
Отображает полностью настраиваемое окно сообщения. Первый параметр определяет заголовок окна сообщения. Второй параметр представляет собой список параметров, разделенных запятыми, и определяющих такие свойства сообщения, как количество кнопок, иконка, кнопка, используемая по умолчанию, и так далее.
Описание:
| заголовок  
|
текст заголовка окна сообщения
|
| текст
|
текст в окне сообщения
|
| флаг
|
указывает тип окна сообщения и возможные комбинации кнопок
|
| таймаут
|
[необязательный параметр] Таймаут в миллисекундах. Окно сообщения будет автоматически закрыто по истечении таймаута
|
Результат выполнения команды MessageEx хранится в константе CBK_MsgEx:
Успешное выполнение - возвращает идентификатор (ID) нажатой кнопки.
Завершение таймаута - возвращает -1, если таймаут истек.
| Идентификаторы кнопок
|
| OK
|
1
|
| Отмена
|
2
|
| Прервать
|
3
|
| Повтор
|
4
|
| Пропустить
|
5
|
| Да
|
6
|
| Нет
|
7
|
| Повторить
|
10 **
|
| Продолжить
|
11 **
|
| ** Только в Windows 2000/XP и выше.
|
Флаг может быть комбинацией следующих значений:
| Флаги управления кнопками
|
| Кнопка OK
|
0
|
| OK и Отмена
|
1
|
| Прервать, Повтор и Пропустить
|
2
|
| Да, Нет и Отмена
|
3
|
| Да и Нет
|
4
|
| Повтор и Отмена
|
5
|
| Отмена, Повторить, Продолжить
|
6 **
|
| ** Только в Windows 2000/XP и выше.
|
| Флаги управления иконкой
|
| Без иконки (по умолчанию)
|
0
|
| Ошибка
|
16
|
| Вопрос
|
32
|
| Предупреждение
|
48
|
| Информация
|
64
|
| Кнопка, используемая по умолчанию
|
| Первая кнопка (по умолчанию)
|
0
|
| Вторая кнопка
|
256
|
| Третья кнопка
|
512
|
| Модальность окна сообщения
|
| Стандартное приложение
|
0
|
| Системное сообщение
|
4096
|
| Приложение
|
8192
|
| Дополнительные флаги
|
| Ничего особенного (по умолчанию)
|
0
|
| Окно сообщения поверх всех окон
|
262144
|
| Заголовок и текст по правому краю окна
|
524288
|
Как использовать эти флаги? Это очень легко! Просто определите флаги, которые вы хотите использовать в окне сообщения, и сосчитайте их сумму. Например, для окна с кнопками ОК/Отмена, иконкой ошибки и второй кнопкой, назначенной по умолчанию, требуются флаги 1 + 16 + 256 = 273, и это значение и должно использоваться в качестве параметра Флаг.
Здесь вы можете увидеть два примера расширенного окна сообщения:
|
|
** Пример окна сообщения с кнопками Прервать, Повтор, Пропустить (2), иконкой вопроса (32) и третьей кнопкой по умолчанию (512) Title$='Расширенное окно сообщения' Text$='Это сообщение с кнопками Прервать/Повтор/Пропустить' Flag=2+32+512 Parameter$=Text$+','+CHAR(Flag) MessageEx("Title$","Parameter$")
** Пример сообщения с запятой в тексте Title$='Расширенное окно сообщения' Text$='"Это сообщение, в котором есть запятая"' Parameter$=Text$+',64' MessageEx("Title$","Parameter$")
|
|
|
Дополнительная информация
|
ВАЖНЫЕ ЗАМЕЧАНИЯ!
Окно сообщения появляется в центре окна приложения.
Размер окна сообщения может изменяться в зависимости от текста, который оно содержит.
Текст заголовка может быть урезан, если он слишком длинный и использован флаг системного сообщения (флаг 4096).
Иконка в заголовке системного сообщения не изменяется :(
Если вы хотите использовать запятые в тексте сообщения, то вы должны заключить текст в дополнительные кавычки, например, так:
Text$='"Это сообщение, в котором есть запятая"'
НЕТ, заменить надписи на кнопках нельзя!
|
|
|
OpenFile("Фильтр","РасширениеПоУмолчанию")
|
|
Отображает диалоговое окно выбора файла. Первый параметр задает фильтр по расширению. Второй параметр задает расширение, используемое по умолчанию.
Фильтр - задает форматы файлов, которые будут отображаться в диалоговом окне. MMB позволяет использовать несколько масок, при этом выбор типа файлов осуществляется посредством выпадающего списка в диалоговом окне. Фильтр представляет собой набор строк (элементов) в первом параметре команды. Элементы фильтра и их составляющие разделяются символом |.
Элемент состоит из имени и расширения:
Файлы MPEG (*.mpg) |*.mpg
Текст синего цвета - это заголовок маски, а зеленый текст - непосредственно расширение. Они разделены символом |. Следующий элемент фильтра также отделяется символом |. Теперь фильтр будет выглядеть так:
Файлы MPEG (*.mpg) |*.mpg|Файлы AVI (*.avi) |*.avi
Когда вы закончите добавлять элементы фильтра, необходимо указать символ | для того, чтобы обозначить окончание фильтра:
Файлы MPEG (*.mpg) |*.mpg|Файлы AVI (*.avi) |*.avi|
Вот так. Эта строка представляет собой первый параметр команды. Обычно в качестве последнего элемента указывают пункт "Все файлы", позволяя пользователю видеть все файлы (отключить фильтр). Вот как выглядит такой вариант фильтра:
Файлы MPEG (*.mpg) |*.mpg|Файлы AVI (*.avi) |*.avi|Все файлы (*.*) |*.*|
Существует возможность указать несколько расширений в одном элементе, позволяя пользователю выбирать среди файлов схожего типа (.mpg и .mpeg, .htm и .html, .jpg и .jpeg). В качестве разделителя расширений используется символ ;
Видеофайлы (*.mpg,*.avi) |*.mpg;*.avi|Все файлы (*.*) |*.*|
Расширение по умолчанию, которое будет использовано для фильтрации файлов, когда откроется окно выбора файлов, задается с помощью второго параметра.
Это первое расширение из тех, что указаны в фильтре команды:
*.mpg
Использование нескольких масок влияет и на расширение, заданное по умолчанию, то есть здесь вы также можете разделять их символом ;
*.mpg;*.avi
В полном виде параметры команды OpenFile выглядят так:
OpenFile("Видеофайлы (*.mpg,*.avi) |*.mpg;*.avi|Все файлы (*.*) |*.*|","*.mpg;*.avi")
Вот пример диалогового окна выбора файла, отображающего все файлы:
Как только пользователь выберет файл и нажмет кнопку Открыть (или дважды щелкнет по выбранному файлу), MMB поместит полный путь к файлу в переменную OpenFile$.
Также результат выполнения команды хранят три константы:
<File> - содержит те же данные, что и переменная OpenFile$.
CBK_OpenFile - содержит имя открытого файла.
CBK_OpenDir - содержит путь к файлу без его имени.
|
|
** Отображает диалог выбора файла с фильтрами для файлов MP3, WAV, MID и MOD с расширением MP3 по умолчанию OpenFile("MP3-аудио (*.mp3)|*.mp3|Файлы WAV (*.wav)|*.wav|Файлы MIDI (*.mid)|*.mid|Файлы MOD (*.mod)|*.mod|","*.mp3")
** Отображает диалог выбора файла с общим фильтром для файлов MP3, WAV, MID и MOD OpenFile("Звуковые файлы (*.mp3,*.wav,*.mid,*.mod)|*.mp3;*.wav;*.mid;*.mod|","*.mp3;*.wav;*.mid;*.mod")
** Отображает диалог выбора файла с фильтром для файлов EXE и фильтром для всех файлов OpenFile("Приложения (*.exe)|*.exe|Все файлы (*.*)|*.*|","*.exe")
** Отображает диалог выбора файла с фильтром для файлов HTML и фильтром для всех файлов. Результат отображается в сообщениях. OpenFile("Файлы HTML (*.htm)|*.htm|Все файлы (*.*)|*.*|","*.htm") Message("Содержимое переменной OpenFile$:","OpenFile$") file$=<File> Message("Содержимое константы <File>:","file$") file$=CBK_OpenFile Message("Имя выбранного файла:","file$") folder$=CBK_OpenDir Message("Каталог выбранного файла:","folder$")
** Открывает окно выбора файла в определенном каталоге (<SrcDir>) с фильтром для файлов TXT path$=<SrcDir>+'*.txt' OpenFile("Текстовые файлы (*.txt)|*.txt|Все файлы (*.*)|*.*|","path$")
|
|
|
Дополнительная информация
|
|
Диалоговое окно отображается поверх окна приложения, и приложение будет неактивно до тех пор, пока пользователь не закроет диалоговое окно.
|
|
|
SaveFile("Фильтр","РасширениеПоУмолчанию")
|
|
Отображает диалоговое окно сохранения файла. Первый параметр задает фильтр по расширению. Второй параметр задает расширение, используемое по умолчанию.
Фильтр - задает форматы файлов, которые будут отображаться в диалоговом окне. MMB позволяет использовать несколько масок, при этом выбор типа файлов осуществляется посредством выпадающего списка в диалоговом окне. Фильтр представляет собой набор строк (элементов) в первом параметре команды. Элементы фильтра и их составляющие разделяются символом |.
Элемент состоит из имени и расширения:
Текстовые файлы (*.txt) |*.txt
Текст синего цвета - это заголовок маски, а зеленый текст - непосредственно расширение. Они разделены символом |. Следующий элемент фильтра также отделяется символом |. Теперь фильтр будет выглядеть так:
Текстовые файлы (*.txt) |*.txt|Log-файлы (*.log) |*.log
Когда вы закончите добавлять элементы фильтра, необходимо указать символ | для того, чтобы обозначить окончание фильтра:
Текстовые файлы (*.txt) |*.txt|Log-файлы (*.log) |*.log|
Вот так. Эта строка представляет собой первый параметр команды. Обычно в качестве последнего элемента указывают пункт "Все файлы", позволяя пользователю видеть все файлы (отключить фильтр). Вот как выглядит такой вариант фильтра:
Текстовые файлы (*.txt) |*.txt|Log-файлы (*.log) |*.log|Все файлы (*.*) |*.*|
Существует возможность указать несколько расширений в одном элементе, позволяя пользователю выбирать среди файлов схожего типа (.mpg и .mpeg, .htm и .html, .jpg и .jpeg). В качестве разделителя расширений используется символ ;
Текстовые файлы (*.txt,*.log) |*.txt;*.log|Все файлы (*.*) |*.*|
Расширение по умолчанию, которое будет использовано для фильтрации файлов, когда откроется окно сохранения файлов, задается с помощью второго параметра.
Это первое расширение из тех, что указаны в фильтре команды:
*.txt
Использование нескольких масок влияет и на расширение, заданное по умолчанию, то есть здесь вы также можете разделять их символом ;
*.txt;*.log
В полном виде параметры команды SaveFile выглядят так:
SaveFile("Текстовые файлы (*.txt,*.log) |*.txt;*.log|Все файлы (*.*) |*.*|","*.txt;*.log")
Вот пример диалогового окна сохранения файла, отображающего все файлы:
Как только пользователь выберет файл и нажмет кнопку Сохранить (или дважды щелкнет по выбранному файлу), MMB поместит полный путь к файлу в переменную OpenFile$.
Также результат выполнения команды хранят три константы:
<File> - содержит те же данные, что и переменная OpenFile$.
CBK_OpenFile - содержит имя открытого файла.
CBK_OpenDir - содержит путь к файлу без его имени.
|
|
** Отображает диалог сохранения файла с фильтрами для файлов TXT и LOG с расширением TXT по умолчанию SaveFile("Текстовые файлы (*.txt)|*.txt|Log-файлы (*.log)|*.log|","*.txt")
** Отображает диалог сохранения файла с общим фильтром для файлов TXT и LOG SaveFile("Текстовые файлы (*.txt,*.log)|*.txt;*.log|","*.txt;*.log")
** Отображает диалог сохранения файла с фильтром для файлов TXT и фильтром для всех файлов SaveFile("Текстовые файлы (*.txt)|*.txt|Все файлы (*.*)|*.*|","*.txt")
** Отображает диалог сохранения файла с фильтром для файлов TXT и фильтром для всех файлов. Результат отображается в сообщениях. SaveFile("Текстовые файлы (*.txt)|*.txt|Все файлы (*.*)|*.*|","*.txt") Message("Содержимое переменной OpenFile$:","OpenFile$") file$=<File> Message("Содержимое константы <File>:","file$") file$=CBK_OpenFile Message("Имя сохраненного файла:","file$") folder$=CBK_OpenDir Message("Каталог сохраненного файла:","folder$")
** Открывает окно сохранения файла в определенном каталоге (<SrcDir>) с фильтром для файлов TXT path$=<SrcDir>+'*.txt' SaveFile("Текстовые файлы (*.txt)|*.txt|Все файлы (*.*)|*.*|","path$")
|
|
|
Дополнительная информация
|
|
Диалоговое окно отображается поверх окна приложения, и приложение будет неактивно до тех пор, пока пользователь не закроет диалоговое окно.
|
|
|
BrowseForFolder("Приглашение","КорневойКаталог")
|
|
Открывает диалоговое окно выбора каталога. Первый параметр задает текст приглашения для пользователя, второй параметр задает начальный (корневой) каталог.
Оба параметра необязательные.
Приглашение - определяет текст приглашения для пользователя, которое будет отображаться в окне выбора каталога. Обычно приглашение выглядит так:
Выберите каталог:
Корневой каталог - задает начальный каталог и отключает возможность выбора среди каталогов верхнего уровня. По умолчанию начальным каталогом является:
Мой компьютер
Вот пример диалогового окна выбора каталога:
Как только пользователь выберет каталог и нажмет кнопку OK, путь к каталогу будет помещен в константу CBK_OpenDir.
|
|
** Отображает обычное окно выбора каталога BrowseForFolder("","")
** Отображает окно выбора каталога с приглашением BrowseForFolder("Выберите каталог:","")
** Отображает окно выбора каталога с приглашением и диском C:\ в качестве корневого каталога BrowseForFolder("Выберите каталог:","C:\")
** Отображает окно выбора каталога с приглашением и корневым каталогом, заданными с помощью переменных prompt$='Выберите каталог:' root$='C:\\' BrowseForFolder("prompt$","root$")
|
|
|
Дополнительная информация
|
|
Диалоговое окно отображается поверх окна приложения, и приложение будет неактивно до тех пор, пока пользователь не закроет диалоговое окно.
|
|
Открывает диалоговое окно выбора цвета. Не использует входных параметров.
Как только пользователь выберет цвет и нажмет кнопку OK, информация о выбранном цвете будет помещена в константу CBK_SelColor.
Выбор цвета осуществляется с помощью системы RGB, состоящей из 3 компонентов: Красный (Red), Зеленый (Green), Синий (Blue).
Каждый из компонентов может быть задан одним из 256 уровней. Чем больше значение уровня, тем больше интенсивность соответствующего компонента. Если вы укажете значение 0, то данный компонент использоваться не будет. Значение 255 указывает на максимальную интенсивность цвета.
Результатом выполнения команды является строка, содержащая три разделенных запятыми элемента, представляющих цвета RGB в диапазоне значений 0 - 255.
|
R,G,B
|
Результат
|
|
0,255,255
|
|
Чтобы получить значение выбранного цвета в системе RGB, просто назначьте содержимое константы CBK_SelColor любой текстовой переменной:
color$=CBK_SelColor
Полученное значение может выглядеть так:
119,230,95
|
|
** Отображает окно выбора цвета ColorPicker()
** Отображает окно выбора цвета, получает и отображает значение выбранного цвета ColorPicker() color$=CBK_SelColor Message("Выбранный цвет:","color$")
|
|
|
Дополнительная информация
|
|
Диалоговое окно отображается поверх окна приложения, и приложение будет неактивно до тех пор, пока пользователь не закроет диалоговое окно.
|
|
Открывает диалоговое окно выбора шрифта. Не использует входных параметров.
Как только пользователь выберет шрифт и нажмет кнопку OK, параметры выбранного шрифта будут помещены в константу CBK_Font. Параметры имеют следующий вид (строка с разделителем):
ШРИФТ|НАЧЕРТАНИЕ|РАЗМЕР|НАБОРСИМВОЛОВ|ВИДОИЗМЕНЕНИЕ|
Отдельные параметры можно получить из этой строки с помощью функции GetArrayItem.
Пример использования команды FontPicker и SetObjectParam можно найти в проекте 497_test_project.mbd.
|
|
** Отображает окно выбора шрифта FontPicker()
** Отображает окно выбора шрифта, получает и отображает параметры выбранного шрифта FontPicker() FontParam$=CBK_Font If (FontParam$<>'') Then
** имя шрифта item$[1]=GetArrayItem(FontParam$,|,1)
** начертание item$[2]=GetArrayItem(FontParam$,|,2)
** размер item$[3]=GetArrayItem(FontParam$,|,3)
** набор символов item$[4]=GetArrayItem(FontParam$,|,4)
** видоизменение item$[5]=GetArrayItem(FontParam$,|,5)
message$='Шрифт: '+item$[1]+CHR(13)+CHR(10)+'Начертание: '+item$[2]+CHR(13)+CHR(10)+'Размер: '+item$[3]+CHR(13)+CHR(10)+'Набор символов: '+item$[4]+CHR(13)+CHR(10)+'Видоизменение: '+item$[5]+CHR(13)+CHR(10)
End
Message("Параметры выбранного шрифта:","message$")
|
|
|
Дополнительная информация
|
|
Диалоговое окно отображается поверх окна приложения, и приложение будет неактивно до тех пор, пока пользователь не закроет диалоговое окно.
|
|
|