Alcatîz - Articles, tutoriels et sources Pascal
Date de publication : 30/10/2005. Date de mise à jour : 14/11/2011.
Par
Alcatîz (site)
Bienvenue sur la page d'accueil d'Alcatîz !
Cette page référence différents tutoriels, articles et sources réalisés
pour la rubriques Pascal de Developpez.com.
|
Tutoriels
La programmation Win32 en Virtual Pascal avec OWL
Le thunking générique en Pascal
Installer et configurer Turbo Pascal sur Windows 7 et Windows Vista
Utilisation de Turbo Pascal sur l'émulateur DosBox sous Windows 7
Accélérer la lecture et l'écriture de fichiers sur machine distante en utilisant un cache
Sources
Plate-forme Windows 32 bits
Programme complet d'installation de l'EDI Borland Pascal for Windows 7.0
Triple Yahtzee 4.00
Unit WinShell 3.00
Unit WinShell 1.00
ChgLinks 1.00
LPJJGlos 2.00
Les bases de l'API WinSock
Plate-forme Windows 16 bits
Unit Win32 1.00
Secours 2.00
Adresses 1.10
CMOSSave 1.00
Plate-forme MS-DOS
Tennis Tournament Organizer 1.20
Unit TXT 2.00
Mines 1.00
Echecs 1.00
Tutoriels
La programmation Win32 en Virtual Pascal avec OWL
Il s'agit d'un tutoriel complet d'initiation à la programmation Win32 en Pascal objet avec OWL (Object Windows Library), la bibliothèque sur laquelle ont été construites les premières versions de Delphi.
Si vous voulez découvrir les rouages intimes d'un programme Windows, ce cours est fait pour vous.
Juillet 2006 : préliminaires
- Installation de Virtual Pascal 2.1
- Les chaînes AZT
- L'unité WinCRT
- Premier programme OWL
- Réponses aux messages Windows
Octobre 2006 : les ressources
- Utilisation de Borland Resource Workshop 4.5
- Ressources de type menu
- Tables d'accélérateurs (raccourcis clavier)
- Icônes
- Curseurs
- Images bitmap pour changer le fond de fenêtre
En cours de rédaction : GDI
Le thunking générique en Pascal
Ce tutoriel explique comment, dans un programme Windows 16 bits tournant sous une version 32 bits de Windows, appeler directement des fonctions de l'API 32 bits en utilisant la technique du thunking générique.
Installer et configurer Turbo Pascal sur Windows 7 et Windows Vista
L'arrivée de Windows Vista avait quelque peu compliqué la vie de ceux d'entre nous qui persistent à utiliser des compilateurs plus anciens comme Turbo Pascal.
Les applications 16 bits tournant jadis sous MS-DOS ou Windows 3.x sont en effet de moins en moins supportées nativement par les systèmes actuels.
Windows 7 s'est à présent imposé sur le marché.
Les difficultés d'installation et d'utilisation de nos anciens EDI sont les mêmes que sous Vista.
Ce tutoriel vous aidera à les surmonter.
Utilisation de Turbo Pascal sur l'émulateur DosBox sous Windows 7
Alors que la version intégrale le permettait encore, les versions commerciales de Windows 7 n'autorisent plus l'exécution de programmes en plein écran dans la console.
Cette fonctionnalité a été supprimée pour des raisons d'incompatibilité avec l'interface Aero.
Il faut à présent avoir recours à un émulateur pour exécuter de manière confortable les anciens programmes conçus pour MS-DOS.
L'un des plus prisés est DosBox.
Cet émulateur gratuit, multiplateforme, a le bon goût de proposer un pack de traduction en français.
Accélérer la lecture et l'écriture de fichiers sur machine distante en utilisant un cache

La lecture ou l'écriture de fichier enregistrement par enregistrement ou ligne par ligne sur une machine distante peut, pour des fichiers possédant un très grand nombre d'éléments, prendre beaucoup de temps.
Afin d'accélérer substantiellement ces opérations, il est possible de passer par un
cache mémoire et lire/écrire le fichier en une seule opération.
Par contre, sur une seule et unique machine, l'intérêt de cette méthode est très limité, voire nul, car le système utilise déjà implicitement une mise en cache.
Sources
Plate-forme Windows 32 bits
Programme complet d'installation de l'EDI Borland Pascal for Windows 7.0
(Virtual Pascal 2.1)
Nouveau : l'environnement de développement professionnel complet Borland Pascal for Windows 7.0 est à présent disponible au téléchargement sur
www.developpez.com.
J'ai développé un programme d'installation de BP7 alternatif, multilingue (FR, UK, NL, DE), qui, outre l'installation des binaires et des unités standard, propose d'installer les sources de la RTL et des exemples.
Le programme règle les répertoires par défaut dans les fichiers de configuration et crée un raccourci sur le bureau.
Sujets intéressants :
- Utilisation des tables de chaînes pour développer un programme multilingue
- Utilisation du shell Windows pour choisir un répertoire d'installation
- Création de raccourci sur le bureau
- Copie de fichiers à l'aide de l'API
Téléchargement :
Triple Yahtzee 4.00
(Virtual Pascal 2.1)
Le Triple Yahtzee en réseau, à 10 joueurs maximum.
Il ne s'agit pour l'instant que du squelette du programme, avec la connexion des postes clients au serveur.
 |
Attention : toujours au stade de la conception !
|
Sujets intéressants :
- Programmation des sockets
- Interface MDI
Téléchargement :
Unit WinShell 3.00
(Virtual Pascal 2.1)
Unité d'interface avec les bibliothèques Ole32.dll, OleAut32.dll et Shell32.dll.
Le type interface de Delphi et Free Pascal n'étant pas supporté par Virtual Pascal, cette version utilise des classes abstraites.
Fourni avec les sources de deux programmes d'exemple.
Sujets intéressants :
- Objets COM
- Objets OLE
- Interfaces déclarées comme classes abstraites
- Convention d'appel _StdCall
Téléchargement :
Unit WinShell 1.00
(Virtual Pascal 2.1)
Unité d'interface avec les objets COM (IShellLink, IPersistFile...) nécessaires à la manipulation des raccourcis Windows.
Le type interface de Delphi et Free Pascal n'étant pas supporté par Virtual Pascal, les objets d'interfaces sont déclarés comme packed records.
Sujets intéressants :
- Objets COM
- Convention d'appel _StdCall
Téléchargement :
ChgLinks 1.00
(Virtual Pascal 2.1)
Programme permettant de modifier les noms de chemins dans tous les raccourcis du profil local d'un utilisateur de Windows NT/2000/XP
(raccourcis du bureau, groupe de programmes, menu démarrer, envoyer vers, documents récents, groupes de programmes de démarrage).
Une série de règles permettent de remplacer certains extraits des noms de chemins.
Le programme nécessite l'unité WinShell décrite ci-dessus.
Sujets intéressants :
- Utilisation des objets COM (IShellLink, IPersistFile...)
- Manipulation d'un fichier .LNK via l'interface OLE
- Parcours récursif d'une arborescence de répertoires
- Détermination de l'emplacement des différents types de raccourcis
Téléchargement :
LPJJGlos 2.00
(Virtual Pascal 2.1)
Programme de création et de maintenance d'un glossaire de macros WinHelp.
Sujets intéressants :
- Dans un but didactique, le programme prend en compte la plupart des fonctionnalités standard que doit avoir un programme Windows en matière de gestion de fichiers (dialogues standard d'ouverture et d'enregistrement de fichiers, mémorisation des derniers fichiers ouverts dans le menu Fichier, prise en compte du glisser-déposer depuis le shell, prise en compte d'un nom de fichier passé en ligne de commande)
- Egalement dans un but didactique, le programme regroupe l'ensemble des fonctionnalités de gestion d'une ListBox personnalisée (gestion des variables dynamiquement alloués entièrement confiée à Windows, tri, ajout, modification et suppression d'enregistrements, réponse au double-clic pour modification, dessin des éléments de la boîte liste par le programme)
- Gestion de fichiers d'enregistrements de taille variable
Téléchargement :
Les bases de l'API WinSock
(Virtual Pascal 2.1)
6 sources pour apprendre la programmation des sockets.
Détail :
- Sockets1 : initialisation de la librairie WinSock (programme console)
- Sockets2 : détermination de l'adresse IP d'un hôte distant (programme console)
- Sockets3 : détermination du nom d'hôte local et de ses adresses IP (programme console)
- Sockets4 : déterminer le nom d'un hôte à partir de son adresse IP (programme console)
- Sockets5 : informations sur tous les services installés et sur tous les ports (programme console)
- Sockets6 : test global de l'API WinSock - création de sockets, mise en mode serveur ou en mode client, échange de données, etc. Permet de se faire la main sur les sockets, les ports, les protocoles, tant sur Internet qu'en réseau local.
Téléchargement :
Plate-forme Windows 16 bits
Unit Win32 1.00
(Borland Pascal for Windows 7.0)
Cette unité permet à un programme Windows 16 bits d'utiliser les routines de l'API Windows 32 bits.
Sujets intéressants :
- Technique du thunking générique (voir le tutoriel y consacré sur cette page)
Téléchargement :
Secours 2.00
(Borland Pascal for Windows 7.0)
Ce programme permet de récupérer des données sur une disquette défectueuse. Il m'a d'ailleurs sauvé la mise plus d'une fois.
Il peut combiner les portions valides des deux copies de la FAT pour reconstituer la séquence des secteurs d'un fichier ou d'un répertoire.
Sujets intéressants :
- Parcours d'une FAT 12 bits
- Fenêtres enfants et dialogues non modaux
- Dialogues Windows standard d'enregistrement de fichier, de choix de police de caractère et de choix de couleurs
Téléchargement :
Adresses 1.10
(Borland Pascal for Windows 7.0)
Carnet d'adresses et répertoire téléphonique.
Sujets intéressants :
- Le programme peut servir de serveur DDE pour une autre application (un modèle de document WinWord 6 accompagne d'ailleurs le source)
- Dialogues Windows standards de choix de police de caractères et de choix de couleurs
- Impression de listing et d'étiquettes
Téléchargement :
CMOSSave 1.00
(Borland Pascal for Windows 7.0)
Utilitaire de sauvegarde et de restauration de la zone de données CMOS. Reconnaît les CMOS jusqu'à 256 bytes.
Sujets intéressants :
- Lecture et écriture dans la CMOS par accès directs aux ports.
Téléchargement :
Plate-forme MS-DOS
Tennis Tournament Organizer 1.20
(Turbo Pascal 4.0 et MASM 5.0)
Il s'agit d'un programme complet de gestion de tournoi de tennis de table.
L'image de la disquette d'installation, ainsi que le source de programme d'installation, sont également fournis.
Sujets intéressants :
- Menus déroulants et fenêtrage en mode texte
- Gestion de la souris en mode texte à l'aide des interruptions du BIOS
- Programmation d'un screen-saver (avec un timer)
- Sauvegarde automatique
- Système complet d'aide contextuelle
- Gestion de fichiers texte de très grande taille
- Impressions
- Système complet d'options avancées
Téléchargement :
Unit TXT 2.00
(Turbo Pascal 4.0 et MASM 5.0)
Il s'agit d'une unité complète de gestion d'écran en mode texte. Cette unité peut être utilisée en lieu et place de l'unité CRT de Turbo Pascal.
Sujets intéressants :
- Routines de bas niveau de gestion du mode texte
- Fenêtrage avec possibilité de sauvegarde en mémoire et de restauration du contenu d'une fenêtre
- Routines de lecture au clavier avec possibilités de filtrage de caractères
- Activation et désactivation du Ctrl-Break et du Ctrl-C
- Simulation par le BIOS d'une touche pressée au clavier
- Réglage du typematic du clavier
- Possibilité de dessiner sa propre police de caractères
- Modification du curseur
Téléchargement :
Mines 1.00
(Turbo Pascal 4.0 et MASM 5.0)
Jeu inspiré du célèbre démineur de Windows 3.x, sous MS-DOS en mode graphique.
Sujets intéressants :
- Programmation en mode graphique
- Programmation de timer
Téléchargement :
Echecs 1.00
(Turbo Pascal 4.0 et MASM 5.0)
Ce programme permet d'encoder et de jouer des parties d'échecs en notation internationale.
Sujets intéressants :
- Dessin de caractères ASCII personnalisés pour représenter des pièces d'échecs en mode texte
- Utilisation de modes textes de plus de 80 colonnes et de plus de 50 lignes
Téléchargement :


Les sources présentées sur cette page sont libres de droits
et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation
constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright ©
2011 Jean-Luc Gofflot. Aucune reproduction,
même partielle, ne peut être faite de ce site et de l'ensemble de son contenu :
textes, documents, images, etc. sans l'autorisation expresse de l'auteur.
Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 €
de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.
Cette page est déposée.