INTRODUCCIÓ
Easy Code és una de les primeres Interfícies visuals d'Entorn de Desenvolupament (IDE) per als conjunts d'eines Masm32 o GeneSys, basats en el Macro Assembler de 32 bits de Microsoft. L'Easy Code 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/8).
IMPORTANT: L'Easy Code 1.07 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. Aquest nou format permet programar aplicacions Unicode d'una manera ràpida i fàcil (vegeu el tòpic Aplicacions ANSI / Unicode). En tots dos modes, ANSI o Unicode, l'editor de codi i tots els noms i fitxers 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.
Els conjunts d'eines Masm32 i GeneSys es troben disponibles gratuïtament, i almenys un d'ells és necessari per la plena funcionalitat de l'Easy Code. Descarregueu i instal·leu la darrera versió del Masm32 o del GeneSys a:
The MASM32 SDK
The
GeneSys
project
NOTA
IMPORTANT:
L'Easy Code 1.07 utilitza la funció de l'API wsprintfW
a les seves llibreries visuals i les versions anteriors al Masm32
v10 no
inclouen aquesta funció dins del seu fitxer User32.lib.
Per tant, si utilitzeu el Masm32,
haurieu de
descarregar
i instal·lar el Masm32
v10 (recomanat).
Contràriament, és
imprescindible substituir els
fitxers User32.inc
i User32.lib
amb els que venen amb el Masm32
v10. Tot això no
serà necessari si utilizeu el GeneSys.
OBSERVACIONS: Tant el Masm32 com el GeneSys inclouen els fitxers polink.exe (enllaçador), porc.exe (compilador de recursos) i polib.exe (compilador de llibreries). A més, el GeneSys també inclou el fitxer poasm.exe (compilador). Per a tots aquells que desitgin utilitzar aquest excel·lent material de Pelle Orinius (vegeu la configuració de l'Easy Code al menú Eines->Configuració), cal tenir en compte que els exemples que vénen amb l'Easy Code només es compilen i s'enllacen correctament si s'utilitzen els fitxers ml.exe (compilador) i link.exe (enllaçador) de Microsoft, atès que ambdós suporten tota la sintaxi del Macro Assembler (Masm).
AGRAÏMENTS
Paul
E. Brennick
Per
escriure l'ajuda en anglès de l'Editor de Recursos,
programar el seu editor GeneSys, EasyCalc,
CardFile i altres
bons exemples (tots inclosos), ajudar-me a provar i depurar l'Easy
Code, i molt especialment per la seva constant
ajuda i suport.
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
depurar-lo.
Robert
Bieber
Per
permetre'm 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'm 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:
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.
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.
El quadre de verificació Fitxer
Macros.asm
indica si el fitxer Macros.asm
(que ve amb els conjunts
d'eines Masm32
i GeneSys)
s'ha d'incloure al
projecte o no.
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,
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.
SUB-TÒPICS
Configurant
l'Easy Code
Programació
de serveis NT
Programació
de controladors NT (drivers)
Compilant
amb JWasm
enlloc de Masm
Fitxers de
configuració específics (fitxers INI)
Codi i Dades: Privat o Públic Important!
Projectes
visuals
(mode
potent de l'Easy Code)
Projectes
clàssics (estil tradicional de l'IDE)
Propietats
del
projecte
Accedint a la funció 'WinMain' del Windows (només projectes visuals)
Modificant les opcions del compilador (tots els projectes)
Objecte Thread (només projectes visuals)
Afegint "tooltips" als projectes visuals
Suport
multillengua
Els
fitxers
d'idioma
(com fer-los)
Utilitzant el Masm32 v11 (tots
els
projectes)
Aplicacions
ANSI / Unicode (només projectes visuals)
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 Masm
(tots els projectes)
Utilitzant
el fitxer Macros.asm (tots els projectes)
Utilitzant
els
tipus de variables del Windows (tots els projectes)
Mètodes
de
l'Easy Code Masm (només projectes
visuals)
Constants
de l'Easy
Code Masm
(només
projectes visuals)
FITXERS I CARPETES
L'Easy
Code es distribueix en un fitxer zip que
inclou els fitxers llistats a continuació. Les
subcarpetes principals es mostren en lletra
negreta.
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
Una vegada que l'Easy Code i el Masm32 o el GeneSys 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 s'utilitzin el compilador ml.exe i l'enllaçador link.exe). Si no teniu el Masm32 o el GeneSys instal·lat, 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
© 2004-2015 Ramon Sala
L'aplicació Easy Code
ha estat desenvolupada utilitzant el MASM32 SDK
(Macro Assembler de 32 bits de Microsoft)