INTRODUCTION
Easy Code is one of the first visually based "Interface Development Environments" for Microsoft's Windows 32-bit assembler based kit, Masm32 packages. Easy Code was constructed entirely in assembly, which gives the IDE a surprising speed and quickness, noticed when designing a new project.
Easy Code requires Windows 32-bit or better environment to work in, as there is no 16-bit support. Windows NT40 was the foundation of this IDE and it also operates on any operating system released afterwards, Windows 2000/XP/2003/2008/VISTA/7/8, even though it works fine on Windows 95/98/ME.
IMPORTANT: Easy Code 1.07 works in Unicode mode when running on Windows NT and later systems, or in ANSI mode when running on Windows 95/98/ME. That new format allows to make Unicode applications in a quick an easy way (please see the ANSI / Unicode applications topic). In both modes, ANSI or Unicode, the code editor and all names and files related to projects (names and files for projects, resources, windows and controls) are always processed as ANSI text for compatibility reasons. When running as Unicode (that is, on Windows NT or later), the dialog box for opening and saving files is also a Unicode window. However, once a file is selected, its path and name are always converted to ANSI, so please take that into account when selecting folders or naming objects and files for your projects.
Masm32 is available for no cost by a dedicated team and one of them is a requirement for operation with Easy Code. Download and install the latest version of Masm32 at:
IMPORTANT
NOTE:
Easy Code 1.07 uses the wsprintfW
API function
in its visual libraries and versions prior to Masm32
v10 did not
include that function in its User32.lib
file. So if you are using the Masm32
SDK, you should download and
install
Masm32 v10
(recommended). If not, at least you must
replace the
User32.inc
and User32.lib
files with those coming with
Masm32 v10.
REMARKS: Masm32 include the Pelle's polink.exe (linker), porc.exe (resource compiler) and polib.exe (library compiler) files. For those who want to use this excellent stuff (see Easy Code configuration in the Tools->Settings menu), take into account that the examples coming with Easy Code just compile and link properly if both, Microsoft's ml.exe (compiler) and link.exe (linker) files are used, as they support all Macro assembler (Masm) syntax.
SPECIAL THANKS
Paul E. Brennick
For
writing the Resource Editor english help, programming
his GeneSys editor, EasyCalc, CardFile
and other good examples (all included), helping
me with testing Easy Code, and very specially for all his constant help
and support.
Phill
Kahle
For
translating a big part of the english help file for the first
Easy Code version and helping me with testing Easy Code.
Robert
Bieber
For
allowing to include
his excellent File Shredder
and the RGG
(a
GDI demo) projects as Easy Code examples.
Mark
Jones
For
allowing to include his excellent MIDI
Player project
as an Easy Code example.
Mark
Wright
For his
big and constant
help in testing and debugging Easy Code.
Josep
Vallès
For
writing the spanish
help file of the first Easy Code version.
Héctor
A. Medina
For his
big help and
constant support in testing and debugging Easy Code
(especially on Windows 95), for coding the GetCPUInfo
method and for programming all code related to drivers.
Jason
Jiang
For
translating the Chinese
language files, both simplified and traditional.
Noteworthy
Lord
For
translating the French
language file.
STARTING EASY CODE
If you execute Easy Code without a command line parameters to an existing project, window or module, it will prompt you with a dialog box of choices to creating a new one. A parameter command line without an extension of ".ecp", ".ecw", ".ecr" or ".asm" is also considered void and you will also be prompted to create a new project. Here is an example of the dialog box for new projects:
Seven options are available for the type of the code project:
Easy Code has two main modes, "Visual Project" mode and "Classic Project" mode. The classic mode is the traditional build all levels, where the coder is expected to construct the whole project and the resulting code will be manually configured to work when compiled and linked as in most other IDE's. The visual mode is where Easy Code becomes in a realm of its own. Visual mode allows you to create windows resources on the fly, then code that resource as a function and later tie the resources together to form a quick and easy powerful application.
The Classic COFF object file project type is useful for generating an object file, from one or more modules, which can then be linked to other projects. This option avoids having to build static libraries (.lib) if you do not like to, and it just generates a .obj file (in COFF format) although you have several modules in the project. The generated object file will have the name of the project plus the .obj extension.
On creating a new project, you must specify what coding mode your require. "Dynamic Linked Libraries", "Static Libraries" and console applications are naturally considered classic project types. When you choose an "Executable" type project, you have the option of the project either in traditional IDE coding mode (classic) or Easy Code's visual mode.
If you wish to
use Windows
Common controls and/or the RichEdit
control, mark the corresponding check box and their .inc
and .lib
files will be added to the project by
Easy Code. On the other hand, checking/unchecking those boxes will
cause the corresponding buttons to be shown/hidden in the tool
box.
The Manifest.xml file
check box (only
available for Visual
Executable file and Classic
Executable file projects)
specifies whether
a manifest file has to be created so that the new common controls can
be used in Windows XP or later (see Enabling
XP
themes).
If this check box is marked when creating the project, the name of the
manifest file will be shown inside the "Miscellaneous"
node of the Project Explorer, so that it can be edited
in the Easy Code environment. Please read the Including
a Manifest in the project topic
carefully.
The Macros.asm file
check box specifies whether the
Macros.asm
file (coming with Masm32
packages) has to be included in the project or not.
REMARKS:
In both modes, visual or classic, the .Code
directive must always exist (in each Window or Module) and be located
after the
.Const,
.Data?
or .Data
directives
in order the IDE to work properly (controlling procedures, macros,
variables
and structures). All code being before the .Code
directive will be considered as
data. If the .Code
directive do not exist, all text will be considered as data and
the IDE will work very slowly.
SUB-TOPICS
Configuring Easy
Code
Building
NT services
Building
NT drivers
Compiling
with JWasm instead of Masm
Specific
settings files (INI files)
Code and Data: Private or Public Important!
Visual Projects
(Easy
Code Power Mode)
Classic
Projects
(Classical IDE Style)
Project
Properties
Accessing to the Windows 'WinMain' function (Only Visual Project Type)
Modifying the compiler options (All Project Type)
Thread object (Only Visual Project Type)
Adding tooltips to visual projects
Multilanguage
support
Language
files
(how to make them)
Using Masm32 v11 (All Project
Type)
ANSI
/
Unicode applications (Only Visual Project Type)
Including
a Manifest
in the project (Only Exe Project Type)
Enabling
XP themes (All Project Type)
OwnerDraw
property (Only Visual Project Type)
Conditional assembly (All Project Type)
Processing idle time (Only Visual Project Type)
Control objects
Object Properties
(Only Visual Project Type)
Getting
and Setting
properties (Only Visual Project Type)
Customizing
objects (Only Visual Project Type)
Resources -
Resource
Editor (All Project
Type)
Importing resource
files
(All Project
Type)
Application
icon (All
Project
Type)
Easy Code Editor
Menu Editor (All
Project
Type)
Compiling and
Building
Projects
Handling
Errors at
run
time (Only Visual Project Type)
App and Error
Objects
(Only Visual Project Type)
Easy Code Masm
Macros (All
Project Type)
Using
the Macros.asm
file (All Project Type)
Using Windows
Variable
Types (All Project Type)
Easy Code Masm
Methods (Only Visual Project Type)
Easy
Code Masm
Constants (Only Visual Project Type)
Easy Code is distributed in a zip file which includes the files listed below. Main subfolders in noted bold font.
Bin
EasyCode.exe
Common
ECCalls.bin
ECConst.bin
ECStruct.bin
QuartzDB.ttf
M32Macro.bin
M32Types.bin
UPX.EXE
Examples
CardFile
Drives
EasyCalc
ECPDriver
ECPDrvTest
ECPlayer
File Shredder
GeneSys
MDI
Memory
MIDIPlay
NetMon
Reboot
Reserved
RGG
RSEditHelp
RSEditor
Splash
TabStrip
Theming
Help
EasyCode.hlp
Include
accctrl.inc
acpiioct.inc
bugcodes.inc
dbt.inc
devguid.inc
devioctl.inc
diskguid.inc
ECIncMs.inc
excpt.inc
guiddef.inc
ipfirewall.inc
macros.inc
mmsystem.inc
mountdev.inc
mountmgr.inc
ntddcdrm.inc
ntddcdvd.inc
ntddchgr.inc
ntdddisk.inc
ntddft.inc
ntddk.inc
ntddkbd.inc
ntddmou.inc
ntddpar.inc
ntddscsi.inc
ntddser.inc
ntddstor.inc
ntddtape.inc
ntddtdi.inc
ntdef.inc
ntdskreg.inc
ntifs.inc
ntiologc.inc
ntnls.inc
ntstatus.inc
parallel.inc
regstr.inc
stireg.inc
tvout.inc
undoc.inc
usb.inc
usb100.inc
usb200.inc
usbdi.inc
usbioctl.inc
usbiodef.inc
usbscan.inc
usbuser.inc
winioctl.inc
winsvc.inc
wtypes.inc
Language
ECCatCA.lge
ECChnPR.lge
ECChnTW.lge
ECEngIN.lge
ECEspES.lge
Lib
ECDllMsd.dll
ECDllMsd.lib
ECDllMsr.dll
ECDllMsr.lib
ECStcMsd.lib
ECStcMsr.lib
Macros
ECMacros.asm
Once Easy Code and Masm32 are installed, make sure Easy Code's configuration is correct. Go to the Tools-->Settings menu, select the Compile / Link tab and set the correct paths for the different files and directories. You should be able to load the example projects and build without errors (if both, the ml.exe compiler and link.exe linker are used). If you do not have Masm32 installed, you will only be able to edit a project.
EASY CODE BENEFITS & FEATURES
Some of Easy Code IDE features:
Easy Code is completely free. Enjoy it and make good your skills and assemble great applications. Please report any bugs and issues with this IDE you find. When reporting IDE problems try to explain the way they appeared or happened so that repair and be done at the best possible delay. I will be happy to reply personally to bug reports using email.
TECHNICAL SUPPORT
For any request, technical support or bug report, please contact one of the email addresses specified below. Thank you.
http://www.easycode.cat
Copyright
© 2004-2015 Ramon Sala
The Easy Code application has been developed
using the MASM32 SDK (Microsoft 32-bit Macro
Assembler)