With this new (WIP) API, you can leave a forum post in a code block here, and get a compiled .exe file using that code!
There is, of course, non Ezpz Exe code in there to make the Ezpz Exe code work and get it started, but I'll basically copy & paste it into the compiler and make sure it runs.
All I do is compile, make sure I have all the required files in place, make sure it runs, and send you the file.
It works by using c++ macros (#define things) to make variable creation and other things more obvious as to what they do, as well as having a built in INPUT and OUTPUT.
NOTE: Requires Windows 8.1 or later to run. R.I.P. because of how my compiler works, I can't set it for any earlier than that.
The complete documentation is as follows
Spoiler
Variable section:
INTEGER(name, value) | Creates a integer called <name>, with the value <value>. Only whole numbers, but negative numbers are valid. INTEGER(i, 1337);
STRING(name, value) | Creates a string called <name>, with the value <value>. Surround the <value> part with double quotes, like STRING(s, "This is a string");
BOOLEAN(name, value) | Creates a boolean called <name>, with the value <value>. Valid values for BOOLEANs are: true and false, such as BOOLEAN(b, true)
CHARACTER(name, value) | | Creates a character called <name>, with the value <value>. Holds a SINGLE character, and the <value> is surrounded in single quotes, like CHARACTER(c, 'c');
DECIMAL(name, value) | Creates a decimal called <name>, with the value <value>. Can hold a decimal number with up to 15 digits (Not just on the right of the decimal point). DECIMAL(d, 3.1415);
ASSIGN(name, value) | Causes variable <name> to equal <value>. Make sure <value> is a valid value for <name> or there'll be errors.
STRINGTOINTEGER(string) | String <string> is converted to an integer and returned as a value.
STRINGTODECIMAL(string) | Same as above, but turned into a decimal instead of an integer.
CHARACTERTOSTRING(stringName, character) | Character <character> is turned into a 1 character long string, and stored in string <stringName>. Does not return a value, only stores in the string.
NUMBERTOSTRING(number, stringName) | Takes number <number> and stores it in string <stringName>. No value returned. <number> can be positive or negative, and can be a decimal or integer.
IO section [WIP] can NOT be used under STARTUP or VARIABLE:
INPUT | Returns the current value in the input box as a string
OUTPUT(string) | Puts a string literal into the output box. Cannot use variables, must use double quotes surrounding what you want to output.
OUTPUTVAR(stringName) | Puts a string variable into the output box. Cannot use literals, must use variables.
INTOOUT | Puts INPUT into the output box.
Conditional section:
EQUAL(first, second) | Returns boolean true if <first> is equal to <second>, false otherwise.
UNEQUAL(first, second) | Returns boolean true if <first> is not equal to <second>, false otherwise.
GREATER(first, second) | Returns boolean true if <first> is greater than <second>
LESS(first, second) | Returns boolean true if <first> is less than <second>
GEQUAL(first, second) | Returns boolean true if <first> is greater than or equal to <second>
LEQUAL(first, second) | Returns boolean true if <first> is less than or equal to <second>
NOT(first) | Returns boolean true if <first> is boolean false. Takes a boolean input for <first>.
Use conditionals in if and while statements, which you can see here:
if statements:
if(condition) {
Code to run if <condition> returns boolean true
}
The { and } are important
while(condition) {
Code to run until <condition> returns boolean false
}
You can include if and while statements within each other.
Math section:
+ | Additon
- | Subtraction
* | Multiplication
\ | Division (Left over right)
Random section:
RANDOM(minimum, maximum) | Generates a random number between <minimum> and <maximum>. The number is dependent on the current SEED. Returns the generated number as an integer.
SEED(seed) | Seeds the random number generator with <seed>, a positive whole number.
RANDOMSEED | Seeds the random number generator to make it actually random.
Buttons section (For more events and control):
SETBUTTON1(text) | Sets the text that shows up on button 1
SETBUTTON2(text) | Sets the text that shows up on button 2
SETBUTTON3(text) | Sets the text that shows up on button 3
HIDEBUTTON(number) | Hides button number <number>
UNHIDEBUTTON(number) | Makes button <number> visible again
Misc. section
COMMENT | Allows you to leave comments. Nothing after COMMENT is parsed, so you can type anything after it
Structuring an Ezpz Exe application:
Code to initialize global variables should be marked by "/* VARIABLE */" (Cannot use INPUT or OUTPUT under VARIABLE)
Code to run when the application starts should be marked by "/* STARTUP */"
Code to run when the input box changes should be marked by "/* INPUTCHANGE */"
Code to run when a button is clicked should be marked by "/* BTN1CLICK */", "/* BTN2CLICK */", or "/* BTN3CLICK */" based on what button is clicked
At the very end of the program, add "/* INFORMATION */" and provide the following things: The window title (CAPTION), a description (DESC), the name you want it published by (COMPNAME), and the filename (ORIGNAME)
More events coming soon
If you provide a 32x32 png/jpg image, I will set the Ezpz Exe app's icon to said image.
Example Ezpz Exe application:
/* VARIABLE */
/* STARTUP */
HIDEBUTTON(1);
HIDEBUTTON(2);
HIDEBUTTON(3);
/* INPUTCHANGE */
INTOOUT;
/* BTN1CLICK */
/* BTN2CLICK */
/* BTN3CLICK */
/* INFORMATION */
CAPTION - Mirrored text
DESC - Mirrors what you type
COMPNAME - Darkrifts
ORIGNAME - Mirrortext
It just copies what you type to the output box with 1 line of code (Not counting the stuff that allows me to just copy & paste Ezpz Exe into a program)
The Ezpz Exe API is currently WIP as a whole (IO especially), so watch this forum topic for any changes and updates, if you care that is.
Visuals of an Ezpz Exe app:
Spoiler
The "Sample edit box" doesn't show when the app runs, and the "<BTN1>" kind of thing is changed with SETBUTTON for each button respectively