Easy Code - Visual Assembler

Visual assembly Interface Development Environment

Version 1.04 GoAsm


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 1.04 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/VISTA/7, even though it works fine on Windows 95/98/ME.

IMPORTANT: Easy Code 1.04 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 Window NT or later), the dialog box for opening and saving files is also a Unicode window. Even so, 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 is available for no cost and it is a requirement for operation with this version of Easy Code. An ECGo package, containing all necessary files, has been prepared for Easy Code use. Download the latest version of ECGo at:

http://www.jorgon.freeserve.co.uk/ECGo.zip


After 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, you should configure the IDE by clicking the Tools->Settings menu.

It is highly recommended to use the GoAsm headers as they are much more complete than those include files coming with ECGo. To do so, please see the Using the GoAsm headers topic.


SPECIAL THANKS

Paul E. Brennick For writing the Resource Editor english help, programming his excellent GeneSys editor, EasyCalc, CardFile and other good examples (some included), helping me with testing Easy Code, and very specially for all his constant help and support.
Jeremy Gordon

For coding the Classic Win32 executable file default project and all his help and support to make the GoAsm version possible.

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

For allowing to include the header files for GoAsm (from his excellent GoAsm Headers project available at Donkey's Stable). Although Easy Code finally has its own include files, the GoAsm Headers project can still be used (see the Using the GoAsm headers topic).

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) and for coding the GetCPUInfo method.



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:

Visual Win32 Executable file (exe)
Classic Win32 Executable file (exe)
Classic Win32 Dynamic Link Library (dll)
Classic Win32 Static Library (lib)
Win32 console application (exe)
Win32 COFF object file (obj)

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. "Static Libraries", "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 Win32 COFF object file project type is useful to generate an object file which can be linked to other projects. This option avoids having to build static libraries (.lib) if you do not like to, and it just generates one .obj file (in COFF format) even though 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 Win32 Executable file and Classic Win32 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 Win32 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.

IMPORTANT: For building Win32 static libraries (lib) projects you will need the Microsoft's library compiler (lib.exe), which is available with Masm32 or GeneSys packages. The Pelle's library compiler (polib.exe) will not work as it needs to include other static libraries (Kernel32.lib, User32.lib, etc.) to compile with no errors. Those other libraries are not needed in this version of Easy Code, which has been made to work with Go tools. GoLink (the linker) ignores the .lib files and takes all necessary information from the existing dll's in the system.



SUB-TOPICS

Configuring Easy Code
Specific settings files (INI files)

Using the GoAsm headers

Visual Projects (Easy Code Power Mode)
Classic Projects (Classical IDE Style)
Project Properties

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 Macros (All Project Type)
Easy Code Methods (Only Visual Project Type)
Easy Code Constants (Only Visual Project Type)



FILES AND FOLDERS

Easy Code is distributed in a zip file which includes the files listed below. Sub-directories in noted bold font.


Bin

EasyCode.exe

Common

ECCalls.bin
ECConst.bin
ECStruct.bin
LDisplay.ttf
UPX.EXE

Examples

CardFile
Drives
File Shredder
MDI
Memory
MIDIPlay
NetMon
Reboot
RGG
RSEdit
TabStrip

Help

EasyCode.hlp

Include

ECIncGo.inc

Language

ECCatCA.lge
ECChnPR.lge
ECChnTW.lge
ECEngIN.lge
ECEspES.lge

Lib

ECDllGo.dll
ECDllGou.dll
ECStcGo.lib
ECStcGou.lib


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.

asm@easycode.cat
rsala@easycode.cat

http://www.easycode.cat

Copyright © 2007-2010 Ramon Sala

The Easy Code 1.04 application was developed using the Microsoft 32-bit Macro Assembler