Le Generateur d'application GENECO
Return to the main page ............. Direct vers le telechargement de "GENECO2.ZIP"

   -----------------------------------------
1) Historique des premiers micro-ordinateurs
   -----------------------------------------

"GENECO" est la contraction de "GEN"erateur "ECO"nomique d'applications.

J'ai commence a l'ecrire vers 1982, quand j'avais alors cree ma propre
societe d'informatique. A l'epoque nous etions des pioniers en Europe.

Pour info quand meme, le source de "GENECO" represente aujourd'hui pres
de 300 pages de listing, soit environ 20.000 lignes de programme que
j'ai ecrites seul, 80% en langage Pascal et 20% en langage assembleur,
et cela a ete un travail titanesque etale sur 10 annees (de 82 a 92).

En 82 donc, les grands trusts et les grands moyens financiers ont vite
pris le dessus, beaucoup des premieres entreprises qui avaient pourtant
ouvert ce marche ont du fermer, nous n'avions pas les moyens financiers,
nous etions des concepteurs illumines d'electronique et d'informatique.

Aujourd'hui, ce generateur d'application "GENECO" a donc maintenant pres
de 20 ans, et croyez moi que depuis ce temps il a ete bien rode, et bien
debugge a 100 o/o. Si donc vous avez des problemes de programmation pour
solutionner tres vite et tres simplement des problemes complexes, ou des
problemes specifiques, et bien "GENECO" a ete concu rien que pour cela...

Certes aujourd'hui, a l'heure des CD-Rom et autres Windows ou Internet,
la technique a beaucoup evoluee depuis ce temps. Mais ce generateur n'en
reste pas moins d'actualite car, malgre l'evolution des techniques, peu
de programmes encore permettent de repondre aux besoins specifiques...

   --------------------------------
2) Mais c'est quoi alors "GENECO" ?
   --------------------------------

"GENECO" est un puissant langage de programmation, il est classe dans la
categorie des generateurs d'application. Si vous connaissez ne serait-ce
qu'un peu le langage BASIC et bien vous saurez programmer avec "GENECO".

La programmation sous "GENECO" est comparable a celle du BASIC, mais cela
avec beaucoup plus de fonctionnalites. La ou il vous faudrait des mois pour
ecrire une application specifique en BASIC, quelques jours vous suffiront
avec "GENECO" car il intregre en plus beaucoup de fonctions de bases, comme
la gestion des ecrans et des fichiers, qui ne sont donc plus a re-ecrire.

Mille lignes de BASIC se resument a quelques lignes seulement en "GENECO"
pour realiser tres rapidement une application informatique sur-mesure...

Comme explique precedemment "GENECO" a ete ecrit a l'origine sous CP/M et
puis ensuite retranscrit sous DOS. Le source par lui-meme est pour 80 o/o
ecrit en langage PASCAL et pour 20 o/o environ en langage ASSEMBLEUR. La
base de donnee est derivee du "ACCESS MANAGER" de DIGITAL RESEARCH et elle
utilise le "NODE SYSTEM" qui reste encore aujourd'hui un des plus rapide.

Un jeu d'une centaine de mots cles, incluant donc beaucoup de macro que ne
connait pas le langage BASIC, ceci en plus d'autant de sous-instructions,
vous permet donc d'ecrire tres simplement des applications tres puissantes.

Voici en exemple un programme de "BANQUE" qui est ecrit sous GENECO :

********** DEBUT DE L'EXEMPLE

10 REM:MES "Pour changer nom du fichier : Modifiez la Ligne 12 (OPEN et
    NOM) ainsi que la derniere ligne du programme (SGBD)"
12 CLOSE:CLEAR VAR:DAT=DATE:OPEN 1,"BK1":SCREEN "BANK0":NOM="DEMO":
    INVS:PRINT NOM,ZONE 1:NORM:GOTO 18
14 CLOSE:END
16 CMDLINE "Saisie Lecture Delete Modif Imprimante Purge Sgbd Quitte":
    CAS GOTO 34,GOTO 18,GOTO 52,GOTO 48,GOTO 30,GOTO 54,GOTO 62,GOTO 14
18 READ AA,"  ":PREM=AA:MODEL AA,AE,AC,AD,AF,AG,AH
20 CLEAR ZONE,2,127:I=17:X=114
22 PRINT MODEL,ZONE X
24 PREC:IF FIC1>1:I=I-1:IF X>2:X=X-7:GOTO 22
26 CMDLINE "Quitte Precedent Suivant":CAS GOTO 16,GOTO 20,GOTO 28:BACK 16
28 X=AA+17+17-I:IF X>PREM:X=PREM:ENDIF:CLEAR ZONE:READ AA,X:I=17:
    X=114:GOTO 22
30 MES "Numero Mouvement de Depart":BACK 16:IF REP="":REP=0:ENDIF:DEP=REP:
    READ AA,DEP:PRINTER:MASK "BANK1":FF=CHR(12):I=0
32 MASK "BANK2":I=I+1:IF I>50:PRINT FF:MASK "BANK1":I=0:ENDIF:CONT:
    IF FIC1>1:GOTO 32:ELSE:PRINT FF:VIDEO:SCREEN "BANK0":GOTO 18
34 READ AA,"  ":BAL=AH:REP=AA+1:CLEAR FIC:AA=REP:MODEL AE,AC,AD,AF,AG
36 AE=DAT:PRINT AA,ZONE 121,AE,ZONE 122:SUITE 122,MODEL:BACK 18:
    AH=BAL+AG-AF:PRINT AH,ZONE 127
38 IF AH<0:MES "Attention: Compte a Decouvert"
40 CMDLINE "Enregistre Modifie Quitte":CAS GOTO 42,GOTO 36,GOTO 18:BACK 18
42 ENRE:IF AE<>DAT:DAT=AE:ENDIF:GOTO 18
44 MES "Recalc en Cours",LN:READ AA," ":REP=AG-AF:AH=REP:MODIF
46 CONT:IF FIC1>1:AH=REP+AG-AF:REP=AH:MODIF:GOTO 46:ELSE:GOTO 18
48 MES "No de la ligne a Modifier":BACK 16:IF REP<>NUM:GOTO 16:
    ENDIF:READ AA,REP:MODEL AA,AE,AC,AD,AF,AG,AH:PRINT MODEL,ZONE 121
50 MODEL AE,AC,AD,AF,AG:SUITE 122,MODEL:BACK 18:
    CMDLINE "Enregistre Modifie Quitte":IF REP="E":MODIF:GOTO 44:ENDIF:
     IF REP="M":GOTO 50:ENDIF:GOTO 18
52 MES "Confirmez l'effacement du dernier mouvement O/N":IF REP="O":
    READ AA,"  ":DELT:ENDIF:GOTO 18
54 MES "Purge au dela des 300 derniers mouvements O/N":BACK 16:
    IF REP<>"O":GOTO 16
56 READ AA,"  ":I=1
58 IF FIC1<1:GOTO 18:ENDIF:IF I<121:PREC:I=I+1:GOTO 58:
    ELSE:READ AA,AA
60 DELT:PREC:IF FIC1>1:GOTO 60:ELSE:GOTO 18
62 SGBD 1,"BK4":SCREEN "BANK0":GOTO 44

********** FIN DE L'EXEMPLE

Voila, en quelques dizaines de lignes sous "GENECO" vous avez la un programme
complet de gestion d'un compte baquaire, ce qui aurait fait des milliers de
lignes si vous aviez du l'ecrire en BASIC, PASCAL, ou autres VISUAL...).

En fait, vous observerez que toutes les variables ont deja ete predefinies
dans des masques d'ecran et des stuctures de fichier simplement dessines
auparavant, et qu'ensuite ce sont simplement des macro-instructions d'ordre
general qui travaillent sur la base d'une programmation de type BASIC...

On ne peut faire plus simple, c'est avec cela comme je l'ecris plus haut que
j'ai ainsi realise des centaines de programmes specifiques, de comptabilite
(meme analytique), de paye, de stock, de gestion des commandes, de production
et de statistique car "GENECO" inclut aussi toutes les fonctions statistiques,
d'aide memoire, de gestion de portefeuille banquaire, comptes clients, etc...

Avec "GENECO" on peut ouvrir jusqu'a 5 fichiers indexes simultanement ce qui 
permet d'enormes possibilites pour resoudre les cas meme les plus complexes.


   ----------------------
3) Le Concept de "GENECO"
   ----------------------


Le concept de "GENECO" est issu d'une longue experience de la programmation
dans l'objectif de devoir realiser des applications bien specifiques afin de
pouvoir solutionner des problemes toujours differents, ou bien particuliers.

Au dela de la specificite des realisations que je faisais, je me suis apercu
que j'utilisais souvent les memes routines de programme pour gerer les ecrans,
les menus, les fichiers, etc... et c'est comme cela que le CONCEPT est ne...

La meme information d'une zone d'un fichier est la meme qui correspond a une
zone dans un ecran, et la meme en tant que variable dans son traitement au
sein d'un programme... Ainsi, en creant sous une structure commune, d'une
part un generateur d'ecran, un generateur de fichier, puis un langage adapte
qui sache reconnaitre les noms de ces zones, 90% du travail etait fait et il
ne me restait donc plus que 10% a programmer pour en realiser la specificite.

Sous le mode "COMMANDE" (avec le crochet ] sur la gauche) "GENECO" integre
donc quatre important modules de base. Les voici dans l'ordre : 


3a - Le GENERATEUR d'ECRAN
     ---------------------


]GENECR "<Non de Fichier>"<Return>      (La racine .ECR est automatique)

qui vous permet donc dessiner tres simplement vos ecrans, menus, y compris
meme vos structures de fichier... Les noms des zones que vous indiquerez
peuvent etre des zones de fichier, ou de simples variables, ou meme sans
aucun nom et vous les adresserez alors directement avec les instructions
MODEL, PRINT, ou WRITE par exemple (revoir le programme de demonstration).

Sinon, en mode d'excution (mode RUN), l'instruction AFFICH est a elle seule
suffisante, sans rien de plus, pour re-afficher toutes les zones d'un ecran
apres, par exemple, un calcul specifique par le programme (revoir la demo).

Avec la commance "GENECR" vous pouvez ainsi creer tout vos masques d'ecran,
eventuellement de fichier, ainsi que tous les masques d'edition imprimante.


3b - Le GENERATEUR de FICHIER
     ------------------------


]GENFIC "<Non de Fichier>"<Return>      (La racine .FIC est automatique)

qui vous permet de creer de nouvelles structures de fichier, ou de rajouter
de nouvelles zones a des fichiers deja crees a partir du generateur d'ecran.

Les zones definies dans les structures de fichier seront ensuite reconnues
sous leur meme nom dans les masques d'ecran ou d'edition, et les programmes.

Les fichiers sont de type "DATA.<3 premieres lettres du Nom du Fichier>" pour
les data, et "IDX<nom de l'index>.<3 premieres lettres du Nom du Fichier>"
pour les index, plus vu plus haut "<Nom du Fichier>.FIC" pour la structure...


3c - Le mode "COMMAND (egalement mode "EDIT" ou mode crochet ])
     ----------------------------------------------------------


]LOAD "<Non de Fichier>"<Return>        (La racine .PRG est automatique)
]LIST<Return>
]EDIT 12<Return>

c'est sous ce mode que l'on ecrit les programmes qui utiliseront donc les
memes noms pour les zones d'ecran, d'edition, de fichier, ou de variable,
ceci quelqu'en-soit leur type (numerique, alpha, index), ou leur position.

C'est egalement a partir de ce mode que vous accedez aux modes "GENECR",
"GENFIC", "RUN", ainsi qu'a bien d'autres utilitaires dont "SOS" qui vous
permettra de restucturer les index d'un fichier qui autait ete corrompu.

]SGBG 1,"BK1"<Return>

Bien souvent, lorsque l'on doit ecrire une application software specifique,
au dela de l'ecriture du programme il y aussi vouvent a devoir saisir les
data pour remplir les fichiers. L'utilitaire SGBD en est autre exemple, il
permet, sans avoir encore ecrit aucun programme, de commencer la saisie des
fichiers ce des que vous en aurez simplement definis les stuctures avec le
generateur d'ecran. Mieux, bien souvent l'on s'apercoit que l'on a oublie
une zone, ou que le longueur d'une zone n'est pas bonne, aucun probleme,
l'utilitaire TRANSFIC vous permettra de transferer tout les data depuis
l'ancienne structure dans la nouvelle que vous aurez alors redefine. Etc.

Notez que l'on peut ouvrir jusqu'a 5 fichiers simultanement sous "GENECO".

]SGBG 3,"BK1"<Return>   est donc aussi valide, mais avec le 3ieme buffer.

Dans le cas d'un programme specifique de comptabilite, par exemple, vous
pourrez ainsi ouvrir simultanement un fichier des comptes en meme temps
qu'un fichier des mouvements d'ecriture, etc. "GENECO" est tres puissant.


3d - Le mode "RUN"
     -------------


]RUN<Return>          (utiliser <Ctrl><F10> pour arreter l'execution)

qui n'est en fait que l'execution de tout ce qui precede, et cela est tres
rapide (meme sur des machines lentes), car chaque instruction de programme
correspond en fait une fois interpretee a des macro qui elles sont compilees.

Le module "RUN" inclut toute la gestion des fichiers avec des commandes comme
FILE, OPEN, READ, CONT, PREC, CLOSE, SGBD etc... et meme donc cette comnande
TRANSFIC car je me suis apercu que souvent apres un certain temps il fallait
modifier une structure de fichier alors que des data avaient deja ete saisis.

Il y a aussi les GOTO, GOSUB, tous les calculs numeriques sur 16 digits, ceci
incluant les fonctions trancendantales, et toutes les fonctions statistiques,
tous les operateurs logique egalement et bien sur les IF, ELSE, ENDIF, etc... 
et bien d'autres mots cle permettant de resoudre facilement tous les cas...

La gestion des menus (MENU), des lignes de commande (CMDLINE) et branchements
selon les cas (CAS GOTO, ou CAS GOSUB), etc... ne sont que quelques exemples.

Vous n'en avait la qu'environ moins de 1% des possibilites de "GENECO"...


3e - Notes
     -----

A noter que le concept de "GENECO" a ete repris par la suite par "DBASE3" en
une version plus conviviale mais bien moins puissante, et qu'aujourd'hui le
"VISUAL Basic" de Microsoft en reprend la structure sans les fichiers index.


   -----------------------------------
4) En guise de conclusion sur "GENECO"
   -----------------------------------


Dans sa version executable "GENECO" utilise 256 kilo-octets de memoire. Il
travaille WINDOWS (meme sous XP), ceci dans une fenetre DOS bien entendu.

Les programmes specifiques que vous ecrirez ensuite avec "GENECO" ne feront
eux que quelques dizaines lignes ceci`selon la complexite des realisations.

Vous pouvez telecharger ci-dessous une version 100% complete et gratuite de
"GENECO" y incluant ce petit programme de gestion de compte banquaire cite
plus haut a titre de demonstration. Elle inclue egalement une petite notice
succincte qui vous permettra de tester la realisation de quelques programmes. 

Si ce produit vous interresse pour realiser toutes vos propres applications
specifiques, pour votre usage personnel, ou pour votre usage professionnel,
n'hesitez pas a m'ecrire car une notice de GENECO est egalement disponible.


   -----------------------------
5) Telechargement de GENECO2.ZIP
   -----------------------------


"GENECO" est la contraction de "GEN"erateur "ECO"nomique d'applications.

La version de "GENECO" que vous allez telecharger est une version 100%
operationnelle, et garantie sans aucun virus. Elle est dans un format 
ZIP compresse qui ne fait qu'environ 175 K-octets. Gardez precieusement
ce fichier GENECO2.ZIP qui lui est recopiable et transferable. En effet,
la version que vous allez en decompresser, elle, ne sera plus copiable.

A l'invite du DOS tapez simplement ensuite GENECO2<Return> pour lancer
"GENECO". Si vous souhaitez le lancer depuis WINDOWS il vous suffit de
faire un lien sur "GENECO2.BAT" (l'icone "GENECO.ICO" est disponible).

Attention, "GENECO" est sous Copyright, vous en avez une version a 100%
operationnelle, et gratuite, mais vous n'en avez pas la notice complete.

Le Copyright de cette version est "PIERO", et le Login en est egalement
"PIERO", il vous suffit donc de taper cela a l'invite du Copyright ou du
Login de cette version complete a 100% (mais copiable seulement en ZIP).

Bien, parlons maintenant de la fonctionalite de "GENECO". Comme cela a
ete dit precedemment, "GENECO" est un generateur d'application. Ce que
vous allez donc voir lors du lancement de "GENECO" c'est l'application
de gestion de compte banquaire donnee en demonstration, et non "GENECO"
lui-meme... Pour pouvoir voir "GENECO", une fois que vous serez entrer
dans l'application de compte banquaire, il faut taper <Ctrl><F10> pour
interrompre l'application et entrer ensuite dans le mode de commande.

Une fois dans le mode commande vous aurez un crochet "]" sur la gauche
et la vous pourrez par exemple taper :

]LIST<Return>          (pour voir le programme de banque, utiliser
                       <Space> pour continuer et <F10> pour sortir)

voici d'autres commandes que vous pouvez aussi taper directement :

]SAVE "BK2"<Return>    (pour creer une sauvegarde du programme "BK1")
]LVAR<Return>          (pour lister toutes les variables)
]LIST INST<Return>     (pour lister le jeux d'instruction)
]FILE "BK1"<Return>    (pour voir les fichiers ouvert en cours)
]SGBD 1,"BK1"<Return>  (pour voir le module de gestion de fichier) 
]RUN<Return>           (pour relancer l'application, mais gardez en
                         memoire que c'est souvent <F10> pour quitter)
<Ctrl><F10>            (pour arreter l'execution d'une application)
]PARAM<Return>         (pour visualiser les carracteristiques de votre
                         version de GENECO, elles sont modifiables mais
                         sur commande car il faut recompiler le source)
]SYSTEM<Return>        (pour retourner sous DOS et quitter GENECO)

en prenant plus de precaution, surtout en evitant de sauvegarder, vous
pouvez aussi aller voir du cote du generateur d'ecran et de fichiers :

]GENECR "BK1"<Return>  (pour voir le generateur d'ecrans)
]GENFIC "BK1"<Return>  (pour voir le generateur de fichier)
]SOS "BK1"<Return>     (pour regenerer un fichier desorganise)

avec encore plus de precaution vous pouvez essayer de modifier une ligne
du programme banque pour le personnaliser pour vous :

]EDIT 12<Return>       (pour modifier par exemple la ligne 12. Les fonctions
                        d'edition sont standards : <Tab> , <Insert>
                        <Del> , <BS> , et <F10> pour abandonner,
                        puis enfin <Return> pour valider et quitter)

]LOAD "BK1"<Return>    (pour recharger le programme en cas d'erreur)
]SAVE "BK1"<Return>    (pour sauver les modifications que vous avait faites)
]LOAD "BK2"<Return>    (si vous souhaiter retravailler a partir de l'original) 
]DIR<Return>           (pour voir les fichiers sur le directory du disque)

etc...

tout cela ne represente que 1% (un pour cent) des possibilites de "GENECO".

NB : Pour mettre a ZERO les data de ce programme de gestion compte banquaire
--   il vous suffit de detruire les fichiers *.BK1 (surtout pas les BK1.*).

     Si vous souhaitez entrer directement dans "GENECO", et non pas dans ce
     programme de gestion de compte banquaire, il vous suffit de detruire
     "GENECO.PRG" et "GENECO.ECR" qui ne sont en fait qu'une simple copie
     des originaux "BK1.PRG" et "BANK0.ECR" en vue d'un lancement direct.

]TOOLS<Return>  vous permettra d'affacer facilement GENECO.PRG et GENECO.ECR     

     Si maintenant vous creez un nouveau programme specifique, de stock par
     exemple, avec "GENECO", vous creerez par exemple un programme "ST.PRG"
     avec un menu d'entree, et un ecran "ST.ECR" comme ecran d'entree, qu'il
     vous suffira de recopier dans "GENECO.PRG" et "GENECO.ECR" pour que
     "GENECO" redevienne transparent en lancant directement votre programme.

Dans tous les cas vous pourrez regenerer votre "GENECO" avec "GENECO2.ZIP".

Pour memoire, la commande :

]LIST INST<Return>

vous donne tout le jeux des quelques 85 macro-instructions primaires, cela
devrait vous permettre de tester "GENECO". Mais il vous faudra sa notice
complete si vous souhaitez vraiment en utiliser toutes les capacites a 100%
car, au dela de ces 85 macros, il y a tout le jeu des sous-instructions...

et <Shift><F1> vous donnera en plus une calculatrice de poche.

Rappels :
-------

Creez un repertoire GENECO et telechargez-y "GENECO2.ZIP". Utiliser ensuite
un PKUNZIP ou un WINZIP standard pour le decompresser. Faites un eventuel
test anti-virus afin de bien verifier que les fichiers sont bien propres.

Le fichier "README.TXT" vous donnera toutes les notions de base de "GENECO"

A l'invite du DOS (ou sous WINDOWS) il faut le lancer avec GENECO2.BAT. Mais
c'est l'application de gestion de compte banquaire de demonstration que vous
verrez en premier. Entrez le LOGIN (tapez PIERO) et selectionnez ensuite dans
les lignes du menu la commande pour sortir du programme de demonstration, ou
bien tapez directement <Ctrl><F10> qui en lui aura un effet direct...

Vous serez dans "GENECO" en mode de commande quand vous aurez le crochet "]".
===> Cliquez ici pour telecharger votre "GENECO2.ZIP" <===

Cliquez ici pour me poser des questions directement sur "GENECO"


Texte original de Pierre Pruvost-Sooriah (Piero sur les ondes radio-amateur et pour les proches)


Return on the main page