- •Add Cartographic Frame
- •Оператор Alter Button
- •Оператор Alter ButtonPad
- •Оператор Alter MapInfoDialog
- •Оператор Alter Menu
- •Оператор Alter Menu Item
- •Оператор Alter Object
- •Оператор Alter Table
- •Оператор Autolabel
- •Оператор Beep
- •Оператор Browse
- •Предложение Brush
- •Оператор Call
- •Предложение CharSet
- •Функция ChooseProjection$()
- •Оператор Close All
- •Оператор Close File
- •Оператор Close Table
- •Оператор Close Window
- •Оператор Commit Table
- •Оператор Continue
- •Предложение Control CheckBox
- •Предложение Control EditText
- •Предложение Control GroupBox
- •Предложение Control RadioGroup
- •Оператор Create Arc
- •Оператор Create ButtonPad
- •Оператор Create ButtonPads As Default
- •Оператор Create Cartographic Legend
- •Оператор Create Collection
- •Оператор Create Ellipse
- •Оператор Create Frame
- •Оператор Create Grid
- •Оператор Create Index
- •Оператор Create Legend
- •Оператор Create Line
- •Оператор Create Map
- •Оператор Create Map3D
- •Оператор Create Menu
- •Оператор Create Menu Bar
- •Оператор Create MultiPoint
- •Оператор Create Point
- •Оператор Create PrismMap
- •Оператор Create Ranges
- •Оператор Create Rect
- •Оператор Create Redistricter
- •Оператор Create Region
- •Оператор Create Report From Table
- •Оператор Create RoundRect
- •Оператор Create Styles
- •Оператор Create Table
- •Оператор Create Text
- •Оператор DDEExecute
- •Оператор DDEPoke
- •Оператор DDETerminate
- •Оператор DDETerminateAll
- •Оператор Declare Function
- •Оператор Declare Sub
- •Оператор Define
- •Оператор Delete
- •Оператор Dialog
- •Оператор Dialog Preserve
- •Оператор Dialog Remove
- •Оператор Dim
- •Оператор Do Case...End Case
- •Оператор Do...Loop
- •Оператор Drop Index
- •Оператор Drop Map
- •Оператор Drop Table
- •Оператор End MapInfo
- •Оператор End Program
- •Процедура EndHandler
- •Оператор Error
- •Оператор Exit Do
- •Оператор Exit For
- •Оператор Exit Function
- •Оператор Exit Sub
- •Оператор Export
- •Оператор Fetch
- •Оператор Find
- •Оператор Find Using
- •Предложение Font
- •Процедура ForegroundTaskSwitchHandler
- •Функция FormatDate$
- •Оператор Function...End Function
- •Оператор Get
- •Оператор Graph
- •оператор Import
- •Оператор Include
- •Оператор Input #
- •Оператор Insert
- •Функция IsPenWidthPixels()
- •Оператор Kill
- •Оператор Line Input
- •Процедура Main
- •Оператор Map
- •Оператор Menu Bar
- •Оператор Metadata
- •Оператор Note
- •Оператор Objects Check
- •Оператор Objects Clean
- •Оператор Objects Combine
- •Оператор Objects Disaggregate
- •Оператор Objects Enclose
- •Оператор Objects Erase
- •Оператор Objects Intersect
- •Оператор Objects Overlay
- •Оператор Objects Snap
- •Оператор Objects Split
- •Оператор OnError
- •Оператор Open File
- •Оператор Open Table
- •Оператор Open Window
- •Предложение Pen
- •Функция PenPattern()
- •Функция PenWidthToPoints()
- •Функция PointsToPenWidth()
- •Оператор Print
- •Оператор PrintWin
- •Оператор ProgressBar
- •Оператор Put
- •Оператор Randomize
- •Оператор ReDim
- •Оператор Register Table
- •Оператор Reload Symbols
- •Процедура RemoteMapGenHandler
- •Процедура RemoteMsgHandler
- •Оператор Rename File
- •Оператор Rename Table
- •Оператор Reproject
- •Оператор Resume
- •Оператор Rollback
- •Оператор Run Application
- •Оператор Run Command
- •Оператор Run Menu Command
- •Оператор Run Program
- •Оператор Save File
- •Оператор Save Workspace
- •Оператор Seek
- •Процедура SelChangedHandler
- •Оператор Select
- •Оператор Server Begin Transaction
- •Оператор Server Bind Column
- •Оператор Server Close
- •Оператор Server Commit
- •Оператор Server Create Map
- •Оператор Server Create Table
- •Оператор Server Create Style
- •Оператор Server Disconnect
- •Оператор Server Fetch
- •Оператор Server Refresh
- •Оператор Server Rollback
- •Оператор Server Set Map
- •Оператор Set Application Window
- •Оператор Set Area Units
- •Оператор Set Browse
- •Оператор Set Cartographic Legend
- •Оператор Set Command Info
- •Оператор Set CoordSys
- •Оператор Set Date Window
- •Оператор Set Digitizer
- •Оператор Set Distance Units
- •Оператор Set Drag Threshold
- •Оператор Set Event Processing
- •Оператор Set File TimeOut
- •Оператор Set Format
- •Оператор Set Graph
- •Оператор Set Handler
- •Оператор Set Layout
- •Оператор Set Legend
- •Оператор Set Map
- •Оператор Set Map3D
- •Оператор Set Next Document
- •Оператор Set Paper Units
- •Оператор Set PrismMap
- •Оператор Set ProgressBars
- •Оператор Set Redistricter
- •Оператор Set Resolution
- •Оператор Set Shade
- •Оператор Set Table
- •Оператор Set Target
- •Оператор Set Window
- •Оператор Shade
- •Оператор StatusBar
- •Оператор Stop
- •Оператор Sub...End Sub
- •Предложение Symbol
- •Оператор Terminate Application
- •Функция Time()
- •Процедура ToolHandler
- •Оператор Type
- •Оператор UnDim
- •Оператор Unlink
- •Оператор Update
- •Оператор Update Window
- •Оператор While...Wend
- •Процедура WinChangedHandler
- •Процедура WinClosedHandler
- •Процедура WinFocusChangedHandler
- •Оператор Objects Move
- •Оператор Objects Offset
- •Функция Offset()
- •Функция SphericalOffset()
- •Функция SphericalOffsetXY()
- •Функция CartesianOffsetXY()
- •Функция LayerInfo( )
- •Оператор Register
- •Оператор Server Create Map
- •Функция TableInfo( )
Оператор Put
Оператор Put
Назначение:
Записывает в открытый файл содержимое переменной.
Синтаксис:
Put [#]filenum, [ position ] , var_name
где
filenum – номер открытого файла, присвоенный оператором Open File; position – позиция файла для записи (не для последовательного доступа);
var_name – имя переменной, значение которой будет использовано как данные для записи.
Описание:
Оператор Put позволяет записывать значение переменной в файл, открытый в режиме произвольного или бинарного доступа.
Если файл был открыт оператором Open File в режиме последовательного доступа (OUTPUT или APPEND), то для записи в файл используйте операторы Print # или Write #.
Если файл был открыт оператором Open File в режиме произвольного доступа (RANDOM), то параметр position задает номер записи, в которую будет записано новое значение. Сразу после открытия файла позиция для записи – это начало (первая запись) файла. Последовательное выполнение оператора Put автоматически наращивает это смещение, если при этом не переопределяется значение position.
Если файл был открыт оператором Open File в режиме бинарного доступа (BINARY), то одновременно можно записывать только одну переменную. Порядок, по которому байты записываются в файл, зависит от Вашей вычислительной платформы (см. также предложение Byte Order в описании оператора Open File). Количество записанных байтов зависит от типа переменной var_name. Например, записывая целое число, оператор Put внесет четыре байта. Переменные MapBasic записываются следующим образом:
•Logical – однобайтовое значение, или 0, или другое ненулевое число.
•SmallInt – двубайтовое значение, целое число.
•Integer – четырехбайтовое значение, целое число.
•Float – восьмибайтовое число в формате IEEE.
•String – длина строки плюс один байт для нулевого значения, обозначающего конец строки.
•Date – 4 байта: SmallInt для года, байт для месяца и байт для дня.
•Другие типы – не записываются оператором Put.
параметр position задает смещение в файле в байтах. Сразу после открытия файла позиция для записи – это первый байт файла. Так же, как в предыдущем случае, последовательное выполнение оператора Put автоматически наращивает это смещение, с той разницей, что смещение происходит по байтам. При выполнении записи будет замещено столько байтов, сколько их в переменной, начиная с текущей позиции или заданной параметром position.
В файл, открытый в режиме BINARY, оператор Put не может записывать строки неопределенной длины; все переменные типа String должны иметь фиксированную длину. В файл, открытый в режиме RANDOM, оператор Put не может записывать строку, которая длиннее длины записи в файле.
Смотрите также:
EOF( ), Get, Open File, Print#, Write #
Справочник MapBasic |
421 |
Оператор Randomize
Оператор Randomize
Назначение:
Инициализирует функцию случайных чисел в MapBasic.
Синтаксис:
Randomize [ With seed ]
где
seed – целочисленное выражение.
Описание:
Оператор Randomize включает генератор случайных чисел, результат которого используется при последующих вызовах функции Rnd( ). Если оператор Randomize не был выполнен, то серия вызовов функций Rnd( ) будет образовывать хотя и случайную, но всегда одинаковую последовательность. Это происходит потому, что каждое новое значение функции Rnd( ) создается из предыдущего значения случайной последовательности. Оператор Randomize изменяет начальное значение для функции Rnd( ), и потому все последующие вызовы этой функции будут образовывать другую случайную последовательность.
Таким образом, оператор Randomize должен сработать один раз перед первым вызовом функции Rnd( ), чтобы направить процесс построения случайной последовательности в случайном направлении.
Если оператор Randomize используется с предложением With, то для создания начального случайного значения используется псевдослучайный генератор с входным значением seed. Если предложение With отсутствует, для построения начального случайного числа используется таймер Вашего компьютера.
Пример:
Randomize
Смотрите также:
Rnd( )
422 |
Справочник MapBasic |
Функция ReadControlValue( )
Функция ReadControlValue( )
Назначение:
Читает текущую величину или состояние элемента активного диалога.
Синтаксис:
ReadControlValue(id_num)
где
id_num – целочисленный идентификатор элемента диалога.
Величина, полученная в результате:
Величина типа Integer, Logical, String, Pen, Brush, Symbol или Font. Тип величины зависит от вида элемента диалога.
Описание:
Функция ReadControlValue( ) возвращает текущее значение одного из элементов активного диалога. Так как функция может считывать значения только из открытого диалога, ее можно употреблять только в процедурах обработчика элементов диалога.
Параметр id_num должен задавать идентификатор элемента, значение которого прочитает функция. Значение идентификатора должно быть присвоено элементу диалога в предложении
ID в операторе Dialog. Если значение параметра будет равно 01 (минус единица), функция
ReadControlValue( ) вернет значение элемента, который на текущий момент был изменен последним. Чтобы точно указать, какой элемент диалога Вы хотите считать, установите в
ReadControlValue( ) индекс Integer ID с соответствующим значением. Внимание: управление диалогом не имеет уникального идентификатора ID пока Вы не включите предложение ID в
предложение Control оператора Dialog.
Некоторые типы элементов диалога имеют несчитываемые значения (например, статические текстовые подписи). Таблица ниже показывает возможные типы значений, которые будут возвращены различными элементами диалога. Обратите внимание, что для элемента
MultiListBox существует специальная процедура чтения текущего значения. Так как пользователь может одновременно выбрать сразу несколько строк в списке элемента
MultiListBox, то чтение значений этого элемента требует многократного вызова функции
ReadControlValue( ).
Элемент диалога: Результат функции ReadControlValue( )
EditText |
Строка (тип String) длиной до 32767 байт, содержащая |
|
текст из окошка; если окошко элемента многострочное, то |
|
текст может содержать символы конца строки (код 10) |
CheckBox |
Логическое "Да" (TRUE), если флажок установлен, и |
|
логическое "Нет" (FALSE), если сброшен |
DocumentWindow |
Целое, представляющее индекс HWND для управления |
|
окном. Этот HWND должен быть передан как обработчик |
|
"родительского" окна в оператор Set Next Document Parent |
RadioGroup |
Целое число (тип SmallInt), номер выбранной кнопки. |
Справочник MapBasic |
423 |
Функция ReadControlValue( )
PopupMenu |
Целое число (тип SmallInt), номер выбранной строки в |
|
списке меню. |
ListBox |
Целое число (тип SmallInt), номер выбранной строки в |
|
списке (1 – первая строка, 0 – ни одной) |
BrushPicker |
Величина типа Brush |
FontPicker |
Величина типа Font |
PenPicker |
Величина типа Pen |
SymbolPicker |
Величина типа Symbol |
MultiListBox |
Целое число (тип Integer), номер выбранной строки в |
|
списке. |
|
Пользователь может выбрать одну или сразу несколько |
|
строк в списке MultiListBox. Но функция |
|
ReadControlValue( ) может возвращать только одну |
|
величину за один вызов. Поэтому для чтения всех значений |
|
необходимо функцию вызывать несколько раз. |
|
Первый вызов функции дает номер первой строки, |
|
выбранной в списке. Следующий – второй, и т. д. Когда все |
|
значения будут прочитаны, функция вернет ноль. Если |
|
ноль будет получен при первом вызове, то, следовательно, в |
|
списке ничего не выбрано. |
Ошибки
В результате выполнения функции могут генерироваться следующие коды ошибок:
ERR_FCN_ARG_RANGE, если неправильно значение аргумента;
ERR_INVALID_READ_CONTROL, если функция ReadControlValue( ) вызвана не при
активном диалоге.
Пример
Создадим диалог, предлагающий пользователю ввести свое имя. Если после этого
пользователь нажал кнопку "ОК", будет выведено приветствие (Например, "Добро
пожаловать, Света!").
Declare Sub Main
Declare Sub okhandler
Sub Main
Dialog
Title ”Представьтесь, пожалуйста”
Control OKButton |
|
Position 135, 120 |
Width 50 |
Title ”OK” |
|
Calling okhandler |
|
Control CancelButton |
|
Position 135, 100 |
Width 50 |
Title ”Отмена” |
|
Control StaticText |
|
Position 5, 10 |
|
Title ”Введите ваше имя:” |
|
Control EditText |
|
Position 55, 10 |
Width 160 |
Value ”(имярек)” |
|
424 |
Справочник MapBasic |
Функция ReadControlValue( )
Id 23 |
’arbitrary ID number |
End Sub |
|
Sub okhandler
’эта подпрограмма выполнится, если
’была нажата кнопка "OK"
Note ”Добро пожаловать, ” + ReadControlValue(23) + ”!”
End Sub
Смотрите также
Alter Control, Dialog, Dialog Preserve, Dialog Remove
Справочник MapBasic |
425 |