Difference between revisions of "Lazarus Tutorial/fr"

From Free Pascal wiki
Jump to navigationJump to search
(→‎Sous-menu Projet: Option du compilateur...)
Line 194: Line 194:
 
* '''Inspecteur de projet''' : Ouvre une boîte de dialogue, représentant les fichiers du projet en cours sous forme arborescente. Vous pouvez ajouter, supprimer, ou ouvrir les fichiers sélectionnés, ou changer les options du projet.
 
* '''Inspecteur de projet''' : Ouvre une boîte de dialogue, représentant les fichiers du projet en cours sous forme arborescente. Vous pouvez ajouter, supprimer, ou ouvrir les fichiers sélectionnés, ou changer les options du projet.
 
* '''Options du projet...''' : Ouvre une boîte de dialogue contenant plusieurs onglets permettant d'accéder aux divers options de paramétrage de l'application (Titre, Fichier de destination), Fiches (permettant de sélectionner les fiches disponibles, de manière à les créer automatiquement au lancement de l'application), Divers, LazDoc et Session (spécifie quelles informations l'éditeur doit sauvegarder lors de la fermeture des fichiers, ou uniquement les fichiers projet).
 
* '''Options du projet...''' : Ouvre une boîte de dialogue contenant plusieurs onglets permettant d'accéder aux divers options de paramétrage de l'application (Titre, Fichier de destination), Fiches (permettant de sélectionner les fiches disponibles, de manière à les créer automatiquement au lancement de l'application), Divers, LazDoc et Session (spécifie quelles informations l'éditeur doit sauvegarder lors de la fermeture des fichiers, ou uniquement les fichiers projet).
* '''Compiler options ...''': (Recently moved here from the Run Menu). Opens a multi-page tabbed window which allows configuration of the compilerTabs include '''Paths''' which allows definition of search paths for units, include files, libraries etc, as well as allowing choice of widget type for the forms (gtk, gnome, win32); '''Parsing''' which allows choice of rules for parsing source programs, '''Code''' which allows choice of optimisation for faster or smaller programs, choice of target processor, types of checks, heap size etc; '''Linking''' allowing choice of whether or how to use debugging, static or dynamic libraries, and whether to pass options through to the linker; '''Messages''' to define what type of messages should be generated during error conditions; '''Other''' which allows decision to use default configuration file (fpc.cfg) or some other file; '''Inherited''' which shows a tree structure diagram to indicate how options have been inherited from units already incorporated; '''Compilation''' which allows definition of commands to be executed before or after the compiler is launched and can allow use of Make files.
+
* '''Option du compilateur...''' : Ouvre une fenêtre à onglets permettant la configuration du compilateurLes onglets incluent '''Chemins''' qui permet la définition de chemin de recherche pour les unités, les fichiers d'inclusion, bibliothèques etc., de même que permettre le type de composant pour les fiches (gtk, gnome, win32) ; '''Analyse''' qui autorise le choix des règles d'analyse des sources du programme, '''Code''' qui autorise le chois d'optimisation pour des programmes plus rapides ou plus petits, choix de la plateforme cible, types de contrôles, taille de la pile etc. ; '''Edition des liens''' permet de choisir le débogueur à utiliser, les bibliothèques static ou dynamic, et la possibilité de passer des option à l'éditeur de liens ; '''Messages''' définie quel genre de messages doivent être générés durant la compilation ; '''Autre''' permet de choisir d'utiliser le fichier de configuration par défaut (fpc.cfg) ou un autre fichier ; '''Hérité''' montre sous forme arborescente qu'elle options ont étés héritées des unités déjà incorporées ; '''Compilation''' permet de définitr les appels qui doivent êtres exécutées avant ou après que la compilation soit lancé, et permet également de créer un Makefile.
 +
* '''View ToDo List''':Opens a dialog box with a list of ToDo items associated with this project. This will list any ToDo comments in your project (lines commencing //TODO), and any others in the Lazarus units you have used. You need to Refresh the ToDo items in the dialog (using arrow symbol button of toolbar) before new 'ToDos' appear. The first column of the ToDo list contains numbers you have allocated to your ToDo comments; a simple //TODO comment will appear as a zero, but a comment of //TODO999 (for example) will place the number 999 in the first column. Remember there should be no spaces on the line before //TODO and ToDo comments added after the last save will not be shown!
 
* '''Add editor file to Project''': Add the file currently being edited to the Project
 
* '''Add editor file to Project''': Add the file currently being edited to the Project
 
* '''Remove from Project''': Gives a pop-up menu of files available for removal from project.
 
* '''Remove from Project''': Gives a pop-up menu of files available for removal from project.
 
* '''View Source''': No matter which file you are editing, takes you back to the main program file (.lpr)or the main .pas file if there is no .lpr.
 
* '''View Source''': No matter which file you are editing, takes you back to the main program file (.lpr)or the main .pas file if there is no .lpr.
* '''View ToDo List''':Opens a dialog box with a list of ToDo items associated with this project. This will list any ToDo comments in your project (lines commencing //TODO), and any others in the Lazarus units you have used. You need to Refresh the ToDo items in the dialog (using arrow symbol button of toolbar) before new 'ToDos' appear. The first column of the ToDo list contains numbers you have allocated to your ToDo comments; a simple //TODO comment will appear as a zero, but a comment of //TODO999 (for example) will place the number 999 in the first column. Remember there should be no spaces on the line before //TODO and ToDo comments added after the last save will not be shown!
 
  
 
====The Run sub-menu====
 
====The Run sub-menu====

Revision as of 13:09, 23 September 2006

Deutsch (de) English (en) español (es) suomi (fi) français (fr) magyar (hu) italiano (it) 日本語 (ja) македонски (mk) Nederlands (nl) português (pt) русский (ru) slovenčina (sk) shqip (sq) 中文(中国大陆)‎ (zh_CN) 中文(台灣)‎ (zh_TW)

This is the start of a Lazarus Tutorial. Please feel free to add your experiences to it.

Vue d'ensemble

Lazarus est un outil de développement libre et open source dédié au compilateur FreePascal (Pascal objet). FreePascal est également libre et open source. L'Environnement de Développement Intégré (EDI) Lazarus (capture d'écran en Anglais) est stable, a de nombreuses fonctionnalités pour créer des logiciel pouvant s'exécuter de façon autonome. Il fonctionne actuellement sous Linux, FreeBSD et Win32, fournit un éditeur de code source extensible, un environnement visuel de création de formulaire, un gestionnaire de package, un debugger et une interface graphique utilisateur (GUI) intégrée au compilateur FreePascal.

Prise en main

(Merci à User:Kirkpatc)

Téléchargez Lazarus dans la section 'Download' du site officiel, installez le et lancez le.

Votre premier programme sous Lazarus !

Plusieurs fenêtres apparaîtrons sur le bureau : le menu principal en haut, l'inspecteur d'objet à gauche, éditeur de source de Lazarus occupe la plus grande partie du bureau, et une fenêtre Form1 prête à être utilisée recouvrant l'éditeur de source.

Sous le menu principal, vous trouverez plusieurs onglets. Si 'Standard' n'est pas déjà sélectionné, faite-le en cliquant dessus avec la souris et cherchez une icône représentant un bouton (un rectangle avec 'OK' marqué dessus), sélectionnez le avec la souris. Ensuite cliquez sur la fenêtre 'Form1'. Un rectangle ayant pour texte 'Button1' apparaîtra. Cliquez une nouvelle fois sur l'icône du bouton dans l'onglet 'Standard', et cliquez de nouveau sur Form1 : un rectangle ayant pour texte 'Button2' apparaîtra.

Maintenant cliquez sur 'Button1' pour le sélectionner. L'inspecteur d'objet affichera les propriétés de l'objet 'Button1'. Elles sont triées par ordre alphabétique, cherchez 'Caption' elle devrait afficher la valeur 'Button1'. Cliquez dessus et changez 'Button1' en 'Press'. Si vous appuyez sur la touche ENTREE de votre clavier ou cliquez ailleurs, vous verrez le libellé de votre premier bouton de 'Form1' se changer en 'Press'. Ensuite cliquez sur l'onglet événements de l'inspecteur d'objet, pour voir les différents événements pouvant être associés au bouton. Cela inclus OnClick, OnEnter, OnExit etc. à présent, cliquez sur le bouton à droite de 'OnClick'

...

. Lorsque vous le sélectionnez, vous êtes renvoyés automatique dans l'éditeur de source, et votre curseur directement à l'emplacement où le code doit être saisi :

 procedure TForm1.Button1Click(Sender: TObject);
 begin
   {now type:}    Button1.caption := 'Press again';
   {the editor has already completed the procedure with}
 end;

Appuyez sur F12 pour sélectionner Form1 au lieu de l'éditeur de source.

Maintenant éditez les propriétés de 'Button2' : Cliquez sur 'Button2' pour afficher ses propriétés dans l'inspecteur d'objet. Changez la propriété 'Caption' en 'Exit' au lieu de 'Button2'. Maintenant sélectionnez l'onglet événement, et cliquez sur 'OnClick'. Cliquez ensuite sur le bouton figurant 3 points

...

, une nouvelle procédure sera automatiquement déclarée et le curseur sera positionné directement dans le corps de celle-ci :

 procedure TForm1.Button2Click(Sender: TObject);
 begin
 {now type:}   Close;
 {the editor has already completed the procedure with} 
 end;

Maintenant, appuyez sur F12 pour revoir la fenêtre 'Form1'. Vous êtes maintenant prêt à compiler votre programme. La méthode la plus simple est de sélectionner 'Exécuter' dans le menu principal en haut de l'écran, et l'option 'Exécuter' dans le sous menu. Vous pouvez aussi appuyez, tout simplement, sur la touche F9 de votre clavier. Cette manipulation compilera votre programme, et (si tout se passe bien) l'exécutera.

La fenêtre de texte en dessous de l'éditeur de source affichera différentes sortes d'information sur la compilation (information, alerte, erreur...). Quelques instant plus tard 'Form1' va réapparaître, mais sans la grille de points qui permet de positionner les composants (boutons, zones de saisie) en mode conception. C'est le fenêtre principal de votre application, elle attend que vous cliquiez sur le bouton 'Press'.

Essayez de cliquer sur le bouton 'Press'. Le libellé changera en 'Press again'. Si vous cliquez encore, le libellé continuera à afficher 'Press again' !

Maintenant, cliquez sur le bouton marqué 'Exit'. La fenêtre se fermera et vous quitterez le programme. La fenêtre 'Form1' originale réapparaîtra en mode conception avec sa grille de points, prête à être modifiée de nouveau.

A présent vous devriez sauvegarder votre travail (faites-le souvent !) sélectionnez : Projet > Enregistrer le projet sous > Nom de vos fichiers

Deuxième session

Rouvrir votre projet.

Cliquez sur le bouton 'Press' (Button1) de la fenêtre 'Form1'. Sélectionner l'onglet 'Évènements' dans l'inspecteur d'objet, cliquez sur le bouton prêt de 'OnClick'

...

, pour retourner à l'emplacement approprié dans l'éditeur de source.

Modifiez votre code de la manière suivante :

 procedure TForm1.Button1Click(Sender: TObject);
{Makes use of the Tag property, setting it to either 0 or 1}
 begin
   if Button1.tag = 0 then
   begin
     Button1.caption := 'Press again';
     Button1.tag := 1
   end else
   begin
     Button1.caption := 'Press';
     Button1.tag := 0
   end
 end;

Sauvegardez votre travail, et compilez votre programme. Le bouton 'Press' basculera entre les deux messages ('Press' et 'Press again').

Le reste dépend de vous !

Si vous préférez programmer en mode console (ou mode texte), par exemple si vous apprenez les bases du Pascal, ou que vous aillez besoin d'un programme de traitement par lots (batch) ou encore que vous souhaitiez faire de la programmation système, vous pouvez conserver Lazarus pour éditer, compiler et exécuter votre programme. Il constitue un environnement idéal pour le développement en Pascal. Voir Console Mode Pascal.

L'Editeur

Lorsque vous lancez Lazarus, une série de fenêtres flottantes apparaît.

Le fenêtre principale en haut de l'écran est titrée Editeur Lazarus vXXXXXX - project1 (les X correspondent au numéro de la version de Lazarus installée sur votre machine). C'est une fenêtre importante de votre projet, elle contient le menu principal et la palette de composants.

Lazmainfr.jpg

Sur la ligne juste en dessous du titre se trouve le "Menu principal" avec les entrées habituelles : Fichier, Edition, Chercher, Voir... et d'autres qui correspondent à des fonctions spécifiques à Lazarus. En dessous à gauche vous trouverez un jeu de "BitButtons" qui vous permettrons d'accéder aux fonctions les plus courantes. A droite se trouve la palette de composants.

En dessous de la fenêtre de l'éditeur apparaît, à gauche de l'écran, la fenêtre de l'inspecteur d'objet, et l'éditeur de source de Lazarus. Il peut également y avoir une fenêtre plus petite, appelée Form1, recouvrant l'éditeur de source de Lazarus. Si 'Form1' n'est pas visible immédiatement, vous pouvez la faire apparaître en pressant F12, qui basculera de l'éditeur de source au formulaire correspondant à l'unité en cours, et inversement. La fenêtre de conception de formulaire et l'un des outils que vous utiliserez le plus fréquemment pour mettre en place une interface utilisateur pour votre application. Ce qu'il est possible de faire dans l'inspecteur d'objet est décrit plus en détail dans la section : Palette de composants.

Lorsque vous démarrez un nouveau projet, ou que vous lancez Lazarus pour la première fois, un formulaire par défaut apparaît. Ce formulaire consiste en une "boîte" contenant une grille de points qui vous aiderons à positionner les différents composants, une barre au sommet de la fenêtre contient les boutons habituelles Réduire, Agrandir et Fermer. Si vous cliquez avec le curseur de la souris à l'endroit que vous voulez dans la boîte, vous verrez les propriétés du formulaire s'afficher dans l'inspecteur d'objet à gauche de l'écran.

D'autres fenêtres peuvent êtres affichées pendant votre travail : l'inspecteur de projet contient les détails des fichiers inclus dans votre projet, et vous permet également d'en rajouter ou d'en supprimer. La fenêtre de Messages, affiche les informations de compilation, les erreurs ou les rapports d'avancement ; si Lazarus est lancé depuis une fenêtre de terminal, le terminal original reste toujours visible et affiche également des messages de compilation.


Menu principal

Le menu principal contient les entrées suivantes : Fichier Edition Cercher Voir Project Exécuter Composants Outils Configuration Fenêtres Aide

Comme d'habitude, les options peuvent êtres sélectionnées soit en cliquant directement dessus à l'aide du bouton gauche de la souris, soit en tapant au clavier :

  • Alt,
  • la lettre correspondante au menu voulu (par exemple F),
  • Entrée.

Sous-menu Fichier

SousMenuFichierFr.png
  • Nouvelle unité : Crée une nouvelle unité (Source Pascal).
  • Nouvelle fiche : Crée une nouvelle fiche, et l'unité Pascal associée.
  • Nouveau... : Affiche un menu surgissant (capture d'écran) proposant une variété de documents à créer.
  • Ouvrir : Affiche une boîte de dialogue permettant ne naviguer dans le système de fichier et de choisir une fichier existant à ouvrir.
  • Restaurer : Abandonne les modifications effectuées et restaure les fichiers dans leurs états d'origine.
  • Enregistrer : Sauvegarde le fichier courant, en utilisant son nom d'origine. S'il n'a pas de nom, le système vous en demandera un (de la même manière qu'Enregistrer sous).
  • Enregistrer sous : Affiche une boîte de dialogue qui vous permet de choisir un nom de fichier et un répertoire pour sauvegarder le fichier courant.
  • Fermer : Ferme le fichier en cours, après avoir demandé la sauvegarde des modifications effectuées.
  • Fermer tous les fichiers : Ferme tout les fichiers en cours et ouvre l'éditeur. Demande si vous souhaitez sauvegarder (si vous avez effectué des modifications).
  • Nettoyer un répertoire : Affiche une boîte de dialogue avec une série de filtre éditable pour supprimer les fichiers correspondants de votre répertoire en cours. Utile pour supprimer les fichiers .bak le reste des anciens projets de Delphi.
  • Quitter : Sort de Lazarus, après avoir demandé la sauvegarde des fichiers modifiés.

Sous-menu Edition

SousMenuEditionFr.png
  • Défaire : Défait la dernière action effectuée.
  • Refaire : Refait la dernière action annulée par Défaire.
  • Couper : Supprime le texte sélectionné et le copie en mémoire.
  • Copier : Fait une copie en mémoire du texte sélectionné, en laissant l'original en place.
  • Coller : Place le contenu de la mémoire à l'emplacement du curseur. S'il y a du texte sélectionné à l'emplacement du curseur, il sera remplacé par le contenu de la mémoire.
  • Indenter la sélection : Déplace le texte sélectionné vers la droite en fonction de ce qui est spécifié dans : Configuration -> Options de l'éditeur -> Général -> Indentation de bloc. Cette fonctionnalité est utile pour formater votre code source Pascal de manière à mettre en évidence sa structure.
  • Désindenter la sélection : Supprime un niveau d'indentation, déplace le texte vers la gauche en fonction de ce qui est spécifié dans Indentation de bloc.
  • Entourer la sélection : Affiche un menu surgissant avec plusieurs options pouvant logiquement entourer le texte sélectionné (begin ... end; try ... except; try ... finally; repeat ... until; { ... } etc).
  • Sélection en commentaire : Commente le texte sélectionné en insérant // sur chaque ligne.
  • Décommenter la sélection : Supprime les marqueurs de commentaire du texte sélectionné.
  • Insérer $IFDEF... : Insère la directive de compilation $IFDEF qui permet de compiler le code en fonction du système d'exploitation. Une boîte de dialogue propose différentes valeurs possible.
  • Trier la sélection : Trie les lignes, les mots ou les paragraphes dans l'ordre alphabétique ; incluant des option croissantes, décroissantes, ou la sensibilité à la casse. Ceci n'a évidemment aucun sens au beau milieu du code source, mais si vous avez une liste à trier, cette fonctionnalité fera l'affaire.
  • Mettre la sélection en majuscules : Convertie le texte sélectionné en majuscule.
  • Mettre la sélection en minuscules : Convertie le texte sélectionné en minuscules.
  • Remplacer les tabulations par des espaces dans la sélection : Convertie chaque tabulation dans le texte sélectionné par le nombre d'espace spécifié dans Configuration -> Options de l'éditeur -> Général -> Tab widths. Le nombre d'espaces n'est pas fixe, mais correspond au nombre nécessaire pour remplacer la largeur de la tabulation.
  • Couper les lignes dans la sélection : Si une ligne de la sélection est plus grande que 80 caractères ou que le nombre spécifié dans Configuration -> Options de l'éditeur -> Affichage -> Marge droite, alors cette ligne sera coupé au niveau de la borne limite et continuera sur la ligne suivante.
  • Sélectionner : Permet de sélectionner un bloc de texte. Les options possibles sont : Tout sélectionner, Ancrer la sélection, sélectionner la ligne le paragraphe etc.
  • Insérer depuis la table des caractères : Permet l'insertion de symboles qui ne figurent pas sur le clavier, une fenêtre s'affiche vous proposant divers possibilités.
  • Insérer un texte : Affiche un sous-menu permettant d'insérer du texte comme des mots clefs CVS (Author, Date, Header etc) ou une note GPL, LGPL, l'utilisateur courant, la date et l'heure courante etc.
  • Compléter le code : Complète le code à l'emplacement du curseur. Il est sensible au contexte et vous fera gagner beaucoup de temps. Par exemple : il complète les classes, en ajoutant les variables privées, les méthodes d'accès aux propriétés Get et Set ainsi que le corps des méthodes. Lors de l'assignation d'une variable (ex : i:=3;) il ajoute la déclaration de la variable. Lors de la définition de procédures forward il ajoute le corps des procédures. Lors de l'assignation d'événement (OnClick:=) il ajoute la définition et le corps de la méthode. Voir les outils de l'EDI Lazarus.
  • Extraire procédure : Utilise le texte sélectionné (une déclaration ou une série de déclarations) pour créer une nouvelle procédure.

Sous-menu Chercher

SousMenuChercherFr.png
  • Chercher : Similaire à la fonction équivalente de la plupart des éditeurs de texte : une boîte de dialogue s'affiche vous permettant de saisir une chaîne de texte à rechercher, les options de sensibilité de casse, mot entier, direction de recherche... sont également disponible.
  • Chercher l'occurrence suivante, Chercher l'occurrence précédente : Cherche l'occurrence suivante de la chaîne entrée précédemment, dans la direction spécifiée.
  • Chercher dans les fichiers : Chercher une chaîne de caractère dans un fichier : boîte de dialogue avec la possibilité de chercher dans tous les fichiers du projet, tous les fichiers ouvert, ou dans les répertoires ; masque les possibilités en fonction du type de fichier sélectionné.
  • Remplacer : Similaire à Chercher ; affiche une boîte de dialogue avec la possibilité d'entrée le texte à chercher et le texte à remplacer, ainsi que les options de sensibilité de casse la direction etc.
  • Recherche incrémentale : Cherche la chaîne de caractère que vous entrez au clavier. Exemple : après avoir choisi "Recherche incrémentale" si vous appuyez sur la touche "l" le premier "l" après la position en cours du curseur sera surligné. Si vous appuyez sur la touche "a", l'éditeur cherchera le "la" suivant et ainsi de suite.
  • Aller à la ligne : Déplace le curseur à la ligne spécifiée.
  • En arrière : Ce déplace vers le signet précédant (Ajouter le point de saut à l'historique doit avoir été utilisé au préalable). Ce déplacera vers d'autres fichiers ouvert dans l'éditeur.
  • En avant : Ce déplace vers le signet suivant.
  • Ajouter le point de saut à l'historique : Ajoute des points de saut ou des signets au fichier.
  • Afficher l'historique des déplacements : Affiche au moins un point de saut dans le fichier : Not implemented yet.
  • Erreur suivante :
  • Erreur précédente :
  • Mettre un signet libre :
  • Aller au prochain signet :
  • Aller au précédent signet :
  • Chercher la fin du bloc de code : Si vous êtes positionné sur begin, cherche le end correspondant ou vice versa.
  • Chercher le début du bloc de code : Ce déplace sur le begin de la procédure ou de la fonction dans laquelle le curseur et positionné.
  • Rechercher la déclaration sous le curseur : Trouve l'endroit dans lequel l'identificateur choisi est déclaré. Celui-ci peut être dans le même fichier ou dans un autre fichier déjà ouvert dans l'éditeur ; si le fichier n'est pas ouvert, il le sera (si une procédure ou une fonction et déclarée, par exemple, dans classesh.inc, cela l'ouvrira dans l'éditeur).
  • Ouvrir le fichier sous le curseur : Ouvre le fichier correspondant au nom sélectionné sous le curseur. Utile pour ouvrir des fichiers Include ou des fichiers contenant d'autres Unités utilisées dans le projet.
  • Aller à la directive "include" : Si le curseur est positionné dans un fichier Inclue dans un autre fichier, va à la position de la directive d'Inclusion dans l'autre fichier.
  • Trouver la référence de l'identificateur : Affiche une liste permettant de déplacer le curseur sur tout les endroits ou une variable est utilisée.
  • Renommer l'identificateur : Permet de renommer une variable partout où elle est utilisée.

Sous-menu Voir

SousMenuVoirFr.png

Il permet le contrôle de l'affichage de différentes fenêtres sur l'écran.

  • Inspecteur d'Objets : C'est la fenêtre qui occupe généralement le côté gauche du bureau, et qui montre les éléments de la Fiche (Form) qui se trouve sur le bureau. En cliquant avec la souris sur un composant de cette fiche, le détail du composant s'affiche dans l'inspecteur d'objets. Le haut de l'inspecteur d'objet montre l'arborescence du projet courant, et les composants de la fiche peuvent éventuellement y être sélectionnés : ceci entraînant l'affichage des détails correspondant dans l'inspecteur d'objet. Le bas de l'inspecteur d'objet est composé de plusieurs onglets qui permettent la sélection des propriétés : PropertyPage, des événements : EventPage ou des éléments que vous avez consulté : Favorites. La selection de l'onglet PropertyPage permet d'afficher les propriétés telles que Name, Color, Caption, Font, Size etc. : La colonne de gauche représentant la propriété par son nom, la colonne de droite montrant la valeur qui lui est associée. La sélection de l'onglet Events montre aussi deux colonnes : celle de gauche montre les événements possibles tels que MouseClick ou KeyDown associés à ce composant, et celle de droite montre l'action associée à cet événement. S'il n'y a pas encore d'action définie pour cet événement, il suffit de cliquer dans le champ correspondant ou le bouton
    ...
    pour que dans l'Editeur de sources, le curseur se place dans la procédure créée automatiquement, attendant que vous y tapiez le code associé.
  • Editeur de Source : C'est la fenêtre principale dans laquelle le code source est édité. Il réagit comme la plupart des éditeur de texte, on peut y déplacer le curseur à la souris, un click gauche maintenu plus déplacement permet de sélectionner une partie du texte. Le click droit fait apparaître un menu popup comprenant les actions d'édition classique (Couper, Copier, Coller...), Chercher la Déclaration et Ouvrir le fichier sous le curseur. En haut de la fenêtre de l'éditeur de sources se trouvent un certain nombre d'onglets qui correspondent aux fichiers ouverts dans le projet courant ; en cliquant sur l'un d'entre eux, le fichier correspondant est affiché, vous pouvez ainsi naviguer facilement de fichier en fichier, effectuer des copier/coller et autres travaux d'édition entre eux. L'éditeur de source est équipé de la coloration syntaxique de code, avec différents coloris pour les marques de ponctuation, les commentaires, les chaînes de caractères, les constantes etc... Il conserve aussi l'indentation du code de ligne en ligne au fur et à mesure de votre frappe, jusqu'à ce que vous modifiez celle-ci. L'apparence et les options de l'éditeur de code sont entièrement configurables depuis le menu principal en sélectionnant Configuration -> Options de l'éditeur puis en sélectionnant l'un des onglet dans la fenêtre de dialogue.
  • Explorateur de code : Affiche une fenêtre qui se place habituellement à droite du plan de travail, elle affiche sous forme arborescente la structure du code dans l'unité ou le programme actuel. Elle s'ouvre normalement avec les sections Unit, Interface, Implementation et Initialization affichées, mais un clique sur le bouton
    +
    à gauche de la branche, ouvrira ses sous-branches, affichant de plus en plus de détails jusqu'à ce que les constantes, types et variables soient affichées, de même que les déclarations de procédure et fonction. Si vous changez les fichier affiché dans l'éditeur de source, vous devrez cliquer sur le bouton Rafraîchir pour afficher la structure du nouveau fichier dans l'Explorateur de Code.
  • Editeur LazDoc :
  • Unités... : Ouvre une boîte de dialogue listant les Unités du projet en cours. Pour sélectionner les fichiers cliquez dessus ; cela ouvrira le fichier dans l'Editeur de sources. Si vous cochez la case "Multi sélection" vous pourrez sélectionner plusieurs fichiers à la simultanément, et ils seront tous ouverts dans l'Editeur de Sources (mais un seul sera affiché à la fois). Ce menu est comparable à l'option Projet -> Inspecteur de Projet, mais affiche uniquement la liste des fichiers d'Unités et permet de les ouvrir.
  • Fiches... : Ouvre une boîte de dialogue listant les Fiches du projet en cours, et permettant la sélection d'une ou plusieurs d'entre elles de manière à les afficher.
  • Dépendances d'unités : Ouvre une boîte de dialogue qui affiche, de façons arborescente, la structure des Dépendances de l'unité en ouverte. La plupart des fichiers listés comme dépendance auront leur propre boîte
    +
    , chacune autorise l'exploration des dépendances de chaque fichiers, y compris de façon récursive.
  • Informations de l'unité : Donne des informations sur l'onglet d'unité sélectionné dans l'Editeur de sources.
  • Commutation fiche/Unité : Bascule entre l'Editeur de sources et la Fiche active. Si l'Editeur de sources et actif, vous pouvez éditer le code source ; si la Fiche est active, vous pouvez manipuler les composants et modifier l'apparence de la fiche. La façon la plus simple de basculer entre l'Editeur et la Fiche est d'utiliser le raccourci clavier F12, vous obtiendrez le même résultat en cliquant "Commutation fiche/Unité" dans le menu principal.
  • Messages : Une fenêtre qui affiche les messages du compilateur, montre la progression de la compilation ou liste les erreurs trouvées.
  • Résultats de la recherche : Une fenêtre qui affiche les résultats de Chercher -> Chercher dans les fichiers.
  • Afficher l'éditeur d'ancres :
  • Voir la palette des composants :
  • Voir les boutons rapides de l'IDE :
  • Fenêtres de débogage : Ouvre un menu surgissant avec plusieurs options pour le fonctionnement et la configuration du débogueur. Voir le debugger plus bas.

Sous-menu Projet

SousMenuProjetFr.png
  • Nouveau Projet : Crée un nouveau projet. Une boîte de dialogue s'affiche permettant de choisir entre différents types de projets.
  • Nouveau projet depuis le fichier : Une fenêtre permettant d'ouvrir un fichier qui servira de point de départ à un nouveau projet.
  • Ouvrir un projet : Ouvre un projet déjà créé. Une fenêtre de navigation listant les fichiers de projet au format Lazarus (.lpi ou Lazarus Project Information) s'affiche, permettant de sélectionner le projet à ouvrir.
  • Réouvrir un projet : Affiche une liste des projets récemment ouvert, permettant de les sélectionner pour les ouvrir.
  • Enregistrer le projet : Equivalent de "Fichier -> Enregistrer". Enregistre tout les fichiers du projet en cours ; s'ils n'ont pas déjà été enregistré, un message apparaît demandant le(s) nom(s) du/des fichier(s) de la même manière que "Fichier -> Enregistrer sous".
  • Enregistrer le projet sous... : Demande l'emplacement et le nom de fichier du projet. Par défaut, le nom de fichier est Project1.lpi, mais il est recommandé d'en choisir un autre. Lazarus ne vous permettra pas d'utiliser le même nom de fichier pour votre Projet et pour le fichier de l'Unité (Unit) (voir plus bas).
  • Publier le projet : Crée une copie de tout le projet. Si vous voulez envoyer les sources du projet à quelqu'un ainsi que les options de compilation, cette fonction est faite pour vous. Un dossier classique d'un projet contient beaucoup d'informations, et la plupart d'entre elles ne sont pas utiles : le fichier .lpi contient des informations de session (comme la position des fenêtres et les fiches ouvertes) et le dossier du projet contient beaucoup de fichiers .ppu, .o et l'exécutable. Pour créer un fichier .lpi avec uniquement l'information de base et seulement les sources avec tous les sous répertoires, utilisez "Publier le Projet". Dans la fenêtre de paramétrage, vous pouvez mettre un filtre d'exclusion / inclusion, et avec la commande "after" vous pouvez compresser le tout dans un fichier archive. Voir les outils de l'EDI Lazarus
  • Inspecteur de projet : Ouvre une boîte de dialogue, représentant les fichiers du projet en cours sous forme arborescente. Vous pouvez ajouter, supprimer, ou ouvrir les fichiers sélectionnés, ou changer les options du projet.
  • Options du projet... : Ouvre une boîte de dialogue contenant plusieurs onglets permettant d'accéder aux divers options de paramétrage de l'application (Titre, Fichier de destination), Fiches (permettant de sélectionner les fiches disponibles, de manière à les créer automatiquement au lancement de l'application), Divers, LazDoc et Session (spécifie quelles informations l'éditeur doit sauvegarder lors de la fermeture des fichiers, ou uniquement les fichiers projet).
  • Option du compilateur... : Ouvre une fenêtre à onglets permettant la configuration du compilateur. Les onglets incluent Chemins qui permet la définition de chemin de recherche pour les unités, les fichiers d'inclusion, bibliothèques etc., de même que permettre le type de composant pour les fiches (gtk, gnome, win32) ; Analyse qui autorise le choix des règles d'analyse des sources du programme, Code qui autorise le chois d'optimisation pour des programmes plus rapides ou plus petits, choix de la plateforme cible, types de contrôles, taille de la pile etc. ; Edition des liens permet de choisir le débogueur à utiliser, les bibliothèques static ou dynamic, et la possibilité de passer des option à l'éditeur de liens ; Messages définie quel genre de messages doivent être générés durant la compilation ; Autre permet de choisir d'utiliser le fichier de configuration par défaut (fpc.cfg) ou un autre fichier ; Hérité montre sous forme arborescente qu'elle options ont étés héritées des unités déjà incorporées ; Compilation permet de définitr les appels qui doivent êtres exécutées avant ou après que la compilation soit lancé, et permet également de créer un Makefile.
  • View ToDo List:Opens a dialog box with a list of ToDo items associated with this project. This will list any ToDo comments in your project (lines commencing //TODO), and any others in the Lazarus units you have used. You need to Refresh the ToDo items in the dialog (using arrow symbol button of toolbar) before new 'ToDos' appear. The first column of the ToDo list contains numbers you have allocated to your ToDo comments; a simple //TODO comment will appear as a zero, but a comment of //TODO999 (for example) will place the number 999 in the first column. Remember there should be no spaces on the line before //TODO and ToDo comments added after the last save will not be shown!
  • Add editor file to Project: Add the file currently being edited to the Project
  • Remove from Project: Gives a pop-up menu of files available for removal from project.
  • View Source: No matter which file you are editing, takes you back to the main program file (.lpr)or the main .pas file if there is no .lpr.

The Run sub-menu

  • Build: Causes Lazarus to build (ie compile) any files in the project that have been changed since the last build.
  • Build all: Builds all files in the project, whether or not there have been any changes.
  • Abort build: Stop the build process once it is running - either you have remembered that you did something silly and want to stop the build, or the system seems to be taking far too long and something is obviously wrong.
  • Run: This is the usual way to launch the compiler and, if compilation is successful, to start execution of the application. What actually happens is that Lazarus saves a copy of your files, then starts the compiler and linker, then begins execution of the final linked binary program.
  • Pause: Suspend execution of the currently running program. This may allow you to inspect any output that has been generated; execution may be resumed by selecting Run again.
  • Step into: Used in conjunction with the debugger, causes execution of the program one step at a time up to a bookmarked point in the source.
  • Step over: Causes stepwise execution up to the statement marked, then skips the marked statement, and continues execution at normal speed. Useful in trying to isolate a statement that introduces a logical error.
  • Run to cursor: Causes execution at normal speed (ie NOT one statement at a time) until the statement is reached where the cursor is located; then stops. Resume execution at normal speed by selecting Run.
  • Stop: Cease execution of the running program. Cannot be resumed by selecting Run; this will start the program again from the beginning (re-compiling if necessary).
  • Run Parameters: Opens a multi-page pop-up window which allows command-line options and parameters to be passed to the program to be executed; allows selection of display to run program (eg a remote X terminal may be used in Linux); some system Environment variables may be overridden.
One very important use of this sub-menu is to activate a terminal window in which conventional Pascal console input/output is displayed. If you are developing a console-mode Pascal program (ie one that doesn't use the Graphical User Interface with its forms, buttons and boxes) then you should check the box for "Use launching application". The first time you do this and try the Compile/Run sequence, you will probably get a rude message to say
"xterm: Can't execvp /usr/share/lazarus//tools/runwait.sh: Permission denied".  
If this happens, you need to change the permissions on the appropriate file (for example using chmod +x filename, or using the Windows utility for changing permissions); you might have to do this as root. After this, each time you launch you program, a console box will appear and all your text i/o (readln, writeln etc) will appear in it.
After your program has finished execution, a message "Press enter" appears on the screen. Thus any output your program generated will remain on the screen until you have had a chance to read it; after you press 'enter' the console window closes.
See the separate tutorial on Console Mode Pascal programming.
  • Reset debugger: Restores the debugger to its original state, so that breakpoints and values of variables etc are forgotten.
  • Build file: Compile (build) just the file that is currently open in the Editor.
  • Run file: Compile, link and execute just the currently open file.
  • Configure Build + Run File: Opens a multi-page tabbed window with options to allow for build of just this file when Build Project is selected, allows selection of the working directory, the use of various Macros, etc. Then Builds and Runs the file.
These last three options enable you to open (and maintain) a test project. Use File -> Open to open an .lpr file, pressing cancel on the next dialog to open this file as "normal source" file.

The Components sub-menu

  • Open Package: Displays a list of installed packages, with an invitation to open one or more of them, or to select various general or compiler options.
  • Open Package File: Open one of the files in the selected package.
  • Open Recent Package: Open a package that was opened recently.
  • Add Active Unit to Package: Place the unit file (currently in the editor) into a package.
  • Package Graph: Displays a graph showing the relationships of the packages currently being used (if you aren't using any other packages, the Lazarus package and the FCL and LCL will be displayed).
  • Configure custom components: If you have created some components, allows you to configure them.

The Tools sub-menu

  • Configure custom tools: Allows the user to add various external tools (usually macros) to the toolkit
  • Quick syntax check: Perform a quick check of the syntax in your source file without actually compiling anything. Essential step in developing long or complicated programs, where you don't want to waste time compiling if the code is wrong.
  • Guess unclosed block: useful utility if you have a complex nested block structure and you have left out an 'end' somewhere
  • guess misplaced IFDEF/ENDIF: useful if there is a complex or nested macro structure and you think you have left out an ENDIF directive
  • Make resource string: Makes the selected string a resource string by placing it in the resourcestrings section. An advantage of resource strongs is you can change them without the need to recompile your project!
  • Diff: Allows comparison between two files (or, usually, two versions of the same file) to find differences. Options to ignore white space at beginning or end of lines or differences in line termination: CR+LF versus LF). Useful for checking if there have been changes since last CVS update etc.
  • Check LFM file in editor: Allows inspection of the LFM file which contains the settings that describe the current form
  • Convert Delphi unit to Lazarus unit: Helps in porting Delphi applications to Lazarus; makes the necessary changes to the source file. See Lazarus For Delphi Users and Code Conversion Guide.
  • Convert DFM file to LFM: For porting from Delphi to Lazarus: converts the Form Description files from Delphi to Lazarus. See Lazarus For Delphi Users and Code Conversion Guide.
  • Build Lazarus: Launches a re-build of Lazarus from the most recently downloaded or updated CVS files. Hit the button and sit back to watch it happen! (track the process on your Messages window).
  • Configure "Build Lazarus": Allows the user to determine which parts of Lazarus should be re-built, and how. For example, you could select to have just the LCL re-built, or to have everything except the examples built; you can select which LCL interface to use (ie which set of widgets), and you can select the target operating system and specify a different target directory.

The Environment sub-menu

  • Environment options: Displays a multi-page window with tabs for
    • Files - allowing the user to specify path to default directory, compiler, source directory and temporary directory for compilation;
    • Desktop - options for Language, Auto save behaviour, saving desktop properties, hints for component palette and speed buttons;
    • Windows, to allow specification of size and behaviour of the various windows;
    • Form Editor - choose colours for editing forms;
    • Object Inspector - choose colour and height of items;
    • Backup - specify how to backup files when editing;
    • Naming - specify what extension to use in naming pascal files ('.pp' or '.pas'), whether to save files with names in lowercase, whether to perform auto-delete or auto-rename.
  • Editor options: Multi-page window, with tabs for
    • General - determines behaviour like auto-indent, bracket highlighting, drag-drop editing, scrolling, syntax highlighting, showing hints, size of block indent and tabs, limit of Undo;
    • Display - options for showing line numbers, presence of gutters, size and type of font for editor, and contains a preview panel showing the colours of the various syntax features such as comments, directives, punctuation, errors and breakpoints;
    • Key Mappings - options to select Lazarus or Turbo Pascal scheme;
    • Color - allows choice of colour scheme for text features, for a number of language types such as Object Pascal, C++, Perl, HTML, XML and shell scripts. It shows preview panel again (for whichever language is selected);
    • Outils de code - allows selection of features like Identifier Completion, tooltips, specification of template file names, specific templates for code completion.
  • Debugger Options: Multi-page window with tabs for
    • General - choose debugger: none, GNU debugger (gdb) or gdb through SSH, specify search paths for debuggers,and specific options for chosen debugger;
    • Event log - specify whether to clear log on run, and which messages to display;
    • Language Exceptions - select which exceptions can be ignored;
    • OS Exceptions - allows user to add certain signals which apply to current operating system (not implemented).
  • Code Tool Options: Multi-page window, tabs for
    • General - Allows entry of additional source search paths, specify Jumping Method;
    • Code Creation - determines whether created code is added before or after certain features;
    • Words - determines whether Pascal keywords are to be entered in upper or lower case, or as Capitalised Words;
    • Line Splitting - establish rules about where lines are allowed to be split (before or after punctuation, after keywords etc);
    • Space - decide whether a space is to be added automatically before or after certain syntactic features such as keywords or punctuation marks.
  • Code Tools Defines Editor: Here you can see all IDE internal definitions to parse sources. You will see all the defines, unit, source, include paths for all source directories. Beginning with the settings of the current FPC, the defines for the Lazarus Source directory, all package directories and project directories.

Most of these settings are auto generated and read only.


  • Re-scan FPC Source directory Looks through the directory again. Lazarus uses the fpc sources to generate correct event handlers and while looking for declarations. If somebody changes the directory in the environment options, then this directory is rescanned, to make sure lazarus uses the version stored in that location. But if this directory has changed without lazarus noticing, then you may get some errors when designing forms or doing "Find declaration". If you get such an error, you can do two things:
    1. Check the fpc source directory setting in the environment option.
    2. Re-scan FPC source directory.

The Windows sub-menu

Contains a list of the currently opened files and the available windows such as Source Editor, Object Inspector and Project Inspector. Clicking on the name of one of the windows brings it to the foreground and gives it focus.

The Help sub-menu

At present this has three selections:

  • Online Help which at present opens a browser window that contains a picture of the running cheetah and a few links to the Lazarus, FreePascal and WiKi websites
  • Configure Help which opens a pop-up menu with options to select viewers and databases from which to read Help information. This option allows the user to specify either the on-line documents section of the Lazarus-CCR website, some other website containing the documents, or a local store for the documentation (this would eventually become the default, when the Help system is fully developed).

At present by default, if you place your Editor cursor over any keyword from the FreePascal Components Library FCL or the RunTime Library RTL (but not the Lazarus Components Library LCL) and then press <<F1>> you will be taken to the appropriate definition on the website. THIS SECTION STILL REPRESENTS WORK IN PROGRESS

  • About Lazarus Displays a pop-up box with some information about Lazarus.

Eventually there will be a full on-line Help service, with information about Pascal syntax, the use of the IDE, how to use, modify or create Components, and hints on how to perform certain tasks. This part of the Documentation section (the thing you are currently reading) represents the beginning of the process. We need contributions from anyone who feels able to provide them: the WiKi is very easy to edit.

The Button bar

A small toolbar area on the left of the main editor window, just below the Main Menu and to the left of the Component Palette, contains a set of buttons which replicate frequently-used Main Menu selections:

New unit, Open (with a down-arrow to display a drop-down list of recently used files), Save, Save all, New Form, Toggle Form/Unit (ie show either form or source code of Unit), View Units, View Forms, Run (ie compile and Run), Pause, Step Into, Step over (the last two are Debugger functions).

La palette de composents

La barre d'outils à onglets affiche un large choix d'icône représentant les composants les plus courants pour la conception de formulaires.

Chaque onglet affiche un jeu d'icônes, correspondant aux fonctionnalités du groupe de composants. L'icône la plus à gauche, figurant une flèche, est appelé outil de sélection.

Si vous placez le pointeur de la souris sur l'une des icônes sans cliquer dessus, sont nom s'affichera. Notez que chaque nom commence par un 'T', ce qui signifie 'Type' ou plus précisément 'Class' de composant. Lorsque vous sélectionnez un composant pour l'intégrer dans un formulaire, la classe est ajoutée dans la section type de la partie interface de l'unité (habituellement en tant que partie de TForm1), et une instance de cette classe est ajouté dans la section var (habituellement de la même manière que la variable Form1). Chaque méthode que vous écrivez pour être utilisée par le formulaire un un de ses composants (Procédures ou Fonctions) seront placés dans la partie implementation de l'unité.

Dans la liste suivante, vous trouverez des liens vers les fichiers qui contiennent la description de ses composants. Si vous souhaitez trouver les propriétés d'un composant en particulier, il peut être utile d'étudier le composant duquel il est dérivé (son parent). Par exemple, pour comprendre TMaskEdit il est également utile d'examiner TCustomMaskEdit.

ONGLETS (les noms sont largement explicites) :

Component Palette Standart.png
Frequently used components: TMainMenu, TPopupMenu, TButton, TLabel, TEdit, TMemo, TToggleBox, TCheckBox, TRadioButton, TListBox, TComboBox, TScrollBar, TGroupBox, TStaticText, TRadioGroup, TCheckGroup, TPanel, TActionList
Component Palette Additional.png
More, often-used components: TBitBtn, TSpeedButton, TImage, TShape, TBevel, TPaintBox, TNotebook, TLabeledEdit, TSplitter, TMaskEdit, TCheckListBox, TScrollBox, TApplicationProperties, TStringGrid, TDrawGrid, TPairSplitter
Component Palette Common Controls.png
TTrackBar, TProgressBar, TTreeView, TListView, TStatusBar, TToolBar, TUpDown, TPageControl, TImageList
Component Palette Dialogs.png
TOpenDialog, TSaveDialog, TSelectDirectoryDialog, TColorDialog, TFontDialog, TOpenPictureDialog, TSavePictureDialog, TCalendarDialog, TCalculatorDialog

Beaucoup de procédures ou de fonctions utiles comme les boîtes de dialogue n'apparaissent pas directement dans la palette de composants, mais peuvent être facilement appelées dans le code source du programme.

For several good examples of the use of Components see the $LazarusPath/lazarus/examples subdirectory of your source installation. Many of the programs show how to use dialogs and other components directly without using the IDE and component palette or having a separate form definition file: all the components are fully and explicitly defined in the main Pascal program. Other example programs make full use of the IDE.

Some examples don't work straight away: you may need to play about with paths and permissions of files or directories. If you want to compile any of the examples, make sure that you have read/write/execute permissions for the files and directories, or copy the files to a directory where you do have the appropriate permissions.

Try running the 'testall' program to see a menu of the available components together with small example test forms for most of them; then inspect the code to find out how they work!

  • Misc
Component Palette Misc.png
TColorButton, TSpinEdit, TArrow, TCalendar, TEditButton, TFileNameEdit, TDirectoryEdit, TDateEdit, TCalcEdit, TFileListBox
  • Data Controls
Component Palette DataControls.png
Data-aware components, which largely replicate the Standard and Additional groups but are applicable to Databases: TDBNavigation, TDBText, TDBEdit, TDBMemo, TDBImage, TDBListBox,TDBComboBox, TDBCheckBox, TDBRadioGroup, TDBCalendar, TDBGroupBox, TdbGrid
  • Data Access
Component Palette DataAccess.png
TDatasource
  • System
Component Palette System.png
TTimer, TIdleTimer, TProcess
  • SynEdit
Component Palette SynEdit.png
A group of components to help interfacing with other languages and software tools. SynEdit is an advanced multi-line edit control, for Borland Delphi, Kylix and C++Builder. It supports Syntax Highlighting and code completion, and includes exporters for html, tex and rtf. It is a full-VCL/CLX control, meaning it is not a wrapper for Microsoft Windows controls, and no run-time library is required; this make SynEdit a crossplatform component. Compatibility with FreePascal is also planned, and SynEdit is the edit component in Lazarus IDE. see synedit at sourceforge. TSynEdit, TSynAutoComplete, TSynExporterHTML, TSynMacroRecorder, TSynMemo, TSynPasSyn, TSynCppSyn, TSynJavaSyn, TSynPerlSyn, TSynHTMLSyn, TSynXMLSyn, TSynLFMSyn, TSynUNIXShellScriptSyn, TSynCssSyn, TSynPHPSyn, TSynTeXSyn, TSynSQLSyn, TSynMultiSyn

To use the Palette, there must be an open form on view in the editor (if there isn't one, select File -> New Form). Click on the icon in the appropriate tab of the Palette for the component you want to use, then click on the Form, near where you want the component to appear. When the desired component appears, you can select it by clicking with the mouse, then move it to the exact place on the Form where you want it and adjust its size. Adjustments can be made to the appearance either by altering the picture itself on the Form using the mouse, or by changing the relevant Property in the Object Editor for that component.

If you install additional components, either those you have written yourself, or some coming as a package from some other source, then extra tabs with the relevant icons will appear in your Component Palette. These new components can be selected and used on your forms in the same way as those supplied by default.

The Debugger

Still to be written.

The Lazarus files

   (Thanks to Kevin Whitefoot.)
   (Additions by Giuseppe Ridinò, User:Kirkpatc and Tom Lisjac)

When you save you will actually be saving two files:

  xxx.pas and yyy.lpr 

(You save more than that but those are the ones you get to name). The project file (lpr) and the unit file (pas) must not have the same name because Lazarus will helpfully rename the unit (inside the source code) to the same as the unit file name and the program to the name of the project file (it needs to do this or the compiler will probably not be able to find the unit later when referred to in the project file). Of course to be consistent it changes all the occurrences of unit1 to xxx.

So if you are saving a project called again, trying to save again.pas and again.lpr fails because unit names and program names are in the same name space resulting in a duplicate name error.

So here is what I ended up with:

e:/lazarus/kj/lazhello:

total 4740  free 76500
-rwxrwxrwx   1 kjwh     root  4618697 Mar 24 11:19 again.exe
-rw-rw-rw-   1 kjwh     root     3002 Mar 24 11:21 again.lpi
-rw-rw-rw-   1 kjwh     root      190 Mar 24 11:18 again.lpr
-rw-rw-rw-   1 kjwh     root      506 Mar 24 11:08 againu.lfm
-rw-rw-rw-   1 kjwh     root      679 Mar 24 11:08 againu.lrs
-rw-rw-rw-   1 kjwh     root      677 Mar 24 11:08 againu.pas
-rw-rw-rw-   1 kjwh     root     2124 Mar 24 11:08 againu.ppu
-rwxrwxrwx   1 kjwh     root      335 Mar 24 11:07 ppas.bat

Note that there are many more files than the two that I thought I was saving.

Here is a brief note about each file:

again.exe: The main program binary executable. Win32 adds an "exe" extension. Linux has none. This file will be huge on Linux due to the inclusion of debugging symbols. Run the "strip" utility to remove them and substantially shrink the executable size.

again.lpi: This is the main file of a Lazarus project (Lazarus Project Information); the equivalent Delphi main file of an application will be the .dpr file. It is stored in an XML format.

again.lpr: The main program source file. Despite its lazarus specific extension it is in fact a perfectly normal Pascal source file. It has a uses clause that lets the compiler find all the units it needs. Note that the program statement does not have to name the program the same as the file name.

againu.lfm: This is where Lazarus stores the layout of the form unit. Lazarus uses this to generate a resource file that is included in the initialisation section of the againu.pas unit. Delphi dfm files can be converted to lfm format in the Lazarus IDE using the Tools->Convert DFM file to LFM utility.

again.lrs: This is the generated resource file. Note that it is not a Windows resource file.

againu.pas: The unit that contains the code for the form.

again.ppu: This is the compiled unit.

ppas.bat: This is a simple script that links the program to produce the executable. If compilation is successfull, it is deleted by the compiler.

Original contributors and changes

This page has been imported from the epikwiki version.

  • Created initial page and template. T. Lisjac - 11/04/2003 VlxAdmin
  • Inserted a note containing instructions for writing your first Lazarus Program. Suggest an administrator places it in the appropriate place on the Tutorial menu. 3/09/2004 User:Kirkpatc
  • Per above, moved Chris's writeup to the main body of the tutorial VlxAdmin
  • Began to insert text describing the Lazarus Editor - more to follow! 24 Mar 2004 User:Kirkpatc
  • Added some more to Lazarus Editor section of Tutorial. 25 Mar 2004 User:Kirkpatc
  • Added screenshots and revised some of the page formatting VlxAdmin 3/25/2004
  • Moved some of kwhitefoot's comments into Tutorial section. Formatting not quite right, but have to go to bed now! 26 Mar 2004 User:Kirkpatc
  • Formatted, added credits and comments. Removed original notes. VlxAdmin 3/26/2004
  • More material added to Editor section of tutorial. 26 Mar 2004 User:Kirkpatc
  • More material added describing the Main Menu. Renamed 'Hello World' to 'Getting Started' and moved it to nearer the top. 31 March 2004 User:Kirkpatc
  • Inserted section on Run sub-menu. Some general editing (eg ended each entry with a period to ensure consistency). 9 Apr 2004 User:Kirkpatc
  • Inserted a new section on How to get started with MySQL in FPC/Lazarus. 13 Apr 2004 User:Kirkpatc
  • Deleted the section on MySQL from here: it has been copied to Lazarus Database section of tutorial. 14 Apr 2004 User:Kirkpatc
  • Added some more to the description of the Editor Main Menu. 18 Apr 2004 User:Kirkpatc
  • Added section on Environment sub-menu. 19 Apr 2004 User:Kirkpatc
  • Added section on Components sub-menu. 4 May 2004 User:Kirkpatc
  • Adding Tools sub-menu description (incomplete). 7 May 2004 User:Kirkpatc
  • Added some screenshots to Menu descriptions. 9 May 2004 User:Kirkpatc
  • Fixed a bit in Environment Options - thanks VincentSnijders. 14 May 2004 User:Kirkpatc
  • More additions to Tools sub-menu. 19 May 2004 User:Kirkpatc
  • Added a section on the Button Bar and started work on The Component Palette. 20 May 2004 User:Kirkpatc
  • Posted a description file for the StdCtrls unit of the LCL, in the hope that people will add comments. 26 May 2004 User:Kirkpatc
  • Edited the StdCtrls file, removing a lot of repetitive material and doing some formatting. It is still far too long. 28 May 2004 User:Kirkpatc
  • Expanding on the Components Palette. 5 June 2004 User:Kirkpatc
  • Added a lot to the DialogExamples page. 10 June 2004 User:Kirkpatc
  • Considerable revision of the StdCtrls page, hopefully making it clearer and encouraging people to contribute - particularly in the 'Description' sections. 14 June 2004 User:Kirkpatc
  • Added pages for Menus and Dialogs units (linked to Component Palette description) - please feel free to add to these pages. 14 June 2004 User:Kirkpatc
  • Added page for Common Controls (linked to Component Palette). 16 June 2004 User:Kirkpatc
  • Added MaskEdit page (linked to Component Palette). 17 June 2004 User:Kirkpatc
  • Added Buttons, ExtCtrls pages (linked to Component Palette). 17 June 2004 User:Kirkpatc
  • Edited MainMenu component description page. 23 June 2004 User:Kirkpatc
  • Some additions to Common Controls. 28 June 2004 User:Kirkpatc
  • A new tutorial on Text-mode Pascal programming has been added. 5 July 2004 User:Kirkpatc
  • Minor changes to ComCtrls, ExtCtrls, Environment Menu. 10 July User:Kirkpatc
  • Added FormsTxt, component description page for Component Palette. 20 July 2004 User:Kirkpatc
  • Some corrections to ConsoleModePascal. 21 July 2004 User:Kirkpatc
  • Some small changes to ComponentPalette. 22 July 2004 User:Kirkpatc