BlitzMax/Modules/System/System

From Wikibooks, open books for an open world
Jump to navigation Jump to search

The system module's primary function is to provide synchronization with the operating system.

This achieved through the PollSystem and WaitSystem commands. However, you don't usually have to call these commands yourself as other BlitzMax commands will call them when necessary.

In addition, the system module also provides commands for checking the date and time, for moving the mouse pointer and for generating simple system requesters.

Functions[edit | edit source]

PollSystem[edit | edit source]

Function PollSystem()

Description: Poll operating system

Information: PollSystem returns control back to the operating system, allowing such events as keystrokes and gadget actions to be processed. Control is then returned back to your program.

If PollSystem encounters a key, mouse or app suspend/resume/terminate event, an equivalent TEvent object event will be generated which may be intercepted using the EmitEventHook hook.

WaitSystem[edit | edit source]

Function WaitSystem()

Description: Wait for operating system

Information: WaitSystem returns control back to the operating system, waiting until an event such as a keystroke or gadget action occurs.

Note that WaitSystem may wait indefinitely if there is no possibility of any events occurring, so use with caution.

If WaitSystem encounters a key, mouse or app suspend/resume/terminate event, an equivalent TEvent object will be generated which may be intercepted using the EmitEventHook hook.

CurrentDate[edit | edit source]

Function CurrentDate$()

Description: Get current date

Returns: The current date as a string

Information: Returns the current date in the format: DD MON YYYY (i.e. 10 DEC 2000).

Example:

' currentdate.bmx

Print "The date is "+CurrentDate$()

CurrentTime[edit | edit source]

Function CurrentTime$()

Description: Get current time

Returns: The current time as a string

Information: Returns the current time in the format: HH:MM:SS (i.e. 14:31:57).

Example:

' currenttime.bmx

Print "The time is "+CurrentTime$()

MoveMouse[edit | edit source]

Function MoveMouse( x,y )

Description: Move mouse pointer

Information: MoveMouse positions the mouse cursor at a specific location within the current window or graphics display.

ShowMouse[edit | edit source]

Function ShowMouse()

Description: Make the mouse pointer visible

HideMouse[edit | edit source]

Function HideMouse()

Description: Make the mouse pointer invisible

Notify[edit | edit source]

Function Notify( text$,serious=False )

Description: Notify user

Information: Notify activates a simple user interface element informing the user of an event. The optional serious flag can be used to indicate a 'critical' event.

Note that a user interface may not be available when in graphics mode on some platforms.

Example:

' notify.bmx

Notify "Hello World"

Confirm[edit | edit source]

Function Confirm( text$,serious=False )

Description: Request user confirmation.

Returns: True or False depending on the user's selection

Information: Confirm activates a simple user interface element requesting the user to select between YES and NO options. If the user selects YES, then Confirm returns True. Otherwise, False is returned.

Note that a user interface may not be available when in graphics mode on some platforms.

Example:

' confirm.bmx

result=Confirm("Are you sure?")

print result

Proceed[edit | edit source]

Function Proceed( text$,serious=False )

Description: Request user confirmation or cancellation.

Returns: 1, 0 or -1 depending on the user's selection

Information: Proceed activates a simple user interface element requesting the user to select between YES, NO and CANCEL options. If the user selects YES, then Proceed return 1. If the user selects NO, then Proceed returns 0. Otherwise, Proceed returns -1.

Note that a user interface may not be available when in graphics mode on some platforms.

Example:

' proceed.bmx

result=Proceed("Are you sure you want to continue?")

print result

RequestFile[edit | edit source]

Function RequestFile$( text$,extensions$="",save_flag=False,initial_path$="" )

Description: Display system file requester.

Returns: The path of the selected file or an empty string if the operation was cancelled.

Information: text is used as the title of the file requester.

The optional extensions string can either be a comma separated list of file extensions or as in the following example groups of extensions that begin with a "group:" and separated by a semicolon. save_flag can be True to create a save-style requester, or False to create a load-style requester.

initial_path is the initial path for the file requester.

Note that a user interface may not be available when in graphics mode on some platforms.

Example:

' requestfile.bmx

filter$="Image Files:png,jpg,bmp;Text Files:txt;All Files:*"
filename$=RequestFile( "Select graphic file to open",filter$ )

Print filename

RequestDir[edit | edit source]

Function RequestDir$( text$,initial_path$="" )

Description: Display system folder requester.

Returns: The path of the selected folder or an empty string if the operation was cancelled.

Information: text is used as the title of the file requester.

initial_path is the initial path for the folder requester.

Note that a user interface may not be available when in graphics mode on some platforms.

Example:

' requestdir.bmx

path$=RequestDir("Select a Folder",CurrentDir())

Print "directory selected was "+path

OpenURL[edit | edit source]

Function OpenURL( url$ )

Description: Opens a URL with the system's default web browser.

Information: Note that a user interface may not be available when in graphics mode on some platforms.