INTRODUCCIÓ
Easy Code és una de les primeres Interfícies visuals d'Entorn de Desenvolupament (IDE) que treballa amb el Go tools, un excel·lent conjunt d'eines d'assemblador de Jeremy Gordon per a Windows de 32/64 bits. L'Easy Code 1.06 ha estat programat totalment en llenguatge assemblador, la qual cosa li dóna una sorprenent velocitat i rapidesa que es nota en dissenyar un projecte nou.
L'Easy Code necessita un entorn Windows de 32 bits per tal de poder funcionar, atès que no té cap suport de 16 bits. La programació d'aquest IDE es va dur a terme en Windows NT40 i, tot i que funciona correctament en Windows 95/98/ME, el seu major rendiment s'obté amb el sistema operatiu Windows NT40 de Microsoft o qualsevol altre comercialitzat posteriorment (Windows 2000/XP/2003/2008/VISTA/7).
IMPORTANT: L'Easy Code 1.06 treballa en mode Unicode quan s'executa en Windows NT i sistemes posteriors, o en mode ANSI quan s'executa en Windows 95/98/ME. En tots dos modes, ANSI o Unicode, l'editor de codi i tots els noms relacionats amb els projectes (noms i fitxers de projectes, recursos, finestres i controls) es processen sempre com a text ANSI per motius de compatibilitat. Quan s'executa com a Unicode (és a dir, en Windows NT o posterior), el quadre de diàleg per obrir i desar fitxers també és una finestra Unicode. Tot i així, un cop s'ha seleccionat un fitxer, el seu nom i la seva ruta ("path") es converteixen sempre a ANSI, per tant, tingueu present aquesta qüestió a l'hora de seleccionar carpetes o posar nom als objectes i fitxers dels vostres projectes.
El conjunt d'eines Go tools es troba disponible gratuïtament i és necessari per la plena funcionalitat d'aquesta versió de l'Easy Code. El conjunt ECGo, que conté tots els fitxers necessaris, ha estat preparat expressament per a l'Easy Code. Descarregueu la darrera versió de l'ECGo a:
http://www.godevtool.com/ECGo.zip
Després de descomprimir el fitxer ECGo.zip,
s'haurà creat una
carpeta anomenada GoAsm.
Podeu posar-la a qualsevol de les unitats de disc del vostre ordinador,
tot i que
és recomanable situar-la a l'arrel d'alguna d'elles (p.e: C:\GoAsm,
D:\GoAsm,
etc.).
Després, haurieu de configurar l'IDE anant al
menú Eines->Configuració.
És absolutament recomenable utilitzar les capçaleres 'GoAsm headers', atès que són molt més completes que els fitxers 'include' que venen amb l'ECGo. Per a fer-ho, si us plau llegiu el tòpic Utilitzant les 'GoAsm headers'.
AGRAÏMENTS
Per programar el fitxer executable
clàssic, projecte per defecte, i
tota l'ajuda i suport que han fet possible la versió GoAsm. Per permetre que l'Easy Code pugui
utilitzar els fitxers de capçalera del GoAsm (de
l'excel·lent projecte GoAsm
Headers disponible a Donkey's
Stable).Tot
i que l'Easy Code porta
els seus propis fitxers include, es recomana utilitzar
les GoAsm Headers (vejeu el tòpic
Utilitzant
les 'GoAsm headers').
Paul
E.
Brennick
Per
escriure l'ajuda en anglès de l'Editor
de Recursos, programar el seus excel·lents GeneSys,
EasyCalc,
CardFile
i altres bons exemples (alguns inclosos), ajudar-me a provar i depurar
l'Easy Code, i molt especialment per la seva
constant ajuda i suport.
Jeremy Gordon
Phill Kahle
Per traduir a l'anglès una
bona
part del fitxer d'ajuda de la primera
versió de l'Easy Code i ajudar-me a provar-lo i a depurar-lo.
Edgard Hansen
Robert
Bieber
Per permetre
incloure
els seus excel·lents projectes File
Shredder i RGG
(una demostració del GDI) com a exemples de l'Easy Code.
Mark
Jones
Per
permetre incloure el seu excel·lent projecte MIDI
Player
com un exemple de l'Easy Code.
Mark
Wright
Per la seva gran i
constant ajuda i suport en provar i depurar l'Easy
Code.
Josep
Vallès
Per traduir al castellà el
fitxer
d'ajuda de la primera versió de l'Easy
Code.
Héctor
A. Medina
Per la seva enorme
ajuda
i constant esforç en provar i depurar
l'Easy Code (especialment en Windows 95), per programar el
mètode GetCPUInfo
i per escriure tot
el codi relacionat amb els drivers.
Jason Jiang
Per traduir els fitxers
d'idioma xinès, tant el simplificat com el tradicional.
Noteworthy Lord
Per traduir el fitxer
d'idioma francès.
INICIANT L'EASY CODE
Si executeu l'Easy Code sense cap paràmetre a la línia de comandes que indiqui un projecte, una finestra o un mòdul, us apareixerà un quadre de diàleg per tal de crear un projecte nou. D'altra banda, qualsevol paràmetre a la línia de comandes que no tingui una extensió ".ecp", ".ecw", ".ecr" o ".asm" serà ignorat i també farà aparèixer el quadre de diàleg que es mostra tot seguit:

Hi ha set opcions disponibles segons el tipus de projecte:
Fitxer
executable visual (exe)
Fitxer executable
clàssic (exe)
Llibreria
dinàmica clàssica (dll)
Llibreria
estàtica clàssica (lib)
Aplicació de
consola clàssica (exe)
Fitxer objecte COFF
clàssic (obj)
Driver NT
clàssic (sys)
L'Easy Code té dos modes principals, el "Projecte Visual" i el "Projecte Clàssic". El mode clàssic és el més tradiconal i conegut, on el programador escriu el codi de tot el projecte i el configura manualment per tal que funcioni després de compilar-lo i enllaçar-lo com a la majoria dels IDE's. El mode visual és on l'Easy Code destaca per ell mateix i es converteix en únic. Aquest mode us permet crear tota mena de finestres, controls i recursos del Windows per tal de programar una potent i complexa aplicació d'una manera molt ràpida i fàcil.
El projecte Fitxer objecte COFF clàssic és útil per tal de generar un fitxer objecte, d'un o més mòduls, que després es pot enllaçar amb altres projectes. Aquesta opció evita haver de generar lliberies estàtiques (.lib) si no us agraden, i només genera un fitxer .obj (en format COFF) tot i que hi hagi diversos mòduls al projecte. El fitxer objecte generat tindrà el nom del projecte més l'extensió .obj.
Quan es crea un projecte nou cal especificar el tipus de fitxer final que es desitja. Les "Llibreries dinàmiques", "Llibreries estàtiques" i aplicacions de consola són considerats projectes clàssics de manera natural. Només quan trieu un fitxer "Executable", tindreu l'opció de generar un projecte tradicional (clàssic) o un projecte visual de l'Easy Code.
El tipus de projecte Fitxer objecte COFF clàssic és útil per tal de generar un fitxer objecte que pot ser enllaçat en altres projectes. Aquesta opció evita l'haver de construir llibreries estàtiques (.lib) si no ho voleu, i genera un sol fitxer .obj (en format COFF) tot i que hi hagi diversos mòduls al projecte. El fitxer objecte generat tindrà el nom del projecte més l'extensió .obj.
Si voleu utilitzar els 'Windows
Common controls' i/o el
control
'Rich edit',
marqueu el quadre de verificació corresponent i els seus
fitxers .inc
i
.lib
seran afegits al projecte per l'Easy Code. D'altra banda,
marcant/desmarcant aquests quadres, es mostraran
o s'amagaran els botons corresponents a la caixa d'eines.
El quadre de verificació Fitxer
Manifest.xml
(només disponible per als projectes
Fitxer executable visual
i Fitxer executable
clàssic)
indica si s'ha de crear el fitxer necessari per activar els nous
"common
controls" als sistemes Windows XP i posteriors (vegeu Activant
els temes XP). Si aquest quadre
està marcat quan es crea el projecte, el
fitxer Manifest.xml
apareixerà dins del node
"Miscel·lània"
de l'Explorador del projecte, per tal que pugui ser editat a
l'entorn de l'Easy Code. Si us plau, llegiu atentament el
tòpic Incloent
un Manifest al projecte.
NOTA:
El projecte per defecte Fitxer
executable clàssic
(exe) ha estat programat per
Jeremy Gordon, l'autor de les eines Go tools, i és el millor
exemple de l'estil
de programació que cal seguir.
OBSERVACIONS: A tots dos modes, visual i clàssic, la directiva .Code ha d'existir sempre (a cada Finestra o Mòdul) i estar definida després de les directives .Const, .Data? o .Data per tal que l'IDE treballi correctament (control dels procediments o "frames", macros, variables i estructures). Tot el codi que es trobi abans de la directiva .Code serà considerat com a dades. Si la directiva .Code no existeix, tot el text serà considerat com a dades i l'IDE treballarà molt lentament.
IMPORTANT: Per tal de generar projectes de Llibreria estàtica clàssica (lib) necessitareu el compilador de llibreries de Microsoft (lib.exe), que està disponible amb els conjunts d'eines Masm32 o GeneSys. El compilador de llibreries de Pelle Orinius (polib.exe) no funcionarà perquè necessita incloure altres llibreries estàtiques (Kernel32.lib, User32.lib, etc.) per tal de compilar sense errors. Aquestes altres llibreries no són necessàries en aquesta versió de l'Easy Code, que ha estat dissenyada per treballar amb les eines Go tools. El GoLink (l'enllaçador) ignora els fitxers .lib i agafa tota la informació necessària de les dll's existents al sistema.
SUB-TÒPICS
Configurant
l'Easy Code
Programació
de controladors NT (drivers)
Fitxers de
configuració específics (fitxers INI)
Utilitzant les 'GoAsm
Headers'
Projectes visuals
(mode
potent de l'Easy Code)
Projectes
clàssics (estil tradicional de l'IDE)
Propietats del
projecte
Afegint "tooltips" als projectes visuals
Suport
multillengua
Els
fitxers
d'idioma
(com fer-los)
Aplicacions
ANSI /
Unicode (tots els projectes)
Incloent un
Manifest
al projecte (només projectes exe)
Activant
els temes XP (tots els projectes)
Propietat
"OwnerDraw" (només projectes visuals)
Compilació condicional (tots els projectes)
Processant el temps "idle" (només projectes visuals)
Objectes Control
Propietats dels
objectes
(només projectes visuals)
Llegint i escrivint
propietats (només projectes visuals)
Personalitzant
objectes
(només projectes
visuals)
Recursos - Editor
de
Recursos (tots els projectes)
Importació de
fitxers de recursos (tots els
projectes)
Icona de
l'aplicació (tots els
projectes)
Editor de l'Easy
Code
Editor de
Menús (tots els projectes)
Compilant i
Generant
Projectes
Manejant Errors en
temps
d'execució (només projectes
visuals)
Objectes App i Error
(només
projectes visuals)
Macros de l'Easy
Code GoAsm
(tots els projectes)
Mètodes de
l'Easy Code GoAsm (només projectes
visuals)
Constants de l'Easy
Code GoAsm
(només
projectes visuals)
FITXERS I CARPETES
L'Easy Code es
distribueix en un fitxer zip que inclou els fitxers
llistats a continuació. Els subdirectoris es mostren en
lletra
negreta.
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
Una
vegada que l'Easy Code i les eines ECGo (fitxers GoAsm, GoLink, GoRC,
etc.)
s'han instal·lat, assegureu-vos que la
configuració de l'Easy Code és correcta. Aneu al
menú
Eines-->Configuració,
seleccioneu la pestanya Compilació
/ Enllaç i
indiqueu les ubicacions correctes pels diferents fitxers i directoris.
Haurieu de poder
carregar tots els projectes d'exemple i generar-los sense errors
(sempre que utilitzeu l'assemblador GoAsm.exe
i
l'enllaçador GoLink.exe).
Si no teniu les eines ECGo instal·lades, només
podreu editar els
projectes.
PRESTACIONS DE L'EASY CODE
Algunes de les prestacions d'aquest IDE són:
L'Easy Code és completament gratuït. Gaudïu-lo i feu grans i bones aplicacions en assemblador. Si us plau notifiqueu qualsevol errada o problema que trobeu en aquest IDE. Quan notifiqueu algun problema intenteu explicar com ha succeït per tal de poder corregir el més aviat possible (si adjunteu un projecte de mostra, molt millor). Estaré encantat de respondre-us personalment a través del correu electrònic.
SUPORT TÈCNIC
Per a qualsevol dubte, suport tècnic o notificació d'errors, si us plau adreceu--vos a una de les adreces electròniques indicades. Gràcies.
http://www.easycode.cat
Copyright ©
2007-2012 Ramon Sala
L'aplicació Easy Code 1.06 ha estat desenvolupada utilitzant
el Macro Assembler de
32 bits de Microsoft