PANORAMIC: HISTORY

MAIN PAGE

 

RELEASE

IMPROVEMENT
V0.9.26 : July 2,2015

 

  • System Objects : 5 new keywords
    • CONTAINER_TAB N : creates a system object CONTAINER_TAB and allocates it number N as reference
    • TAB N : creates a system object TABL and allocates it number N as reference
    • NUMBER_ACTIVATE : returns number of last activated system object (FORM)
    • NUMBER_SHOW : returns the number of last visible system object (FORM)
    • OBJECT_INTERNAL(N) : returns an internal number generated when the system object number N is created

     

  • Drawing: 2 new keywords
    • 2D_FILL_OFF : the future shapes 2D_CIRCLE and 2D_RECTANGLE will be transparent
    • 2D_FILL_ON : the future shapes 2D_CIRCLE and 2D_RECTANGLE will be filled with the color defined by 2D_FILL_COLOR

     

  • Events: 5 new keywords
    • ON_ACTIVATE N,L : executes the program from label L when the system object number N (FORM) is activated
    • ON_SHOW N,L : executes the program from label L when the system object number N (FORM) is shown
    • OFF_ACTIVATE N : ignores the event "activate" when the system object number N (FORM) is activated
    • OFF_SHOW N : ignores the event "show" when the system object number N (FORM) is shown
    • TRIGGER_CLICK N : simulates the event ON_CLICK on the system object number N

     

  • Archive : 4 new keywords
    • ARCHIVER_ADD D,F : archives the files of directory D to file F
    • ARCHIVER_EXTRACT F,D : extracts the archive file F to directory D
    • ARCHIVER_OFF : stops archiver
    • ARCHIVER_ON : starts archiver

     

  • System : 3 new keywords
    • SEPARATOR_IS_POINT : decimal separator for floating number is point (option by default)
    • SEPARATOR_IS_COMMA : decimal separator for floating number is comma
    • MAIL_SEND A,S,B : sends ane e-mail of subject S and body B to the address A

     

  • Sprites : 2 nouveaux mots-clés
    • SPRITE_CREATE_SHOW : the next created SPRITEs will be visible
    • SPRITE_CREATE_HIDE : the next created SPRITEs will not be visible

     

V0.9.25 : April 19, 2014
  • Camera rotation: 5 new keywords
    • CAM_PITCH A : rotates the camera around its X-axis by the angle A (degrees)
    • CAM_TURN A : rotates the camera around its Y-axis by the angle A (degrees)
    • CAM_ROLL A : rotates the camera around its Z-axis by the angle A (degrees)
    • CAM_MOVE D : moves the camera by the distance D in its pointing direction
    • POINT_OBJECT N : points the camera to the 3D object number N
  • System Objects: 3 new keywords
    • PANEL N : creates a system object PANEL and allocates it number N as reference
    • HVIEWER N : creates a system object HVIEWER and allocates it number N as reference
    • CARET_POSITION(N) : returns the caret position of the system object number N

     

  • String Functions: 3 new keywords
    • REVERSE$(S) : returns the string in which the character order of S is reversed
    • INSTR_POS(S,C,P) : returns the position of string C in the string S from position P
    • RIGHT_POS$(S,P) : returns a string made with string S from position P
V0.9.24 : March 28, 2013
  • GRID: 7 new keywords
    • GRID_COLUMN_INSERT N,C : inserts a column in position C in the GRID number N
    • GRID_ROW_INSERT N,R : inserts a row in position R in the GRID number N
    • GRID_ROW_DELETE N,R : deletes row R in GRID number N
    • GRID_COLUMN_DELETE N,C : deletes column C in GRID number N
    • GRID_LOAD N,F: loads the file F into the GRID number N
    • GRID_SAVE N,R,C,F : saves the GRID number N into the file F, from row 1 to R and from column 1 to C
    • GRID_CLEAR N,R,C : clears cells of GRID number N from row 1 to R and from column 1 to C

     

  • Subroutine : 4 new keywords
    • SUB : begins a subroutine
    • END_SUB : ends a subroutine
    • EXIT_SUB : quits a subroutine whithout executing END_SUB
    • DIM_LOCAL : defines one or several variables inside a subroutine

     

  • Memory Reading/Writing: 2 new keywords
    • PEEK(A) : returns the content (byte from 0 to 255) of address A
    • POKE A,V : places the value V (byte from 0 to 255) at address A

     

  • Number of particular system objects: 6 new keywords
    • NUMBER_PRINT_TARGET : returns the system object number which is the print "target
    • NUMBER_2D_TARGET : returns the system object number which is the 2D commands "target"
    • NUMBER_COMMAND_TARGET : returns the system object number which is the commands "target"
    • NUMBER_INPUT_SOURCE : returns the system object number which is the input "source"
    • NUMBER_SPRITE_TARGET : returns the system object number which is the SPRITE commands "target"
    • NUMBER_3D_TARGET : returns the system object number which is the 3D commands "target"

     

  • Files: 3 new keywords
    • FILE_FILEBIN_READ(N) : returns one byte read from the binary file number N
    • FILEBIN_HEXA_READ$(N,C) : returns C bytes read from the binary file number N
    • FILE_READLN$(N) : returns the current line of the text file number N

     

  • SPRITE: 2 new keywords
    • SPRITE_SHOW_ALL : makes visible all the SPRITEs
    • SPRITE_HIDE_ALL : makes visible all the SPRITEs
V0.9.23 : July 19, 2012
  • Events: 4 new keywords
    • ON_DOUBLE_CLICK N,L : executes the program from label L when the system object number N is double-clicked
    • OFF_DOUBLE_CLICK N : ignores the event "double click" when the system object number N is double-clicked
    • DOUBLE_CLICKED(N) : returns 1 if the system object number N is double-clicked, 0 otherwise
    • NUMBER_DOUBLE_CLICK : returns the number of the last double-clicked object

     

  • GRID: 2 new keywords
    • GRID_X_TO_COLUMN(N,X) : returns the column number of the GRID number N from the coordinate X
    • GRID_Y_TO_ROW(N,Y) : returns the row number of the GRID number N from the coordinate Y

     

  • FORM: 3 new keywords
    • MINIMIZE N : minimizes the size of the FORM number N
    • MAXIMIZE N : maximizes the size of the FORM number N
    • NORMAL N : comes back to the size of the FORM number N before a command MINIMIZE or MAXIMIZE

     

  • Misc: 4 new keywords
    • HANDLE_FORM("titre") : returns the handle of a FORM (PANORAMIC or not) the title (caption) of which is known
    • PAUSE N : waits N milliseconds, but remains active
    • APPLICATION_TITLE T$ : set a title to the application and to the MESSAGE windows
    • FREE Variable : releases the variable
  •  

  • The system object number are inside 1 to 9999
  • Improvements:
    • CLIPBOARD_COPY and CLIPBOARD_PASTE can be used with system objects PICTURE et IMAGE
    • FONT_SIZE : the size is not limited to 30 any longer
    • COLOR can be used with system objects SPIN, GRID, CONTAINER, SCENE2D, CONTAINER_OPTION

     

  • Bugs fixed:
    • in the commands 3D_PLANE, 3D_HIDE, 3D_SHOW, 3D_TRANSPARENT, 3D_MOVE, 3D_LOAD_TEXTURE, 3D_LOAD_TEXTURE_TOP, 3D_LOAD_TEXTURE_BACK, 3D_LOAD_TEXTURE_LEFT, 3D_LOAD_TEXTURE_FRONT, 3D_LOAD_TEXTURE_RIGHT, 3D_LOAD_TEXTURE_BOTTOM
    • in the functions O3D_X_POSITION(), O3D_Y_POSITION(), O3D_Z_POSITION(), O3D_X_ROTATE(), O3D_Y_ROTATE(), O3D_Z_ROTATE(), O3D_X_SCALE(), O3D_Y_SCALE(), O3D_Z_SCALE(), OBJECT_EXISTS(N), OBJECT_TYPE(N), O3D_OBJECT_EXISTS(N), O3D_OBJECT_TYPE(N), SPRITE_EXISTS(N), TEXT_WIDTH(N,T)

 

V0.9.22 : November 5, 2011
  • Files: 14 new keywords
    • FILE_EXTRACT_DISK$(F) : returns a disk name from F
    • FILE_EXTRACT_NAME$(F) : returns a file name from F
    • FILE_EXTRACT_PATH$(F) : returns a file path from F
    • FILE_EXTRACT_EXTENSION$(F) : returns a file extension from F
    • FILE_READ_ONLY F : sets the attribute "read only" of the file F
    • FILE_READ_ONLY_OFF F : cancels the attribute "read only" of the file F
    • FILE_HIDE F : sets the attribute "hide" of the file F
    • FILE_HIDE_OFF F : cancels the attribute "hide" of the file F
    • FILE_SYSTEM F : sets the attribute "system" of the file F
    • FILE_SYSTEM_OFF F : cancels the attribute "system" of the file F
    • FILE_ARCHIVE F : sets the attribute "archive" of the file F
    • FILE_ARCHIVE_OFF F : cancels the attribute "archive" of the file F
    • FILE_COPY F1,F2 : copies the existing file F1 to the new file F2
    • FILE_MOVE F1,F2 : moves the existing file F1 to the new file F2

     

  • System Objects: 5 new keywords
    • OBJECT_EXISTS(N) : returns 1 if the system object number N exists, 0 otherwise
    • OBJECT_PARENT(N) : returns the parent number of the system object number N
    • OBJECT_TYPE(N) : returns the type of the system object number N
    • TEXT_HEIGHT(T,N) : returns the height of the text T if it is displayed by the system object number N
    • TEXT_WIDTH(T,N) : returns the width of the text T if it is displayed by the system object number N

     

  • 3D Objects: 2 new keywords
    • O3D_OBJECT_EXISTS(N) : returns 1 if the 3D object number N exists, 0 otherwise
    • O3D_OBJECT_TYPE() : returns the type of the 3D object number N

     

  • SPRITE: 1 new keyword
    • SPRITE_EXISTS(N) : returns 1 if the SPRITE number N exists, 0 otherwise

     

  • System: 7 new keywords
    • DISK_EXISTS(D) : returns 1 if the disk D exists, 0 otherwise
    • DISK_KILO_FREE(D) : returns the free space on the disk D
    • DISK_KILO_SIZE(D) : returns the size if disk D
    • BEEP_ERROR : generates the error system sound
    • BEEP_EXCLAMATION : generates the exclamation system sound
    • BEEP_INFORMATION : generates the information system sound
    • BEEP_QUESTION : generates the question system sound

     

  • Mathematics: 6 new keywords
    • MAX(X,Y) : returns the greater of X and Y
    • MIN(X,Y) : returns the lesser of X and Y
    • MOD(X,Y) : returns the modulo of X and Y
    • HEX(V$) : returns a decimal value from a hexadecimal value V$
    • HEX$(V) : returns a hexadecimal value from a decimal value V
    • WRAP_VALUE(A) : returns a value that wraps the angle A between 0 and 360

 

V0.9.21 : May 7, 2011
  • 6 keywords for the system object GRID:
    • GRID_COLUMN_SIZING_ON N : the columns of the GRID number N can be manually resized.
    • GRID_COLUMN_SIZING_OFF N : the columns of the GRID number N cannot be manually resized.
    • GRID_ONE_COLUMN_WIDTH N,C,V : set the width of the column number C at V pixels in the GRID number N.
    • GRID_ONE_ROW_HEIGHT N,R,V : set the height of the row number R at V pixels in the GRID number N.
    • GRID_ROW_SIZING_ON N: the rows of the GRID number N can be manually resized.
    • GRID_ROW_SIZING_OFF N : the rows of the GRID number N cannot be manually resized.

     

  • 5 keywords for a new system object IMAGE:
    • IMAGE N : creates a system object IMAGE and allocates it number N as reference.
    • SPRITE_IMAGE_LOAD N1,N2 : loads the picture from the object number N2 to the SPRITE number N1.
    • 3D_IMAGE_TEXTURE N1,N2 : applies to the 3D object number N1 the texture from the IMAGE object number N2.
    • 2D_IMAGE_COPY N,X1,Y1,X2,Y2 : copies the area defined by the points (X1,Y1) and (X2,Y2) to the IMAGE number N.
    • 2D_IMAGE_PASTE N,X,Y : pastes the picture from the IMAGE number N to the point (X,Y).

     

  • 2 keywords for the mode TRACE:
    • TRACE_ON F : starts the mode trace and creates the text file F.
    • TRACE_OFF : stops the mode trace and closes the text file.
  • 1 keyword for the new system object CONTAINER:
    • CONTAINER N : creates a system object CONTAINER and allocates it number N as reference.
  • 4 misc keywords:
    • TIMER_OFF_ALL : makes inactive all the system objects of type TIMER.
    • NUMBER_CURRENT_LINE : returns the number of current line.
    • MIDI_INSTRUMENT N : the used MIDI instrument is the instrument number N.
    • OFF_CLOSE N : ignores the event handler "close" when the system object number N (FORM) is closed.
V0.9.20 : November 29, 2010
  • 10 keywords for a new system object GRID:
    • GRID N : creates the GRID number N.
    • GRID_COLUMN N,C : set the number of columns of the GRID number N.
    • GRID_COLUMN_FIXED N,F : set the number of fixed columns of the GRID number N.
    • GRID_COLUMN_WIDTH N,W : set the column width of the GRID number N.
    • GRID_RAW N,R : set the number of raws of the GRID number N.
    • GRID_RAW_HEIGHT N,H : set the raw height of the GRID number N.
    • GRID_RAW_FIXED N,F : set the number of fixed raws of the GRID number N.
    • GRID_FIXED_COLOR N,R,G,B : set the fixed part color (R,G,B) of the GRID number N.
    • GRID_WRITE N,R,C,S : writes the value of S into the cell (R,C) of the GRID number N.
    • GRID_READ$(N,R,C) : returns the content of the cell (R,C) of the GRID number N.

     

  • 4 system variables for the events:
    • NUMBER_CLICK : system variable, number of the last clicked object (-1 when initiated).
    • NUMBER_CHANGE : system variable, number of the last changed object (-1 when initiated).
    • NUMBER_KEY_UP : system variable, number of the last object on which a key is released (-1 when initiated).
    • NUMBER_KEY_DOWN : system variable, number of the last object on which a key is pressed (-1 when initiated).

     

  • 4 functions for the system objects:
    • ACTIVE(N) : returns 1 if the system object number N is active, 0 otherwise.
    • INACTIVE(N) : returns 1 if the system object number N is inactive, 0 otherwise.
    • HIDE(N) : returns 1 if the system object number N is hidden, 0 otherwise.
    • SHOW(N) : returns 1 if the system object number N is visible, 0 otherwise.

     

  • 1 command for OPEN_DIALOG and SAVE_DIALOG:
    • DIR_DIALOG N,D : the current directory of the system object number N becomes the directory D.

     

  • 1 command for FORM:
    • ON_CLOSE N,L : executes the program from label L when the system object number N (FORM) is closed.

     

  • 6 commands for the 3D objects:
    • 3D_ROTATE N,X,Y,Z : rotates the 3D object number N around its axes.
    • 3D_SCALE N,CX,CY,CZ : shrinks or stretches the 3D object number N along its axes.
    • 3D_POSITION N,X,Y,Z : set the position in (X,Y,Z) of the 3D object number N.
    • 3D_PLANE N : creates a plane 3D object and gives it the number N as reference.
    • 3D_U_TILE N,T : set the tile number on U-coordinate of the 3D_PLANE number N.
    • 3D_V_TILE N,T : set the tile number on V-coordinate of the 3D_PLANE number N.

     

  • 13 commands for the 2D drawing:
    • 2D_FLOOD X,Y,R,G,B : paints a surface from a point.
    • 2D_PEN_DOT : set the drawing style (pen): series of dots.
    • 2D_PEN_DASH : set the drawing style (pen): series of dashes.
    • 2D_PEN_SOLID : set the drawing style (pen): solid.
    • 2D_PEN_DASH_DOT : set the drawing style (pen): alternating dashes and dots.
    • 2D_PEN_DASH_DOT_DOT : set the drawing style (pen): series of dash-dot-dot combinations.
    • 2D_FILL_SOLID : set the filling pattern of figures: solid.
    • 2D_FILL_CROSS : set the filling pattern of figures: crossed lines.
    • 2D_FILL_VERTICAL : set the filling pattern of figures: vertical lines.
    • 2D_FILL_HORIZONTAL : set the filling pattern of figures: horizontal lines.
    • 2D_FILL_DIAGONAL_CROSS : set the filling pattern of figures: diagonal crossed lines.
    • 2D_FILL_DIAGONAL_DOWN : set the filling pattern of figures: diagonal down lines.
    • 2D_FILL_DIAGONAL_UP : set the filling pattern of figures: diagonal up lines.

     

  • 6 commands for the collisions:
    • 3D_COLLISION_AS_SPHERE N : for the collisions, the 3d object number N is defined by its bounding sphere.
    • 3D_COLLISION_AS_CUBE N : for the collisions, the 3D object number N is defined by a bounding axis-aligned "cube".
    • 3D_COLLISION_AS_ELLIPSOID N : for the collisions, the 3D object number N is defined by its bounding axis-aligned ellipsoid.
    • 3D_COLLISION_AS_POINT N : for the collisions, the 3D object number N is punctual.
    • 3D_COLLISION_AS_FACES N : for the collisions, the 3D object number uses its faces.
    • O3D_COLLISION(N1,N2) : returns 1 if the 3D objects number N1 and N2 collide, 0 otherwise.

     

  • 7 commands for SKYBOX:
    • 3D_LOAD_TEXTURE_BOTTOM N,F : applies to the bottom face of the object 3D_SKYBOX number N the texture in the file F.
    • 3D_LOAD_TEXTURE_FRONT N,F : applies to the front face of the object 3D_SKYBOX number N the texture in the file F.
    • 3D_LOAD_TEXTURE_RIGHT N,F : applies to the right face of the object 3D_SKYBOX number N the texture in the file F.
    • 3D_LOAD_TEXTURE_BACK N,F : applies to the back face of the object 3D_SKYBOX number N the texture in the file F.
    • 3D_LOAD_TEXTURE_LEFT N,F : applies to the left face of the object 3D_SKYBOX number N the texture in the file F.
    • 3D_LOAD_TEXTURE_TOP N,F : applies to the top face of the object 3D_SKYBOX number N the texture in the file F.
    • 3D_SKYBOX N : creates a SKYBOX and gives it the number N as reference.
  • 5 commands for the fog:
    • FOG_ON : starts the fog effect in the 3D target object (SCENE3D).
    • FOG_OFF : stops the fog effect in the 3D target object (SCENE3D).
    • FOG_COLOR R,G,B : set the fog color in the 3D target object (SCENE3D).
    • FOG_DISTANCE_MIN D : set the fog minimum distance in the 3D target object (SCENE3D).
    • FOG_DISTANCE_MAX D : set the fog maximum distance in the 3D target object (SCENE3D).

     

  • 2 functions to test variable and label:
    • VARIABLE(V$) : returns 1 if V$ represents a defined variable, 0 otherwise.
    • LABEL(V$) : returns 1 if V$ represents an existing LABEL, 0 otherwise.

     

  • Bugs fixed:
    • LOAD_FILE on SOUND.
    • print "f(";a$
    • FULL_SPACE was inactive on PICTURE
V0.9.19 : June 17, 2010
  • 3 new commands for SPRITES:
    • SPRITE_X_SCALE N,CX : shrinks or stretches the width of the sprite number N.
    • SPRITE_Y_SCALE N,CY : shrinks or stretches the height of the sprite number N.
    • SPRITE_SCALE N,CX,CY : shrinks or stretches the width and height of the sprite number N.
  • 2 new functions for SPRITES:
    • SPRITE_X_POSITION(N) : returns the X coordinate of the SPRITE number N.
    • SPRITE_Y_POSITION(N) : returns the Y coordinate of the SPRITE number N.

     

  • 5 new commands for a new object TIMER:
    • TIMER N : creates a system object TIMER and allocates it number N as reference.
    • ON_TIMER N,L : executes the program from label L when the TIMER number N triggers.
    • TIMER_ON N : makes active the system object TIMER number N.
    • TIMER_OFF N : makes inactive the system object TIMER number N.
    • TIMER_INTERVAL N,P : changes the triggering period P of the system object TIMER number N.

     

  • 4 new commands for binary files:
    • FILEBIN_HEXA_READ N,C,V$ :reads C bytes from the binary file number N and stores the values to the variable V$.
    • FILEBIN_HEXA_WRITE N,C,S : writes C bytes to the binary file number N, data to be written are in the string expression S.
    • FILEBIN_BLOCK_READ N,C,V%(P) : reads C bytes from the binary file number N and stores the values to the array V% from the index P.
    • FILEBIN_BLOCK_WRITE N,C,V%(P) : writes C bytes to the binary file number N, data to be written are in the array V% from the index P.

     

  • 4 new keywords for clipboard management:
    • CLIPBOARD_STRING_COPY S : copy to the clipboard the string expression S.
    • CLIPBOARD_STRING_PASTE$ : returns the text of the clipboard.

     

  • 3 new commands for managing the events:
    • OFF_CHANGE N : ignores the event "change" when the system object number N changes.
    • OFF_KEY_DOWN N : ignores the event "key_down" when the user presses any key while the system object number has focus.
    • OFF_KEY_UP N : ignores the event "key_up" when the user releases any key while the system object number has focus.

     

  • new keywords for clipboard management:
    • CHAIN F : loads the source file F then executes it.
    • OFF_ERROR_GOTO : cancels the command ON_ERROR_GOTO.

     

  • Bugs fixed:
    • Structure SELECT / CASE / END_SELECT : if the selected value is 0 and if there is no case with 0, the program was reinitialized.
    • When a FORM with objects was deleted, the numbers of deleted objects were not free.
    • Fatal error when executing the line : DIM a$(100), b(100), c(100), d(100), e$(100)
    • The command FILEBIN_OPEN_WRITE deleted the file and created a new one with a name in capital letters.
    • The syntax of SELECT_TEXT was not compatible with MID$.
    • The commands ADR(A), ADR(A$) and ADR(A%) were not operational.
V0.9.18 : March 23, 2010
  • 4 new commands:
    • SECRET_ON N : the characters of EDIT number N are displayed clearly.
    • SECRET_OFF N : the characters of EDIT number N are displayed as stars.
    • CARRET_POSITION N,P : positions the carret after the P-th character in the system object number N.
    • SELECT_TEXT N,C,P : selects C characters from the position P in the system object number N.
  • 1 new function to read the selected text:
    • SELECT_READ$(N) : returns the selected text in the system object number N.

 

  • 10 new functions to display messages-windows:
    • MESSAGE_CONFIRMATION_OK() : displays a confirmation message to be acknowledged.
    • MESSAGE_CONFIRMATION_YES_NO() : displays a confirmation message to be answered by yes or not.
    • MESSAGE_ERROR_OK() : displays an error message to be acknowledged.
    • MESSAGE_ERROR_YES_NO() : displays an error message to be answered by yes or not.
    • MESSAGE_INFORMATION_OK() : displays an information message to be acknowledged.
    • MESSAGE_INFORMATION_YES_NO() : displays an information message to be answered by yes or not.
    • MESSAGE_INPUT(T1,T2,T3) : displays a window with caption T1, an ALPHA with caption T2, an EDIT displaying T3 and two buttons.
    • MESSAGE_INPUT$(T1,T2,T3) : displays a window with caption T1, an ALPHA with caption T2, an EDIT displaying T3 and two buttons.
    • MESSAGE_WARNING_OK() : displays a warning message to be acknowledged.
    • MESSAGE_WARNING_YES_NO() : displays a warning message to be answered by yes or not.

     

  • 1 new system variable to treat the message_window MESSAGE_INPUT():
    • MESSAGE_TEXT$ : returns the text in the EDIT of MESSAGE_INPUT()

 

  • Bugs fixed:
    • overlapping of arrays: when 2 arrays were defined one after the other, the last element of first array and the first element of the second array pointed on the same place in memory.
    • error_french was not active for the following mathematical functions LOG(), LOG2() and LOG10()
    • 3D_LOAD_OBJECT did not work for objects 3D_MESH (3DS) and for objects 3D_ACTOR (MD2)
    • INSERT$ did not work at all
    • #include did not work for creating executables and application
V0.9.17 : February 18, 2010
  • 6 new commands:
    • EXECUTE_WAIT : launches a software and waits for the end (same syntax as EXECUTE)
    • TO_BACKGROUND : sends a FORM to background
    • TO_FOREGROUND : brings a FORM to foreground
    • BRIGHTNESS N,V : changes the brightness of the PICTURE N
    • CONTRAST N,V : changes the contrast of the PICTURE N
    • GAMMA N,V : changes the gamma of the PICTURE N

     

  • 5 new system variables:
    • NUMBER_OBJECTS : returns the number of system objects
    • NUMBER_3D_OBJECTS : returns the number of 3D objects
    • NUMBER_SPRITES : returns the number of SPRITES
    • NUMBER_VARIABLES : returns the number of variables
    • NUMBER_EVENTS : returns the number of events in the event waiting list

     

  • 3 new functions returning the primary colors of a pixel:
    • V=COLOR_PIXEL_BLUE(N,X,Y) returns the blue primary component of a pixel in the system object number N
    • V=COLOR_PIXEL_GREEN(N,X,Y) returns the green primary component of a pixel in the system object number N
    • V=COLOR_PIXEL_RED(N,X,Y) returns the blue primary component of a pixel in the system object number N
  • 2 new system objects:
    • SPIN N : creates an object SPIN. With this object, we can use:
      • the position commands TOP N,V and LEFT N,V
      • the dimension commands HEIGHT N,V and WIDTH N,V
      • the limitation commands MIN N,V and MAX N,V
      • the writing command POSITION N,V
      • the functions returning the positions V=TOP(N) and V=LEFT(N)
      • the functions returning the dimensions V=HEIGHT(N) and V=WIDTH(N)
      • the reading function V=POSITION(N)
      • the functions returning the handle (object number for Windows) V=HANDLE(N)
    • CONTAINER_OPTION N : creates a system object containing OPTIONs. Two OPTIONs cannot be checked at the same time. An OPTION belongs to a CONTAINER_OPTION through the command PARENT. With this object, we can use:
      • the position commands TOP N,V and LEFT N,V
      • the dimension commands HEIGHT N,V and WIDTH N,V
      • the limitation commands MIN N,V and MAX N,V
      • the explaining text command CAPTION N,A$
      • the functions returning the positions V=TOP(N) and V=LEFT(N)
      • the functions returning the dimensions V=HEIGHT(N) and V=WIDTH(N)
      • the explaining text function V$=CAPTION$(N)
      • the functions returning the handle (object number for Windows) V=HANDLE(N)
  • Bugs fixed:
    • in a comment beginning by APOSTROPHE, a statement after the separator is not executed.
    • it is possible to draw on a JPG picture, loaded in a PICTURE.
    • when a BMP picture is loaded in a PICTURE, the drawing colors set by 2D_PEN_COLOR are correct.
    • CAPTION$(N) is effective for a SUB_MENU.
    • a SCENE2D can have a FORM as a father.
    • STRETCH_ON and STRETCH_OFF are working again with a PICTURE.
    • FILE_ADD adds a file correctly.

     

  • The events are now processed through a waiting list: if an event occurs during the treatment of another event, it is placed in the event waiting list and is processed when the treatment of all the older events is finished.
V0.9.16 : November 28, 2009
  • The bug generated by version V0.9.15 is fixed:
    • the function CLICKED() is working again (not operating in V0.9.15)
V0.9.15 : October 19, 2009
  • In PRINT statement, a semicolon can be used to separated fields to be displayed (PRINT a;" text ";b)

 

  • APOSTROPHE : the apostrophe can be used exactly like rem.

 

  • 1 new keyword for the multimedia:
    • PLAY_WAIT : plays the content of a system object (SOUND or MOVIE) and waits for the end.

 

  • For INPUT: what is entered is displayed on the same line as the displayed text (or the interrogation mark).

 

  • some minor changes in the string functions:
    • LEFT$: returns now the empty string if the passed number of characters is zero
    • RIGHT$: returns now the empty string if the passed number of characters is zero
    • MID$: returns now the empty string if the passed number of characters is zero

 

  • 2 new keywords for the string functions:
    • INSTR(A$,B$) : returns the position in A$ of the first character of B$
    • INSERT$(A$,B$,P) : returns a string made with B$ inserted into A$ in position P

 

  • 2 new equivalent keywords to remove a directory:
    • RMDIR D$ or DIR_REMOVE D$ : removes the empty directory D$

     

  • 1 new keyword to enrich the system object functions:
    • CAPTION$(N) : returns the caption of the system object number N

     

  • 5 new keywords to handle events:
    • ON_KEY_UP : executes the program from a label when the user releases any key
    • ON_KEY_DOWN : executes the program from a label when the user presses any key
    • OFF_CLICK : ignore the event "click"

     

  • 4 keywords to treat these events:
    • KEY_UP_CODE : returns the code of the key the user is releasing
    • KEY_UP_SPECIAL : returns the code of the special key the user is releasing
    • KEY_DOWN_CODE : returns the code of the key the user is pressing
    • KEY_DOWN_SPECIAL : returns the code of the special key the user is pressing

     

  • 2 new keywords to handle Excel files:
    • EXCEL_FILE_OPEN to open an existing Excel file
    • EXCEL_FILE_CLOSE to close an Excel file

     

  • 2 keywords to know the size of the screen:
    • SCREEN_X : system variable which returns the screen width in pixels
    • SCREEN_Y : system variable which returns the screen height in pixels

     

  • 4 new keywords to change the cursor:

    • CURSOR_BEAM : displays a capital I-shaped cursor
    • CURSOR_POINT : displays an hand-shaped cursor
    • CURSOR_NOPARKING : displays a no parking sign-shaped cursor
    • CURSOR_HOURGLASS : displays an hourglass-shaped cursor

     

    CURSOR_DEFAULT displays now the cursor CURSOR_BEAM for the objects EDIT, MEMO, COMBO and the cursor CURSOR_ARROW for the other objects

V0.9.14 : September 12, 2009
  • Some bugs are fixed :
    • in "for ato%=1 to 10" the sequence "to" inside the variable name does not cause an error
    • ASC(empty string) returns now 0. In the previous versions, there were an error message in that case.
    • There is no window to acknowledge when starting.
    • The invisible system objects can be used without limitation (usefull for SUB_MENU).
V0.9.13 : August 15, 2009
  • Full version in PANORAMIC_EDITOR (no limitation in system objects number, 3D objects number, variables number, labels number, ...)

 

  • PANORAMIC_EDITOR can be called with the source file name passed in parameter.

 

  • 2 new keywords for checking or unchecking the system objects CHECK and OPTION:
    • MARK_ON : checks a CHECK or an OPTION
    • MARK_OFF : unchecks a CHECK or an OPTION

     

  • 4 new keywords for managing the errors:
    • ON_ERROR_GOTO label : if an error occurs, jumps to the label
    • ERROR_LINE : system variable giving the error source line number
    • ERROR_NUMBER : system variable giving the error number (its code)
    • ERROR_TYPE$ : system variable giving the error description (its type)

     

  • 2 new keywords for managing the errors description langage:
    • ERROR_FRENCH : choses French as error description language
    • ERROR_ENGLISH : choses English as error description language (option by default)
V0.9.12 : April 24, 2009
  • 3 new keywords to use the system clipboard:
    • CLIPBOARD_COPY N : copy to the clipboard the selected text of the system object number N
    • CLIPBOARD_CUT N : copy to the clipboard then clear the selected text of the system object number N
    • CLIPBOARD_PASTE N : paste the text of the clipboard to the system object number N

 

  • 4 new keywords to play music notes:
    • MIDI_ON : starts using individual notes to the MIDI output
    • MIDI_PLAY N, T : plays the note N of type T to the MIDI output
    • MIDI_VOLUME V : changes the volume of notes played to the MIDI output
    • MIDI_OFF : stops using individual notes to the MIDI output

     

  • The syntax INPUT "Text";V is legal

 

  • 6 new keywords for options of the command INPUT:
    • INPUT_MARK_ON : displays an interrogation mark
    • INPUT_MARK_OFF : does not display an interrogation mark
    • INPUT_REDO_ON : executes again the command INPUT if no read value
    • INPUT_REDO_OFF : does not execute again the command INPUT if no read value
    • INPUT_VISIBLE_ON : displays the stroke keys
    • INPUT_VISIBLE_OFF : does not display the stroke keys

     

  • 9 new keywords to call external functions belonging to a DLL:
    • DLL_ON D : loads the DLL D to the memory
    • DLL_CALL0(F) : calls the function F of the DLL in memory, without any parameter
    • DLL_CALL1(F,P1) : calls the function F of the DLL in memory, with 1 parameter
    • DLL_CALL2(F,P1,P2) : calls the function F of the DLL in memory, with 2 parameters
    • DLL_CALL3(F,P1,P2,P3) : calls the function F of the DLL in memory, with 3 parameters
    • DLL_CALL4(F,P1,P2,P3,P4) : calls the function F of the DLL in memory, with 4 parameters
    • DLL_CALL5(F,P1,P2,P3,P4,P5) : calls the function F of the DLL in memory, with 5 parameters
    • DLL_CALL6(F,P1,P2,P3,P4,P5,P6) : calls the function F of the DLL in memory, with 6 parameters
    • DLL_OFF : releases the memory used by a DLL

     

  • 3 new keywords for passing parameters to a DLL fonction:
    • ADR(V) : returns the address of the variable V
    • HANDLE(N) : returns the handle of the system object number N
    • HANDLE_CANVAS(N) : returns the handle of the graphic area of the system object number N
V0.9.11 : September 29, 2008
  • 11 new mathematical functions:
    • ACOS(X) : returns in radians the inverse cosine of X
    • ASIN(X) : returns in radians the inverse sine of X
    • EVEN(N) : returns 1 if N is even, 0 otherwise
    • HCOS(X) :returns the hyperbolic cosine of X
    • HSIN(X) : returns the hyperbolic sine of X
    • HTAN(X) : returns the hyperbolic tangent of X
    • LOG10(X) : returns the logarithm base 10 of X
    • LOG2(X) : returns the logarithm base 2 of X
    • ODD(N) : returns 1 if N is odd, 0 otherwise
    • POWER(X,Y) : returns the value of X raised to the power of Y
    • TAN(X) : returns the tangent of X (X is in radians)

 

  • 1 new string function:
    • NUMERIC$(A$) :returns 1 if A$ is a number, 0 otherwise

 

V0.9.10 : July 19, 2008
  • 5 keywords to manage the cursor on a system object:
    • CURSOR_ARROW N : displays an arrow-shaped cursor on the system object number N
    • CURSOR_CROSS N : displays a cross-shaped cursor on the system object number N
    • CURSOR_DEFAULT N : displays the cursor by default on the system object number N
    • CURSOR_HELP N : displays an interrogation mark-shaped cursor on the system object number N
    • CURSOR_NONE N : hides the cursor on the system object number N

 

  • 1 keyword to execute statements in IF CONDITION, when CONDITION fails:
    • ELSE : part of IF structure, executed when the condition fails

     

  • 2 keywords to point a 3D object and to move it in its pointing direction:
    • 3D_POINT_OBJECT N1,N2 : points the 3D object number N1 at the 3D object number N2
    • 3D_MOVE N,D : moves the 3D object number N by the distance D in its pointing direction

     

  • 3 keywords for the bit_by_bit logical operations:
    • BIN_AND(N1,N2) : returns the binary logical "and" between the values N1 and N2
    • BIN_OR(N1,N2) : returns the binary logical "or" between the values N1 and N2
    • BIN_XOR(N1,N2) : returns the binary logical "exclusive or" between the values N1 and N2

     

  • 3 keywords to exit a loop:
    • EXIT_FOR : exits the loop FOR/NEXT
    • EXIT_WHILE : exits the loop WHILE/END_WHILE
    • EXIT_REPEAT : exits the loop REPEAT/UNTIL

     

  • 4 keywords to use input-output with parallel port:
    • PARALLEL_ON : requests the use of parallel port
    • PARALLEL_OUT N,V : sends the output value V on the port N
    • V=PARALLEL_INP(N) : stores in V the input value read on port N
    • PARALLEL_OFF : releases the use of parallel port

     

  • 2 keywords to removing leading or trailing spaces from a string:
    • TRIM$(A$) :returns the string removing leading and trailing spaces from the string S
    • LTRIM$(A$) : returns the string removing leading spaces from the string S (on the left)
    • RTRIM$(A$) : returns the string removing trailing spaces from the string S (on the right)

     

  • 2 keywords to get an uppercase or lowercase string:
    • UPPER$(V$) : returns the string converting string V$ to uppercase
    • LOWER$(V$) : returns the string converting string V$ to lowercase
V0.9.9 : April 25, 2008
  • 4 keywords to assign scroll bars to a MEMO:
    • BAR_HORIZONTAL : assigns an horizontal scroll bar
    • BAR_VERTICAL : assigns a vertical scroll bar
    • BAR_BOTH : assigns a vertical and an horizontal scroll bars
    • BAR_NONE : removes all the scroll bars

     

  • 1 keyword to know the index of a selected item:
    • ITEM_INDEX(N) : returns the index of selected index in a COMBO or a LIST

     

  • 3 keywords to handle a new structure:
    • SELECT : evaluates an expression and executes after the CASE statement which matches the value
    • CASE : presents a group of statements to be executed if the expression evaluated by "SELECT" is matched
    • END_SELECT : ends a structure initiated by "SELECT"

     

  • EXECUTE is smoother: the name of the program is free, that authorizes per example to launch the default web browser to visit a site (the command execute "http://www.panoramic-language.com" becomes possible)
V0.9.8 : January 26, 2008
  • 3 keywords to define the location of next PRINT:
    • PRINT_X_LOCATE : to define the location of the next PRINT on a system object in X
    • PRINT_Y_LOCATE : to define the location of the next PRINT on a system object in Y
    • PRINT_LOCATE : to define the location of the next PRINT on a system object in X and Y

     

  • 2 keywords for the parameters passed to the application:
    • PARAM_NUMBER : returns the numbers of passed parameters when executable is called
    • PARAM_VALUE$(P) : returns the value of P-th parameter passed when executable is called

     

  • 3 keywords to handle text files:
    • FILE_READBUF : reads a certain number of characters in a text file
    • FILE_WRITEBUF : writes a certain number of characters to a text file
    • FILE_EOF(N) : tests if the end of text file number N is reached

     

  • 8 keywords to handle binary files:
    • FILEBIN_OPEN_READ : opens a binary file for reading
    • FILEBIN_OPEN_WRITE : opens or creates a binary file for writing
    • FILEBIN_CLOSE : closes a binary file
    • FILEBIN_READ : reads one byte from a binary file
    • FILEBIN_WRITE : writes one byte to a binary file
    • FILEBIN_POSITION : change the current position in a binary file
    • FILEBIN_POS(N) : returns the current position in the binary file number N
    • FILEBIN_SIZE(N) : returns the size of the binary file number N

V0.9.7 : September 17, 2007

  • 10 keywords to use Sprites on a new system object SCENE2D :
    • SCENE2D : creates a system object to display a background picture (by FILE_LOAD)
    • SPRITE : creates a sprite on the SCENE2D
    • SPRITE_FILE_LOAD : loads a picture in a SPRITE
    • SPRITE_X_POSITION : moves a SPRITE on X-axis, that is horizontally
    • SPRITE_Y_POSITION : moves a SPRITE on Y-axis, that is vertically
    • SPRITE_POSITION : moves a SPRITE on X and Y-axis
    • SPRITE_HIDE : hides a sprite
    • SPRITE_SHOW : displays a sprite which was hidden
    • SPRITE_DELETE : destroys a sprite definitively
    • SPRITE_TARGET_IS : to create sprites on several SCENE2D

     

  • 3 keywords for the 3D objects :
    • 3D_TRANSPARENT : to make a 3D object more or less transparent
    • 3D_CHAIN : to link a 3D object to another 3D object (to slave its moves)
    • 3D_CHAIN_BREAK : to break the link between two 3D objects

     

  • 3 keywords to handle files and directories :
    • FILE_FIND_FIRST$ : returns the name of the first file of a directory
    • FILE_FIND_NEXT$ : returns the name of the next file of a directory
    • FILE_FIND_CLOSE : stops the finding of file names of a directory

     

  • 1 keyword very useful for the games :
    • SCANCODE which returns the scancode of the pressed key

     

  • 1 new system object of type list :
    • DLIST to handle lists without taking care of the chaine (very kind object)

     

  • 3 keywords for the list objects (COMBO, LIST, DLIST) :
    • SORT : to sort the list
    • SORT_ON : the list is always sorted (automatic sorting)
    • SORT_OFF : stops the automatic sorting

     

  • 1 keyword EXECUTE to run an external program

 

  • 1 keyword SET_FOCUS to give the focus to a system object

 

  • 2 keywords to adapt a picture in a system object like PICTURE or SCENE2D :
    • STRETCH_ON : the loaded picture is fully displayed in the shape of the object
    • STRETCH_OFF : stops to adapt the picture to the shape of the object

V0.9.6 : June 29, 2007

  • OpenGl 2.0 is supported

 

  • 2 bugs fixed:
    • in PANORAMIC_EDITOR, the "RUN" of a program driving EXCEL does not display an error
    • the keyword FONT_NAMES_LOAD N runs correctly

     

  • 7 new keywords to handle files and directories:
    • FILE_RENAME : changes the name of a file
    • FILE_DELETE : deletes a file
    • FILE_EXISTS() : tests if a file exists
    • DIR_CHANGE : changes the current directory
    • DIR_MAKE : creates a new directory
    • DIR_EXISTS() : tests if a directory exists
    • DIR_CURRENT$ : returns the current directory

     

  • 9 new keywords for functions on the 3D objects:
    • O3D_X_POSITION(), O3D_Y_POSITION(), O3D_Z_POSITION() : to know the position of a 3D object
    • O3D_X_ROTATE(), O3D_Y_ROTATE(), O3D_Z_ROTATE() : to know the rotation angles of a 3D object
    • O3D_X_SCALE(), O3D_Y_SCALE(), O3D_Z_SCALE() : to know the scale factors of a 3D object

     

  • 3 new keywords to place 3D objects:
    • CAM_POSITION : to place the 3D camera
    • LIGHT_POSITION : to place the 3D light
    • POINT_POSITION : to place the point aimed by the 3D camera

V0.9.5 : May 27, 2007

  • 13 new keywords to handle the font of an object (name, size, color, style, ...) :
    • name of the font : FONT_NAME,
    • size of the font : FONT_SIZE,
    • color of the font : FONT_COLOR,
    • add or load the list of available fonts : FONT_NAMES_ADD, FONT_NAMES_LOAD,
    • change the style of an object (bold, italic, underlined, stroke out) : FONT_BOLD, FONT_BOLD_OFF, FONT_ITALIC, FONT_ITALIC_OFF, FONT_UNDERLINE, FONT_UNDERLINE_OFF, FONT_STRIKE, FONT_STRIKE_OFF

V0.9.4 : April 28, 2007

  • 2 new kinds of loop : WHILE / END_WHILE and REPEAT / UNTIL

 

  • Bug fixed in evaluation of arithmetic expression

V0.9.3 : March 28, 2007

  • New keywords : 3D_DELETE_ALL, CLICKED()

 

  • Bug fixed in nested IF / END_IF

 

  • Bug fixed in ON_CHANGE handler

V0.9.2 : February 21, 2007

  • Mouse using is improved :
    • position in real time : MOUSE_X_POSITION, MOUSE_Y_POSITION
    • status of buttons (0 ou 1) : MOUSE_RIGHT_UP, MOUSE_LEFT_UP, MOUSE_RIGHT_DOWN, MOUSE_LEFT_DOWN
    • position when button down : MOUSE_X_RIGHT_DOWN, MOUSE_Y_RIGHT_DOWN, MOUSE_X_LEFT_DOWN, MOUSE_Y_LEFT_DOWN
    • position when button up: MOUSE_X_RIGHT_UP, MOUSE_Y_RIGHT_UP, MOUSE_X_LEFT_UP, MOUSE_Y_LEFT_UP

V0.9.1 : January 27, 2007

  • New keywords : STRING$, CHR$, FRAC

 

  • By coherence, keyword EXCEL_NEW_FILE becomes EXCEL_FILE_NEW

 

  • Errors fixed in dim a( 5) and in FILE_OPEN_WRITE 1,"file.txt"

V0.9.0 : January 4, 2007

  • First public release

 

Updated : August 4, 2015