Skip to content

mikeduglas/Script-Player

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 

Repository files navigation

Script Player

It allows you to manipulate the properties of windows and controls at run time.

Just add global extension "ScriptPlayer", and run the program with a command line parameter: "Myapp.exe ScriptPlayer=Myscript.xml" or set script name in INI file:

[ScriptPlayer]
Name=Myscript.xml

You don't need to write any line of code!

Short video

Areas of use:

  • Easy localization
  • Adapting to different screen resolutions
  • Uniform GUI
  • Quick "on field" redesign without the need to rebuild the app

Additional features:

  • Export listboxes to Excel/HTML/CSV/XML
  • Capture any window contents
  • Call MESSAGE()
  • Custom window caption
  • Toggle FullScreen mode

Requirements

  • C6 and higher, ABC/Legacy
  • EasyXML

No black boxes, only pure Clarion code (class and template).

Price

v1.xx - $80 v2.xx - $120

Demo appliaction

Standard School app with ScriptPlayer template. If you run school.exe without command line parameter and without [ScriptPlayer] section in INI file, the program behavior is not changed. If you run "school.exe ScriptPlayer=school.xml" (or provided school_test.cmd), you'll see the difference:

  • All main menu items are "translated" (just UPPERCASEd for simplicity)
  • All buttons are flat
  • Main frame title text is changed
  • Procedure BrowseStudents is called
  • In BrowseStudents:
    active TAB is changed to 2nd
    "Close" button is bold
    listbox is colorized
    Export to Excel|Html|Xml|CSV allowed
  • On exit of application the MESSAGE("Bye-bye") is thrown.
  • school.log file created.
  • Pressing Ctrl-Shift-P captures active window and saves the image on disk.

You can use INI settings instead of command line parameter:

[ScriptPlayer]
Name=school_theme.xml

XML script

In xml scripts you can use almost all events and writeable window/control properties. It allowed to POST(Event:Accepted), POST(Event:Selected), set window/control properties, or evaluate expressions. Full list of available events, actions, and properties see in the \docs subfolder.

  • See "docs\How-To.txt" to learn more about script syntax.
  • Also see provided xml scripts, they contain the comments.

Contacts

mikeduglas@yandex.ru
mikeduglas66@gmail.com

History

v2.03

  • NEW: FullScreen mode. You can define hot key to toggle the application between FullScreen and Windowed modes:
    <procedure name="Main" fullscreenkey="F12"/>

School.exe supports F12 key to toggle FullScreen mode.

  • CHG: APPNAME-CONTROLS.txt file now contains LIST and COMBO fields and field properties:
      LIST         ?Browse:1
          Field #01    TEA:LastName 
            Header       Last Name
            Picture      @S20
            Format       80L(2)|M~Last Name~@S20@
          Field #02    TEA:FirstName 
            Header       First Name
            Picture      @S20
            Format       80L(2)|M~First Name~@S20@
          Field #03    MAJ:Description 
            Header       Department
            Picture      @S20
            Format       80L(2)|M~Department~@S20@

v2.02

  • FIX: command line corruption.
  • FIX: Window{PROP:Pixels} was not restored.
  • CHG: new procedure's attributes "starts-with" and "contains".
  • CHG: height of custom caption can be specified.
  • CHG: themed controls now can accept "disabled" values.

See release notes for details.

v2.01

  • FIX: possible program crash on window closing if custom caption used.
  • NEW: "inactivetext" caption's section allows to define caption text properties when a window gets inactive.

See release notes for details.

v2.00

  • NEW: window themes. A theme is a combination of window/controls visual properties, like background, color, font style etc.
  • NEW: custom window caption.
  • NEW: window animations (at this moment enabled only when closing windows).

See release notes for details.

v1.10

  • NEW: inline function parameters.
  • CHG: school.xml now includes the code to prevent program hanging caused by App frame menu activation.

See release notes for details.

v1.09

  • Property conditions added. For example, you can change pictures to @d10-b for all entries whose picture is @d1.

See release notes for details.

v1.08

  • Support for field="?" added (it assumes current field returning by FIELD() function)

See release notes for details.

v1.07

  • "Export" now supports Page loaded browse boxes.

v1.06

  • new action "CALL" allows to call Clarion functions (over 20 functions: Logic Control, Event/Window/Keyboard/Drag-and-Drop Processing, Operating System Procedures);
  • discount period expired.

See release notes for details.

v1.05

  • new ACTION:Capture to capture active window;
  • new "charset" attribute of properties (applied to "charset", "fontcharset" and "style:charset" properties).
    See release notes for details.

v1.04

  • Bugfixes, improvements and new features.
    See release notes for details.

v1.03

  • Localization has has never been easier! New attribute "language" (global or procedure level) defines "language" section where all texts are located.
  • Pseudo-event "BeforeAcceptLoop" allows to set SYSTEM properties before ACCEPT loop (this is necessary for example to localize main frame menu: SYSTEM{PROP:CharSet}=CHARSET:CYRILLIC).
  • PROPLIST:xxx allowed.
  • PROPSTYLE:xxx allowed.
  • For properties which expect COLOR value, now you can use "color" attribute.
  • Properties which are arrays now can use "index" attribute.

See release notes for details.

v1.02

  • you can now set properties for "System" variable.
  • events "AlertKey" and "PreAlertKey" can be limited by key pressed.
  • new action "Export" allows to export LIST contents to Excel2007/Html/Xml/Csv formats.
  • you can now specify "logfile" (on global or procedure level), to automatically log the program behaviour (procedure name, thread, event, field, keycode).
    Events placed in log file are: EVENT:Accepted, EVENT:AlertKey, EVENT:CloseDown, EVENT:CloseWindow, EVENT:NewSelection, EVENT:OpenWindow.

See release notes for details.

v1.01

  • new ACTION:ChangeText - shortcut for SetProp(text) and allows to significally reduce amount of script lines.
  • new "type" attribute for actions used to set properties of all controls with same type at once. See available types in docs\types.txt.
  • new section applied to all procedures in an app.
  • template now generates app-CONTROLS.txt file with type of controls.

See release notes for details.

v1.00

Initial release

About

It allows you to manipulate the properties of windows and controls at run time.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published