issue111:tutoriel2
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
issue111:tutoriel2 [2016/08/15 19:04] – d52fr | issue111:tutoriel2 [2016/08/23 18:51] (Version actuelle) – andre_domenech | ||
---|---|---|---|
Ligne 2: | Ligne 2: | ||
For simplicity and for elegance, it has not yet been surpassed as a text-oriented human interface. This is not only my own very honest opinion, but also that of some others - as seen on the Internet. So, it must be true. It was with interest that I discovered the existence of Free Pascal (www.freepascal.org), | For simplicity and for elegance, it has not yet been surpassed as a text-oriented human interface. This is not only my own very honest opinion, but also that of some others - as seen on the Internet. So, it must be true. It was with interest that I discovered the existence of Free Pascal (www.freepascal.org), | ||
+ | |||
+ | Il y a pas mal de temps, beaucoup de programmeurs sur PC ont commencé avec l'un des produits Borland. Turbo-Pascal et Turbo C tournaient tous les deux sur le système d' | ||
+ | |||
+ | Pour la simplicité et l' | ||
**In this series of articles, I will be building a text-based application with Free Pascal, using its text-based interface for user interaction. This will be combined with other, more modern, technologies such as database access using SQL, and Web access with HTTP. The final aim of the project is to demonstrate how Pascal can be used to build a modern application, | **In this series of articles, I will be building a text-based application with Free Pascal, using its text-based interface for user interaction. This will be combined with other, more modern, technologies such as database access using SQL, and Web access with HTTP. The final aim of the project is to demonstrate how Pascal can be used to build a modern application, | ||
+ | |||
+ | Dans cette série d' | ||
**Why? | **Why? | ||
Ligne 12: | Ligne 18: | ||
A second, equally valid, answer may be: “for old times’ sake.” Pascal is also a nice, clear and structured programing language that can help us get into good habits - habits that JavaScript is not known for nurturing, just to give a quick example.** | A second, equally valid, answer may be: “for old times’ sake.” Pascal is also a nice, clear and structured programing language that can help us get into good habits - habits that JavaScript is not known for nurturing, just to give a quick example.** | ||
+ | |||
+ | Pourquoi ? | ||
+ | |||
+ | Avant de plonger dans la complexité technique du paramétrage d'une combinaison de FreePascal et de Free Vision, il serait peut-être judicieux de répondre à cette simple question : pourquoi cela vaudrait-il le coup pour moi de passer du temps sur cette technologie ? Après tout, il y a pléthore d' | ||
+ | |||
+ | En attendant, le programme utilisant Free Vision est un binaire exécutable compilé qui n'a pas besoin d' | ||
+ | |||
+ | Une seconde réponse, tout aussi valable, pourrait être : « En souvenir du passé ». Pascal est aussi un beau et clair langage de programmation structurée, | ||
**Installation | **Installation | ||
Ligne 26: | Ligne 40: | ||
fp** | fp** | ||
+ | |||
+ | Installation | ||
+ | |||
+ | Free Pascal s' | ||
+ | |||
+ | Juste pour voir s'il y a des différences avec la version originale du développeur, | ||
+ | |||
+ | Le lancement du script d' | ||
+ | |||
+ | mkdir Desktop/ | ||
+ | |||
+ | cd Desktop/ | ||
+ | |||
+ | fp | ||
**There were no detectable differences with the version from the repositories. The final command launches the integrated Pascal IDE (Integrated Development Environment), | **There were no detectable differences with the version from the repositories. The final command launches the integrated Pascal IDE (Integrated Development Environment), | ||
Ligne 36: | Ligne 64: | ||
The first line is to include the unit directory itself, while the second also includes any subdirectories within the search path.** | The first line is to include the unit directory itself, while the second also includes any subdirectories within the search path.** | ||
+ | |||
+ | Il n'y a pas de différence visible avec la version des dépôts. La dernière commande lance l'IDE (Integrated Development Environment - Environnement de Développement Intégré) intégré à Pascal, qui rappellera des souvenirs aux programmeurs en Turbo Pascal. Certains d' | ||
+ | |||
+ | Un fichier de configuration pour l' | ||
+ | |||
+ | / | ||
+ | |||
+ | / | ||
+ | |||
+ | La première ligne est pour inclure le répertoire propre de l' | ||
**Compiling a console program | **Compiling a console program | ||
Ligne 42: | Ligne 80: | ||
The program can be both compiled and executed in one step using command Ctrl+F9. The result is shown in the terminal, and execution goes back to the IDE whenever a key is pressed.** | The program can be both compiled and executed in one step using command Ctrl+F9. The result is shown in the terminal, and execution goes back to the IDE whenever a key is pressed.** | ||
+ | |||
+ | Compiler un programme à la console | ||
+ | |||
+ | Pour commencer, écrivons un programme très simple. Il servira juste à tester le processus de compilation et voir si les unités sont bien correctement détectées. Choisissez File > New dans le menu et tapez un programme de test (tel que http:// | ||
+ | |||
+ | Le programme peut être compilé et exécuté en une étape en utilisant Ctrl-F9. Le résultat est présenté sur le terminal et l' | ||
**A first Free Vision application | **A first Free Vision application | ||
Ligne 60: | Ligne 104: | ||
MyApp.Done; | MyApp.Done; | ||
end.** | end.** | ||
+ | |||
+ | Une première application avec Free Vision | ||
+ | |||
+ | Continuons en utilisant l' | ||
+ | |||
+ | / | ||
+ | |||
+ | La première à utiliser est l' | ||
+ | |||
+ | Le code correspondant est très minimaliste. Nous avons simplement créé un nouveau type d' | ||
+ | |||
+ | var MyApp : TMyApp; | ||
+ | |||
+ | begin | ||
+ | MyApp.Init; | ||
+ | MyApp.Run; | ||
+ | MyApp.Done; | ||
+ | end. | ||
**One point that can be noticed is that the resulting executable files are rather small, even if using FreeVision. The first one - using merely Crt - takes up about 400 kBytes, and the second - with fv - takes less than 800 kBytes. This is quite small by modern standards. | **One point that can be noticed is that the resulting executable files are rather small, even if using FreeVision. The first one - using merely Crt - takes up about 400 kBytes, and the second - with fv - takes less than 800 kBytes. This is quite small by modern standards. | ||
Ligne 70: | Ligne 132: | ||
This will be all for this first part in our series on Free Pascal - and Free Vision. In the next part, we will make the user interface responsive, and create some simple dialog windows.** | This will be all for this first part in our series on Free Pascal - and Free Vision. In the next part, we will make the user interface responsive, and create some simple dialog windows.** | ||
+ | |||
+ | Un point qui peut être noté est que les fichiers exécutables résultants sont plutôt petits, même en utilisant Free Vision. Le premier, utilisant seulement Crt, prend environ 400 Ko, et le second, avec fv, prend moins de 800 Ko. C'est vraiment petit selon les normes modernes. | ||
+ | |||
+ | $ ls -lh test? test?.pas | ||
+ | -rwxrwxr-x 1 alan alan 416K jun 7 09:05 test1 | ||
+ | -rw-rw-r-- 1 alan alan 175 jun 7 09:04 test1.pas | ||
+ | -rwxrwxr-x 1 alan alan 781K jun 7 09:06 test2 | ||
+ | -rw-rw-r-- 1 alan alan 162 jun 7 08:45 test2.pas | ||
+ | |||
+ | Ce sera tout pour cette première partie de notre série sur Free Pascal et Free Vision. Dans la prochaine partie, nous construirons une interface utilisateur interactive et nous créerons quelques simples fenêtres de dialogue. |
issue111/tutoriel2.1471280678.txt.gz · Dernière modification : 2016/08/15 19:04 de d52fr