Difference between revisions of "Lazarus Tutorial/fr"

From Free Pascal wiki
Jump to navigationJump to search
Line 163: Line 163:
 
'''<div style="clear:both;"></div>
 
'''<div style="clear:both;"></div>
  
====Sous Menu Voir====
+
====Sous-menu Voir====
 
<div class="floatright"> http://lazarus-ccr.sourceforge.net/kbdata/ViewMenuSnapshot.png </div>
 
<div class="floatright"> http://lazarus-ccr.sourceforge.net/kbdata/ViewMenuSnapshot.png </div>
 
Il permet le contrôle de l'affichage de différentes fenêtres sur l'écran.
 
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 coté 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 eventuellement y etre selectionnés :  ceci entrainant 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 selection des propié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 selection 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 <div class="box">...</div> pour que dans l'editeur de source, le curseur se place dans la procedure créée automatiquement, attendant que vous y tapiez le code associé.
 
* '''Inspecteur d'Objets''': c'est la fenêtre qui occupe généralement le coté 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 eventuellement y etre selectionnés :  ceci entrainant 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 selection des propié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 selection 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 <div class="box">...</div> pour que dans l'editeur de source, le curseur se place dans la procedure 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 editeur de texte, on peut y déplacer le curseur à la souris, un click gauche maintenu plus déplacement permet de selectionner une partie du texte. Le click droit fait apparaitre un menu popup comprenant les actions d'edition classique (couper copier coller ...), ''Chercher la Declaration'' et ''Ouvrir le fichier sous le curseur''.  The top of the Source Editor window has a number of tabs, corresponding to the files that are open for the current projectclicking on any tab makes that file visible, and you can move easily from file to file, copying and pasting between files and performing most of the normal editing functionsThe Source Editor performs color syntax highlighting on the code, with different colors for punctuation marks, comments, string constants etc.  It will also maintain the level of indentation from line to line as you type in code, until you change the indentationThe function and appearance of the Source Editor are very configurable from the Main Menu by selecting Environment -> Editor options and then selecting one of several tabs in the pop-up dialog box.
+
* '''Editeur de Source''': C'est la fenêtre principale dans laquelle le code source est édité.  Il réagit comme la plupart des editeur de texte, on peut y déplacer le curseur à la souris, un click gauche maintenu plus déplacement permet de selectionner une partie du texte. Le click droit fait apparaitre un menu popup comprenant les actions d'edition classique (couper copier coller ...), ''Chercher la Declaration'' et ''Ouvrir le fichier sous le curseur''.  En hau de la fenêtre de l'editeur de sources se trouvent un certain nombre d'onglets qui correspondent aux fichiers ouverts dans le projet couranten cliquant sur l'un d'entre eux, lefichier correspondant est affiché, vous pouvez ainsi naviguer facilement de fichier en fichier, effectuer des copier/coller et autres travaux d'edition entre euxL'éditeur de source est équipé de la coloration syntaxique de code, avec differents coloris pour les marques de ponctuation, les commentaires, les chaines de caractères, les constantes etc..Il conserve aussi l'indentation du code de ligne en ligne au fure et à mesure de votre frappe, jusqu'à ce que vous modifiez celle-ciL'apparence et les options de l'editeur de code sont entièrement configurables depuis le menu principal en selectionnant Configuration -> Options de l'éditeur puis en sélectionnant l'un des onglet dans la fenetre de dialogue.
 
* '''Code Explorer''': A window usually placed on the right of the Desktop which displays, in tree form, the structure of the code in the current unit or program.  It usually opens with just the Unit name and branches for Interface and Implementation sections, but clicking on the <div class="box">+</div> box to the left of any branch will open up its sub-branches or twigs, in more and more detail until individual constants, types and variables are displayed as well as procedure and function declarations.  If you change the file displayed in the main Source Editor window, you need to click on the Refresh button of the Code Explorer to display the structure of the new file.
 
* '''Code Explorer''': A window usually placed on the right of the Desktop which displays, in tree form, the structure of the code in the current unit or program.  It usually opens with just the Unit name and branches for Interface and Implementation sections, but clicking on the <div class="box">+</div> box to the left of any branch will open up its sub-branches or twigs, in more and more detail until individual constants, types and variables are displayed as well as procedure and function declarations.  If you change the file displayed in the main Source Editor window, you need to click on the Refresh button of the Code Explorer to display the structure of the new file.
 
* '''Units...''': Opens a pop-up dialog window with a list of the unit files in the current project.Clicking with the mouse on a filename selects that file; click on Open to display that file in the Source Editor.  Checking the Multi box allows several files to be selected simultaneously, and they will all be opened in the Source Editor (but only one at a time will be displayed).  This Menu Option is rather like the Project -> Project Inspector option, but only displays the list of Unit files and allows them to be opened.
 
* '''Units...''': Opens a pop-up dialog window with a list of the unit files in the current project.Clicking with the mouse on a filename selects that file; click on Open to display that file in the Source Editor.  Checking the Multi box allows several files to be selected simultaneously, and they will all be opened in the Source Editor (but only one at a time will be displayed).  This Menu Option is rather like the Project -> Project Inspector option, but only displays the list of Unit files and allows them to be opened.

Revision as of 15:44, 27 May 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 : Displays pop-up menu to allow insertion of standard text such as CVS keywords (Author, Date, Header etc) or GPL notice, username or Current date and time.
  • 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

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 coté 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 eventuellement y etre selectionnés : ceci entrainant 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 selection des propié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 selection 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 source, le curseur se place dans la procedure 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 editeur de texte, on peut y déplacer le curseur à la souris, un click gauche maintenu plus déplacement permet de selectionner une partie du texte. Le click droit fait apparaitre un menu popup comprenant les actions d'edition classique (couper copier coller ...), Chercher la Declaration et Ouvrir le fichier sous le curseur. En hau de la fenêtre de l'editeur 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, lefichier correspondant est affiché, vous pouvez ainsi naviguer facilement de fichier en fichier, effectuer des copier/coller et autres travaux d'edition entre eux. L'éditeur de source est équipé de la coloration syntaxique de code, avec differents coloris pour les marques de ponctuation, les commentaires, les chaines de caractères, les constantes etc... Il conserve aussi l'indentation du code de ligne en ligne au fure et à mesure de votre frappe, jusqu'à ce que vous modifiez celle-ci. L'apparence et les options de l'editeur de code sont entièrement configurables depuis le menu principal en selectionnant Configuration -> Options de l'éditeur puis en sélectionnant l'un des onglet dans la fenetre de dialogue.
  • Code Explorer: A window usually placed on the right of the Desktop which displays, in tree form, the structure of the code in the current unit or program. It usually opens with just the Unit name and branches for Interface and Implementation sections, but clicking on the
    +
    box to the left of any branch will open up its sub-branches or twigs, in more and more detail until individual constants, types and variables are displayed as well as procedure and function declarations. If you change the file displayed in the main Source Editor window, you need to click on the Refresh button of the Code Explorer to display the structure of the new file.
  • Units...: Opens a pop-up dialog window with a list of the unit files in the current project.Clicking with the mouse on a filename selects that file; click on Open to display that file in the Source Editor. Checking the Multi box allows several files to be selected simultaneously, and they will all be opened in the Source Editor (but only one at a time will be displayed). This Menu Option is rather like the Project -> Project Inspector option, but only displays the list of Unit files and allows them to be opened.
  • Forms...: Opens a pop-up dialog window with a list of the Forms in the current project, and allows the selection of one or more of them for display.
  • View Unit Dependencies: Opens a pop-up dialog window that shows, in a tree-like manner, the structure of dependencies of the currently open unit file. Most of the files listed as dependencies will have their own
    +
    boxes, which allow the dependencies of the individual files to be explored, often in a highly recursive manner.
  • Toggle form / unit view F12: Toggles whether the Source Editor or the current Form is placed on the top layer of the Desktop, and given focus. If the Source Editor has focus, then you can edit the source code; if the Form is given focus, you can manipulate the components on the desktop and edit the appearance of the Form. The easiest way to toggle the display between Editor and Form is to use the F12 key on the keyboard, but the same effect is achieved by selecting this option on the Main Menu.
  • Messages: A window that displays compiler messages, showing the progress of a successful compilation or listing the errors found.
  • Search Results: A window that displays the results of find in files.
  • Debug windows: Opens a pop-up menu with several options for operating and configuring the Debugger. See below where the debugger is described.

The Project sub-menu

  • New Project: Create a new project. A pop-up dialog window appears offering a choice of types of project to create.
  • New Project from file: A Navigation dialog window appears, alowing selection of a file from which to create a new project.
  • Open Project Open a project which has already been created and saved. A navigation dialog appears with a list of Lazarus Project Information (.lpi) files from which a project may be chosen.
  • Open Recent Project: Displays a pop-up list of recent projects on which you have been working, and allows selection of one of these.
  • Save Project: Similar to File -> Save: all the files of the current project are saved; if they have not previously been saved, there is a prompt for filename(s)- similar to Save Project As...
  • Save Project As...: Prompts for filename to save project. A default filename of Project1.lpi is offered, but you should choose your own filename. Lazarus will not permit you to use the same name for the Project file and the Unit File (see below).
  • Publish Project: Creates a copy of the whole project. If you want to send someone just the sources and compiler settings of your code, this function is your friend. A normal project directory contains a lot of information. Most of it is not needed to be published: the .lpi file contains session information (like caret position and bookmarks of closed units) and the project directory contains a lot of .ppu, .o files and the executable. To create a lpi file with only the base information and only the sources, along with all sub directories use "Publish Project". In the dialog you can setup the exclude and include filter, and with the command after you can compress the output into one archive. Voir les outils de l'EDI Lazarus
  • Project Inspector: Opens a pop-up dialog with a tree-like display of the files in the current project. Allows you to add, remove or open selected files, or change options of the project.
  • Project Options...: Opens a pop-up dialog window with tabs for setting options for Application (Title, Output Target file name), Forms (allowing you to select among the available forms, make them Auto-create at start of application) and Info (specifying whether editor information should be saved for closed files, or only for project files).
  • Compiler options ...: (Recently moved here from the Run Menu). Opens a multi-page tabbed window which allows configuration of the compiler. Tabs 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.
  • 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.
  • 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

  • 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