J'ai trouvé sur le site
Borland le compilateur
gratuit Borland C++ 5.5 permettant
de réaliser des programmes pour DOS (fenêtre DOS sous
Windows 32 bits pour être plus précis) et Windows et je
vais essayer de vous faire partager mes découvertes concernant
l'utilisation de ce compilateur. Si vous avez d'autres informations
intéressantes, n'hésitez pas à m'en faire part.
Je pense que la première chose à
faire est de télécharger le compilateur qui en fait est une
version réduite de Borland C++ builder. Il ne contient pas
d'éditeur de code ou environnement de développement
intégré IDE comme Borland C++ Builder ou les outils
de développement visuels mais il est parfaitement opérationnel
pour réaliser de grandes applications et donner matière à
réfléchir. En ce qui me concerne, je préfère
maitriser toutes les lignes de code de mes programmes et les outils soit disant
magiques de développement visuel d'applications me font peur.
Télécharger le compilateur gratuit Borland C++
5.5 :
Pour télécharger le compilateur gratuit
Borland C++ 5.5 vous devez vous connecter sur le site
http://www.borland.fr/download/compilateurs/ et suivre les
indications proposées (vous devrez d'abord vous enregistrer gratuitement
pour obtenir des codes d'accés qui vous permettront de procéder
au téléchargement). Le nom de fichier du compilateur gratuit
Borland C++ 5.5 est FreeCommandLineTools.exe et il
nécessite 8.54Mo d'espace sur votre disque dur.
Installer le
compilateur gratuit Borland C++ 5.5
:
Pour installer le compilateur gratuit il vous suffit de
cliquer sur le nom du fichier (FreeCommandLineTools.exe) et de laisser
le programme d'installation utiliser les options par défaut. Tous les
fichiers seront donc copiés dans le dossier c:\Borland\Bcc5.5.
Etant donné que ce compilateur est livré
sans Environnement de développement Intégré, vous devrez
le faire fonctionnner sous DOS dans un premier temps ou plutôt à
partir de Windows dans une fenêtre DOS. De plus, comme vous placerez tous
les fichiers sources de l'application que vous souhaitez réaliser dans
un seul dossier, il vous sera plus facile de lancer le compilateur
Bcc32.exe à partir de ce dossier (on ne l'écrit pas
pour rien...) en tapant la commande bcc32. Pour que le compilateur
puisse être lancé de cette manière, vous devez ajouter
à votre fichier autoexec.bat la ligne suivante :
path=c:\Borland\Bcc55\bin et redémarrer votre ordinateur.
Si vous tapez ensuite bcc32 sous DOS ou
plutôt dans une fenêtre Dos (on ne va pas le répéter
à chaque fois...), le compilateur Borland C++ 5.5 affiche ses
options de ligne de commande :

Pour ne pas avoir besoin de taper les commandes
nécessaires à chaque compilation (à la suite de
Bcc32) , il est prévu que le compilateur aille lire le fichier
Bcc32.cfg qu'il devra normalement trouver dans le dossier
c:\Borland\Bcc5.5\bin. Par conséquent, le mieux et de le
configurer tout de suite en y inscrivant les lignes suivantes :
-I"c:\Borland\Bcc55\include" : Indique au
compilateur qu'il doit aller chercher dans le dossier c:\Borland\Bcc55\include
les fichiers d'inclusion contenant les définitions des fonctions
standard que vous utilisez dans votre programme et que vous lui mentionnez par
la directive #include. -L"c:\Borland\Bcc55\lib" : Indique au
compilateur qu'il doit aller chercher dans le dossier
c:\Borland\Bcc55\lib les fichiers .lib contenant les informations
concernant les fonctions des dll correspondantes.

Etant donné que le complilateur lancera le
programme d'édition de liens ilink32.exe pour
générer le fichier exécutable de votre programme, il est
aussi souhaitable de configurer le fichier ilink32.cfg en y inscrivant
la ligne suivante :
-L"c:\Borland\Bcc55\include" : Indique à
l'éditeur de liens qu'il doit aller chercher dans le dossier
c:\Borland\Bcc55\lib les fichiers .lib contenant les informations
pour lier à votre programme les fonctions des dll
correspondantes.

En tapant Ilink32 sous DOS... on obtient les
options de ligne de commande de l'éditeur de liens Ilink32.exe
:

Tester
l'installation du compilateur gratuit Borland C++ 5.5
:
Pour tester si le compilateur Borland C++ 5.5 est
correctement installé sur votre ordinateur, je vous propose de lui faire
réaliser un petit exécutable de test fonctionnant sous DOS et un
autre fonctionnant sous Windows 9x.
Programme de test fonctionnant
sous DOS :
1) Créez un dossier nommé
c:\testdos
2) A l'aide d'un éditeur de texte tapez les
lignes suivantes (les caractères situés après les // ne
sont pas indispensables. Ils servent uniquement à commenter le programme
et ne seront pas pris en compte par le compilateur :
#include <stdio.h> // inclure le
fichier d'en-tête contenant la fonction printf()
int main() // fonction d'entrée d'un
programme dos écrit en langage c ou c++ {//accolade
d'ouverture marquant le début du code de la fonction main()
printf("Hello World"); // afficher Hello
World à l'écran
return 0;// paramètre de type int
de valeur zéro devant être // retourné par la fonction
main()
}//accolade de fermeture marquant la fin du
code de la fonction main() |
3) Enregistrez les lignes ci-dessus dans un fichier
appelé hello.cpp et placez-le dans votre dossier
c:\testdos.
4) Sous DOS depuis le dossier c:\testdos lancez
le compilateur en tapant la commande suivante :
bcc32 hello
5) Si votre compilateur est correctement installé
vous devez voir le texte Hello World s'afficher à l'écran
lorsque vous lancez le programme hello.exe généré
par le compilateur..

Programme de test fonctionnant
sous Windows 9x :
1) Créez un dossier nommé c:\testwin
2) A laide d'un éditeur de texte tapez les lignes
suivantes (les caractères situés après les // ne sont pas
indispensables. Ils servent uniquement à commenter le programme et ne
seront pas pris en compte par le compilateur :
#include <windows.h>// inclure le
fichier d'en-tête contenant la fonction MessageBox() #pragma
argsused//ne pas générer de fichier listing de
compilation
WINAPI WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow) // fonction
d'entrée d'un programme Windows écrit en langage c ou c++
{//accolade d'ouverture marquant le
début du code de la fonction WinMain()
MessageBox(NULL, "Hello World", "", MB_OK);
//afficher Hello World
return 0; //paramètre de type WINAPI
de valeur zéro devant être // retourné par la fonction
WinMain()
}//accolade de fermeture marquant la fin du
code de la fonction WinMain()
|
3) Enregistrez les lignes ci-dessus dans un fichier
appelé hello.cpp et placez-le dans votre dossier
c:\testwin.
4) Sous DOS depuis le dossier c:\testwin lancez
le compilateur en tapant la commande suivante :
bcc32 -tW hello
Vous pouvez constater que pour indiquer au compilateur
qu'il s'agit ici de générer un programme pour Windows nous avons
ajouté l'option de compilation -tW (attention à respecter
les majuscules et les minuscules). Il est à noter que dans le cas ou
vous souhaiteriez ne plus avoir à taper cette option de compilation il
vous suffirait de l'ajouter au contenu du fichier Bwcc32.cfg (ne le
faites pas tout de suite ou seulement pour tester car on verra plus loin qu'il
existe une astuce pour éviter de jongler avec les fenêtre DOS
quand on souhaite travailler sous Windows).
5) Si votre compilateur est correctement installé
vous devez voir le texte Hello World s'afficher à l'écran
à l'intérieur d'une boîte de message après avoir
lançé le programme hello.exe (depuis Windows)
généré par le compilateur.

Se procurer de l'aide et
utiliser les fonctions API
:
En fait, toutes les fonctions de base qui permettent de
développer un programme pour Windows sont regroupées dans un
ensemble appelé API (Application Programming
Interface) ces fonctions ont leurs points d'entrées dans le
fichier windows.h situé dans le dossier
c:\Borland\Bcc55\include. C'est la raison pour laquelle on place la ligne
#include <windows.h> au début du code du programme. Si on
est amené à utiliser des fonctions écrites dans un autre
fichier du dossier c:\Borland\Bcc55\include alors il faudra ajouter au
début du programme la ligne #include <nom du fichier>
correspondante. Si vous préférez placer le fichier dans le
mème dossier que vos autres sources alors vous écrirez
#include 'nom du fichier'.
La documentation des fonctions API et des
ressources standard d'une application Windows 32 bits se trouve dans le
fichier win32.hlp fourni par Microsoft. On le trouve avec la
plupart des compilateurs (payants). Vous pouvez aussi utiliser les moteurs de
recherche du Web pour le trouver en téléchargement sur certains
sites. Pour ma part j'ai utilisé le moteur
Google qui m'a sorti le lien
suivant :
http://www.inprise.com/devsupport/delphi/downloads/
Sur la page correspondante vous trouverez une
entrée au fichier win32.zip qui contient le fichier
win32.hlp :
http://www.inprise.com/devsupport/delphi/downloads/win32.zip
(7.59 Mo)
Vous pouvez aussi vous aider des fichiers d'aide de
l'API Windows CE pour une première approche des fonctions dont
vous avez besoin avant d'approfondir la recherche dans win32.hlp ou
ailleurs.
Les fichiers d'aide de l'API Windows CE se trouvent
en téléchargement sur le site de Microsoft :
http://msdn.microsoft.com/msdn-files/027/001/460/wince212docs.exe
(5.05 Mo)
Une autre source importante de renseignements se trouve
dans le kit platform SDK de Microsoft ainsi que MSDN mais bon,
pour l'instant nous n'en avons pas vraiment besoin.
Construire la fenêtre
principale d'une application Windows
:
Voici le code constituant le squelette de base d'une
application Windows 32 bits que nous allons réaliser avec le
compilateur gratuit Borland C++ 5.5 et que nous pourrons modifier par la
suite pour aller un peu plus loin. Le C++ étant une extension du
C et que personnellement je trouve que le C est plus simple que
le C++ et qu'ensuite le compilateur gratuit Borland C++ 5.5
compile très bien le C, nous allons travailler en C. De
toutes façons je ne comprends pas le C++ et je n'ai pas envie de
le comprendre parce que je trouve que je suis suffisamment organisé pour
ne pas avoir besoin d'être guidé artificiellement par le langage
de programmation lui-mème et ses nombreuses contraintes. De plus les
fonctions API sont écrites en C et les exemples qui s'y
rapportent aussi.
#include <windows.h>
//déclarations de variables
LPSTR lpszAppName="Ma première fenêtre
Windows";
HINSTANCE hInst;
HWND hWnd;
//Prototypes de fonctions
LONG WINAPI WndProc( HWND hWnd, UINT uMsg, WPARAM
wParam,LPARAM lParam );
//Fonctions
int APIENTRY WinMain( HINSTANCE hInstance,
HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) {
MSG msg;
WNDCLASS cls;
// Enregistrer la classe fenêtre de
l'application principale.
cls.hInstance = hInstance;
cls.lpszMenuName = lpszAppName;
cls.lpszClassName = lpszAppName;
cls.hIcon =
LoadIcon(NULL,IDI_EXCLAMATION);
cls.hCursor =
LoadCursor(NULL,IDC_ARROW);
cls.hbrBackground
=(HBRUSH)(COLOR_WINDOW+1);
cls.style = CS_VREDRAW | CS_HREDRAW;
cls.lpfnWndProc = (WNDPROC)WndProc;
cls.cbWndExtra = 0;
cls.cbClsExtra = 0;
if ( !RegisterClass( &cls ) )
return( FALSE );
hInst = hInstance;
// créer l'application principale
hWnd = CreateWindow (lpszAppName, lpszAppName,
WS_OVERLAPPEDWINDOW, 50, 50, 640, 470, NULL, NULL, hInst, NULL);
if ( !hWnd )
return( FALSE );
ShowWindow( hWnd, nCmdShow );
UpdateWindow( hWnd );
while( GetMessage( &msg, NULL, 0, 0)
)
{
TranslateMessage( &msg );
DispatchMessage( &msg );
}
return( msg.wParam );
}
LONG WINAPI WndProc( HWND hWnd, UINT uMsg, WPARAM
wParam , LPARAM lParam )
{
switch(uMsg)
{
case WM_CLOSE :
{
DestroyWindow( hWnd );
};
break;
case WM_DESTROY :
{
PostQuitMessage(0);
};
break;
case WM_QUERYENDSESSION :
{
DestroyWindow( hWnd );
};
break;
default :
return DefWindowProc( hWnd, uMsg, wParam,
lParam );
};
return 0;
} |
Après avoir écrit le listing ci-dessus avec
votre éditeur de texte et l'avoir enregistré sous le nom
fenbase.c et placé dans le dossier c:\fenbase de votre
disque dur. Bon, vous pouvez aussi le télécharger directement ici
: fenbase.c . On remarquera que l'extension du fichier
n'est plus .cpp mais .c . Ceci indiquera au compilateur ou aux
lecteurs (c'est plus probable) que le programme est écrit en langage
C (bon, si on avait laissé .cpp ça n'aurait pas
changé grand chose comme dirait l'autre puisque le C est un sous
ensemble du C++. Peut-être au niveau du temps de compilation, je
laisse ce calcul aux spécialistes.). bref maintenant il faut
écrire le batch pour lancer le compilateur avec les commandes
nécessaires sans avoir besoin de tapoter du clavier dans le DOS à
chaque fois. Certains préfèrent utiliser les fichiers make
mais pour ma part je trouve que c'est trop galère.
Récapitulatif des fichiers de configuration devant
être placés dans c:\Borland\Bcc5.5\bin:
Le fichier batch sera comp.bat et
placé dans c:\fenbase. Son contenu sera identique à ce que
nous avions tapé sous DOS pour réaliser le programme de test
Windows mais avec fenbase.c à la place de hello.

Par conséquent le contenu de
c:\fenbase est le suivant :

Et après un double clic sur
comp.bat, quelques secondes de patience et un clic sur la croix de la
fenêtre DOS pour la fermer lorsque la compilation est terminée on
obtient :

Miracle ! voici notre petit fenbase.exe sur lequel on peut double cliquer pour
voir s'afficher notre fenêtre de base :

Bon je l'ai volontairement un peu
réduite il faut bien l'avouer.
Ajouter des ressources
(icônes, menus, boutons etc...) à une
fenêtre :
Pour l'instant nous n'avons pas encore de fenêtre
avec menus, boutons etc... mais c'est en bonne voie. à la fin de ce
paragraphe nous aurons réussi à créer une fenêtre
qui se transforme en icône lorsqu'elle est réduite c'est à
dire que son icône (non standard fournie par Windows) apparaitra dans
l'explorateur ou comme raccourci qu'on voudra bien placer sur le bureau etc....
mais surtout on aura apris à utiliser un fichier de ressources dans
lequel on pourra ajouter toutes les ressources qu'on voudra pour notre
application.
Bon pour notre étude on dira que notre petit bout
de programme s'appellera testres.exe et que tous les fichiers que nous
allons créer pour le développer, en particulier le code source
(testres.c) de la fenêtre seront placés
dans le dossier c:\testres alors à vous de jouer pour la
création du dossier.
Une icône est une ressource et elle doit être
mentionnée dans un fichier de ressources (testres.rc). C'est aussi un dessin (testres.ico) réalisé avec un programme de
dessin d'icônes. Ce fichier de ressources devra contenir les
éléments suivants :
MAINICON ICON LOADONCALL MOVEABLE
DISCARDABLE testres.ico |
Vous trouverez le descriptif de la ressource ICON
dans le fichier rc.hlp qui est lui-mème dans le fichier
b5ms.zip sur le site ftp de inprise :
ftp://ftp.inprise.com/pub/bcppbuilder/techpubs/b5ms.zip
mais ce fichier pèse 17Mo. Pour en extraire un rc.hlp de
237 Ko ça fait beaucoup. Je vous propose alors de
télécharger une version plus ancienne directement
ici du fichier rc.hlp. Plus ancienne mais plus
légère (132 Ko), moins galère et largement suffisante pour
ce qui nous concerne. Bref, en ouvrant le fichier rc.hlp vous trouverez
le lien Resource-Definition Statements puis
ICON Resource.Cette rubrique vous permettra
de comprendre ce qui est écrit dans notre fichier testres.rc et
aussi d'aller voir quelles sont les autres ressources à notre
disposition. On remarquera aussi que le fichier b5ms.zip contient une
version plus lourde (23,6 Mo) et plus récente du fichier
win32.hlp mentionné plus haut sur cette page.
La syntaxe indiquée dans le fichier rc.hlp
de notre ressource icône pour le fichier testres.rc est nameID
ICON [load-mem] filename où naneID peut être soit un
nombre entier, soit un nom (chaine de caractères). Dans notre cas on
choisira un nom. Ce nom sera indiqué dans notre fichier principal de
gestion de fenêtre testres.c au niveau de la déclaration de
la classe de fenêtre. Voici la partie du programme qui correspond
à la déclaration de la classe de fenêtre :
cls.hInstance = hInstance;
cls.lpszMenuName = lpszAppName; cls.lpszClassName = lpszAppName;
cls.hIcon = LoadIcon(hInstance,"MAINICON"); cls.hCursor =
LoadCursor(NULL,IDC_ARROW); cls.hbrBackground =(HBRUSH)(COLOR_WINDOW+1);
cls.style = CS_VREDRAW | CS_HREDRAW; cls.lpfnWndProc =
(WNDPROC)WndProc; cls.cbWndExtra = 0; cls.cbClsExtra = 0; |
Je vous ai marqué volontairement MAINICON en
caractères gras pour vous montrer qu'on doit le retrouver à la
fois dans le fichier de ressources testres.rc et le fichier principal
(patati et patata...) testres.c. en recherchant la syntaxe de la
fonction LoadIcon() dans le fichier win32.hlp (elle y figure,
c'est donc une fonction API point final) on trouve :
HICON LoadIcon( HINSTANCE hInstance, // handle of
application instance
LPCTSTR lpIconName // icon-name string or icon
resource identifier );
Où lpIconName (remplacé par
MAINICON dans notre programme) doit être une chaine de
caractères du nom d'une ressource icône. c'est donc gagné !
il ne nous reste plus qu'à compiler testres.c avec
bcc32.exe pour en faire un testres.obj c'est à dire un
fichier objet (c'est comme ça qu'on doit l'appeler. C'est tout !!!),
testres.rc avec le compilateur de ressources brc32.exe pour en
faire un testres.res c'est à dire un fichier de ressources
compilé, pour ensuite lier testres.obj avec testres.res en
utilisant l'éditeur de liens (on peut dire aussi linker)
ilink32.exe et ainsi réaliser notre exécutable
testres.exe muni de sa belle icône (intéressant non ?).
brc32.exe et ilink32.exe tout comme
bcc32.exe se trouvent dans le dossier d'installation de Borland C++
5.5 : c:\Borland\Bcc5\Bin par conséquent nous allons pouvoir
réaliser les batch de compilation correspondants et les
exécuter un par un depuis l'explorateur parce que nous avons
défini le path de c:\Borland\Bcc5\Bin dans
l'autoexec.bat.
Vous trouverez toute la documentation disponible sur
bcc32.exe, brc32.exe, ilink32.exe dans le fichier d'aide
bcb5tool.hlp fourni avec le compilateur gratuit Borland C++
5.5.
En route pour compiler
testres.c :
Voici ce que le fichier batch comp.bat doit
contenir :

Par rapport à la compilation de
fenbase.c nous avons simplement ajouté l'option -c pour
empécher le compilateur de lancer ilink32.exe tout seul et
l'obliger à ne créer que le fichier testres.obj. Bon, dans
cet ordre, ça n'aurait pas changé grand chose si on n'avait pas
ajouté -c parce que le testres.exe créé
(sans l'icône souhaitée) aurait été
écrasé par le suivant (celui de plus tard avec son icône
souhaitée). Mais c'est plus propre comme ça.
Par conséquent le contenu de
c:\testres est le suivant :

Et après un double clic sur
comp.bat, quelques secondes de patience et un clic sur la croix de la
fenêtre DOS pour la fermer lorsque la compilation est terminée on
obtient la création du fichier testres.obj :

En route pour compiler
testres.rc :
Le compilateur de ressources win32 est donc
brc32.exe (on n'en avait pas encore beaucoup parlé de
celui-là). Si vous tapez brc32 sous DOS ou dans une fenêtre
Dos, le compilateur de ressources affiche ses options de ligne de commande
:

Voici ce que le fichier batch rc.bat
(rc pour resource compilation ça fait plus fun !)
pour la compilation de testres.rc doit contenir :

Comme indiqué plus haut, l'option -32
indique une compilation win32 et l'option -r de ne produire que
testres.res.
Par conséquent le contenu de c:\testres
est le suivant :

Et après un double clic sur rc.bat,
quelques secondes de patience et un clic sur la croix de la fenêtre DOS
pour la fermer lorsque la compilation est terminée on obtient la
création du fichier testres.res :

En route pour l'édition
de liens (ou linkage) :
Rappel : Le but de l'opération ici est de
lier testres.obj à testres.res pour en faire
testres.exe.
Voici ce que le fichier batch link.bat (devinez
pour link ! ) doit contenir :

Alors ça vous en bouche un coin ?
Allez donc plutôt faire un tour dans le fichier
bcb5tool.hlp fourni avec le compilateur gratuit Borland C++ 5.5
(je crois que je me répète) pour y voir un peu la syntaxe que
doit prendre la ligne de commande de ilink32. Voici ce qu'on y trouve
:
ILINK32 [@respfile][options] startup myobjs, [exe],
[mapfile], [libraries], [deffile], [resfile]
Eh oui la place des virgules est très importante.
il suffit d'en oublier une et patatra...
Ce qui est entre crochets n'est pas indispensable c'est
écrit dans la doc !
[@respfile] = fichier de réponse du linker
(on verra comment en faire un à notre sauce plus tard) pour l'instant on
va s'en passer.
[options] = -aa : Construire une
application Windows 32 bits (important non ?). Mieux vaut être sur !
startup = c0w32 c'est obligatoire c'est
tout ! on trouve ce fichier (c0w32.obj) dans le dossier c:\Borland\Bcc5\Lib
du compilateur. Il parait que c'est pour bien initialiser le linker et tout
le reste en vue de la création d'un programme Windows dans les
normes.
myobjs = Ah voilà où il faut placer
testres.obj !
[exe] = testres : On va lui dire que notre
programme devra s'appeler testres.exe au cas où il ne s'en
souviendrait pas !
[mapfile] = Moi j'y mets rien. Il pourra faire
un fichier de mapping si ça lui fait plaisir et aussi choisir le nom
correspondant tant qu'il y est. Moi ça m'est égal.
[libraries] = import32 cw32 : bon, ils
disent que ce qui est entre crochets n'est pas indispensable mais si on
n'écrit pas ici les références à
import32.lib et cw32.lib le linker n'ira jamais chercher les
entrées des fonctions de l'API dans ces fichiers et on se demandera
pourquoi testres.exe ne marche pas : Ce programme va être
arrêté parcequ'il a réalisé une opération non
conforme (et j'en passe !).
[deffile] = Si on veut se faire plaisir et
construire un fichier de définition de module qu'on
référencera ici on peut. Moi je ne fais rien. Le linker n'aura
qu'à se débrouiller avec ses options par défaut.
[resfile] = Ah voilà où il faut
placer testres.res !
Par conséquent le contenu de c:\testres
est le suivant :

Et après un double clic sur link.bat,
quelques secondes de patience et un clic sur la croix de la fenêtre DOS
pour la fermer lorsque l'édition de liens (ou linkage) est
terminée on obtient la création du fichier testres.exe
:

Miracle ! voici notre petit testres.exe sur lequel on peut double cliquer pour
voir s'afficher notre fenêtre :

Bon je l'ai volontairement un peu
réduite il faut bien l'avouer. (Là aussi je me
répète ?)
Réaliser un fichier batch
de projet :
Pour développer notre fenêtre Windows avec
son icône nous avons décomposé les différentes
étapes :
- Compilation du fichier principal de gestion de
fenêtre testres.c avec comp.bat.
- Compilation du fichier de ressources testres.rc
avec rc.bat.
- Edition de lien avec link.bat.
Afin de nous éviter toutes ces manipulations
(fastidieuses il faut bien le dire), nous allons regrouper toutes les commandes
en un seul fichier appelé projet.bat (c'est moi qui l'ai
inventé). De plus, on fera en sorte que les messages affichés par
les compilateurs et le linker pendant leur travail soient placés dans
des fichiers qu'il sera possible d'aller lire autant de fois qu'on en aura
envie pour la recherche d'éventuelles erreurs (personne n'est
parfait).
Tant qu'on y est pour la recherche des erreurs, je voulais
vous indiquer que le fichier BCB5ERRS.HLP contenu dans b5std.zip
pouvait vous être très utile (Quand vous voudrez programmer
tout seul dans votre coin et que vous refuserez qu'on vienne vous donner des
conseils).
Pour télécharger b5std.zip :
ftp://ftp.borland.com/pub/borlandcpp/techpubs/bcc55/b5ctool.zip
http://www.borland.com/techpubs/borlandcpp/v55/updates/cmd.html
Voici ce que le fichier batch projet.bat doit
contenir :

On se rendra compte que ce n'est ni plus ni moins que le
contenu des fichiers batch comp.bat, rc.bat et link.bat
placés à la suite. Nous avons simplement ajouté
un > de redirection vers un fichier de sortie pour chaque
étape. Les informations qui étaient affichées dans
la fenêtre DOS lorsque nous procédions de manière
indépendante seront enregistrées dans ces fichiers.
Si on réinitialise le dossier c:\testres
avec uniquement les dossiers nécessaires voici ce qu'il doit contenir
:

Et après un double clic sur
projet.bat, quelques secondes de patience et un clic sur la croix de la
fenêtre DOS pour la fermer lorsque la compilation est terminée on
obtient :

C'est à dire la mème chose
qu'avant avec en plus les fichiers de sortie comp.txt, rc.txt,
link.txt, le tout en une seule opération. Le fichier
testres.exe est aussi disponible et il ne reste plus qu'à cliquer
dessus pour ouvrir notre belle fenêtre, faire une petit raccourci
à placer sur le bureau pour mieux voir son icône etc...
Il ne vous reste plus qu'à vous
plonger dans les livres et les fichiers d'aide. Le descriptif des fonctions
standard du langage c se trouve dans le fichier bcb5rtl.hlp
contenu dans b5std.zip vu plus haut. Lorsque vous pensez pouvoir
utiliser une fonction vous devez vous assurer qu'elle soit compatible win32 en
cliquant sur Portability. N'oubliez pas
aussi d'inclure le fichier d'en-tête contenant la fonction au
début de votre programme comme nous l'avons fait pour windows.h.
Vous avez ici tous les éléments dont vous avez besoin pour
travailler à réaliser de belles applications
sans dépenser un sou. Avec un bon
éditeur de code gratuit comme
SynEdit vous pourrez faire tout ce que vous
voulez. Il suffit de lui indiquer le fichier projet.bat dans son
menu Advanced -> Invoke DOS command pour ensuite lancer la
compilation en pressant la touche F7 puis enter.
J'ai trouvé SynEdit sur
http//www.download.com en
utilisant le mot clé editor et pour le télécharger
il suffit de cliquer sur le lien suivant :
http://synedit.hypermart.net/synedit.zip SynEdit
pèse 3.28 Mo.
Vous pouvez aussi vous connecter sur
http://www.webnotes.org
pour voir ce qu'il est possible de faire en C avec Borland,
trouver des exemples de code
http://www.webnotes.org/sources.htm, utiliser les moteurs de
recherche pour trouver un fichier particulier sur internet
http://www.webnotes.org/chercher.htm etc...
|