Example of how to create a plugin that becomes an ez-script function.
+ How To Add This Control To Your Project (Click to Expand)
Manual
Add custom EZ-Script functions in c# using this example.
Source code is available here: UserDefinedFunctionExample.zip
Additional tutorial information can be found here: http://www.ez-robot.com/Tutorials/UserTutorials/146/20
There is also example code below the video.
Code:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace User_Defined_Function_Example {
public partial class FormMaster : EZ_Builder.UCForms.FormPluginMaster {
public FormMaster() {
InitializeComponent();
}
private void FormMaster_Load(object sender, EventArgs e) {
// Intercept all unknown functions called from any EZ-Script globally.
// If a function is called that doesn't exist in the EZ-Script library, this event will execute
ExpressionEvaluation.FunctionEval.AdditionalFunctionEvent += FunctionEval_AdditionalFunctionEvent;
}
private void FormMaster_FormClosing(object sender, FormClosingEventArgs e) {
// Disconnect from the function event
ExpressionEvaluation.FunctionEval.AdditionalFunctionEvent -= FunctionEval_AdditionalFunctionEvent;
}
///
/// This is executed when a function is specified in any ez-scripting that isn't a native function.
/// You can check to see if the function that was called is your function.
/// If it is, do something and return something.
/// If you don't return something, a default value of TRUE is returned.
/// If you throw an exception, the EZ-Script control will receive the exception and present the error to the user.
///
private void FunctionEval_AdditionalFunctionEvent(object sender, ExpressionEvaluation.AdditionalFunctionEventArgs e) {
// Check if the function is our function (SetColor)
if (!e.Name.Equals("setcolor", StringComparison.InvariantCultureIgnoreCase))
return;
// Check if the correct number of parameters were passed to this function
if (e.Parameters.Length != 3)
throw new Exception("Expects 3 parameters. Usage: SetColor(red [0-255], green [0-255], blue [0-255]). Example: SetColor(20, 200,100)");
// Convert the parameters to datatypes
byte red = Convert.ToByte(e.Parameters[0]);
byte green = Convert.ToByte(e.Parameters[1]);
byte blue = Convert.ToByte(e.Parameters[2]);
// Do something
EZ_Builder.Invokers.SetBackColor(label1, Color.FromArgb(red, green, blue));
// Return something. Good idea to return TRUE if your function isn't meant to return anything
e.ReturnValue = true;
}
}
}
Related Content
question

Scripts, Add Java Script
Can you please advise? I went to scripts, then "add" JavaScript, clicked on the gear icon this is what happened:...
question

Turn Adventurebot Using Angles
I am pretty new to working on the AdventureBot, and a class project requires me to make it turn at certain angles, such...