INTRODUCTION
Easy Code is one of the first visually based "Interface Development Environments" made for Go tools, the Jeremy Gordon's Windows 32/64-bit assembler based kit. 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, although 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. In both modes, ANSI or Unicode, the code editor and all names 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.
Go tools and GoAsm Headers are available for no cost and they are a requirement for operation with this version of Easy Code. An ECGo package, containing almost all necessary files, has been prepared for Easy Code use. Download the latest version of ECGo at:
http://www.godevtool.com/ECGo.zip
After downloading and unzipping the ECGo.zip
file, a main folder named GoAsm
will have been created. You can place it in any of the existing drives
in your computer, although the root is
recommended (i.e: C:\GoAsm,
D:\GoAsm,
etc.). Then please immediately download the GoAsm
Headers and place them in the \GoAsm\Include
folder (which is empty). Otherwise, Easy Code will not be able to
build any project. Now, you should configure the IDE by clicking the
Tools->Settings
menu.
SPECIAL THANKS
For coding the Classic
executable file
default project and for all his help
and support to make the GoAsm version possible. For allowing Easy Code to be
able to
work with the header files for
GoAsm (from his excellent GoAsm
Headers
project available at Donkey's
Stable).
The GoAsm Headers are needed for Easy Code GoAsm
to work (please see the Using
the GoAsm headers
topic).
Paul
E. Brennick
For
writing the Resource Editor english help,
programming GeneSys, EasyCalc, CardFile
and other good examples (all
included), helping me with testing Easy Code, and very specially for
all his constant help and support.
Jeremy
Gordon
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.
Edgard Hansen
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 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.
Six 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.
On creating a new project, you must specify what coding mode your require. "Dynamic Linked Libraries", console applications and COFF object files 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.
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 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.
If you want
to use Windows
Common controls and/or
the RichEdit
control, mark the corresponding check box and their .inc
and .dll
files will be
added to the project by Easy Code (only visual projects). 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 Manifest.xml
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.
NOTE:
The Classic Executable
file
(exe) default project has been
coded by Jeremy Gordon, the Go tools author, and it is the best example
for the
programming style to be used.
REMARKS: Both modes, visual or classic, the .Code directive must always exist (in each Window or Module) and be located after the .Const or .Data directives in order the IDE to work properly (controlling procedures or frames, 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
Specific
settings files (INI files)
Using
the GoAsm
headers
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)
ANSI
/ Unicode applications (All 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 GoAsm Macros
(All
Project Type)
Easy Code GoAsm
Methods (Only
Visual Project
Type)
Easy
Code GoAsm
Constants (Only Visual Project
Type)
FILES AND FOLDERS
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
UPX.EXE
Examples
CardFile
Drives
ECPDriver
ECPDrvTest
File Shredder
MDI
Memory
MIDIPlay
NetMon
Reboot
RGG
RSEdit
TabStrip
Theming
Help
EasyCode.hlp
Include
acpiioct.h
bugcodes.h
devguid.h
devioctl.h
diskguid.h
ECIncGo.h
excpt.h
ipfirewall.h
macros.h
mountdev.h
mountmgr.h
ntddcdrm.h
ntddcdvd.h
ntddchgr.h
ntdddisk.h
ntddft.h
ntddk.h
ntddkbd.h
ntddmou.h
ntddpar.h
ntddscsi.h
ntddser.h
ntddtape.h
ntddtdi.h
ntdef.h
ntdskreg.h
ntifs.h
ntiologc.h
ntnls.h
parallel.h
stireg.h
undoc.h
usb.h
usb100.h
usb200.h
usbdi.h
usbioctl.h
usbiodef.h
usbscan.h
usbuser.h
Language
ECCatCA.lge
ECChnPR.lge
ECChnTW.lge
ECEngIN.lge
ECEspES.lge
Lib
ECDllGo.dll
ECDllGou.dll
ECStcGo.lib
ECStcGou.lib
Macros
ECMacros.asm
Once Easy Code and ECGo tools (GoAsm, GoLink, GoRC, etc.) 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 them without errors (if
the GoAsm.exe
assembler and
GoLink.exe
linker are used). If you do not have ECGo tools installed, you will
only be able to edit a
project.
EASY
CODE
BENEFITS AND 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)