Raphael Bolle
 raphael.bolle@skynet.be http://users.skynet.be/sky35004/Home.htm  | 
| >Avant de commencer | 
| l | Nous supposons les démarches préliminaires comme déjà réalisées, sinon ce cours serait trop théorique et deviendrait vite ennuyeux. | 
| >L'interface utilisateur | 
| >L'application SDI | 
| >Le menu déroulant | 
| l | Le caractère & indique à Delphi de souligner le caractère qui suit. La rubrique sera donc accessible par la combinaison des touches ALT + le caractère souligné. | 
| l | Quand un élément d'un menu est suivi de "...", cela signifie que cliquer sur l'élément ouvre une autre fenêtre. | 
| >Donnons vie à notre bloc-notes | 
| l | Les composants OpenDialog, ... sont des fenêtres standard pour l'ouverture, l'enregistrement, ... Elles permettent d'épargner du temps de conception. | 
procedure TFicheEdition.Ouvrir1Click(Sender: TObject);
begin
  if OpenDialog.Execute then begin
    Document.Lines.LoadFromFile(OpenDialog.FileName); //charge le fichier dans le mémo
    Document.SelStart :=0 //remet le curseur au début du texte
  end;
end; | l | 
procedure TFicheEdition.Enregistrersous1Click(Sender: TObject);
begin
  if SaveDialog.Execute then begin
    Document.Lines.SaveToFile(SaveDialog.FileName);
  end;
end; | l | 
procedure TFicheEdition.Enregistrer1Click(Sender: TObject);
begin
  // Si c'est la première fois que l'on sauve le fichier, le programme affiche
  // la boite de sauvegarde.
  If OpenDialog.FileName<>'' then
    Document.Lines.SaveToFile(OpenDialog.FileName)
  else Enregistrersous1Click(Sender);
end; | l | 
procedure TFicheEdition.Nouveau1Click(Sender: TObject); begin Document.Clear; end;  | l | 
Uses
  ..., Printers;
...
procedure TFicheEdition.Imprimer1Click(Sender: TObject);
var
  Text: TextFile;
  NbLignes, i: integer;
begin
  NbLignes:=Document.Lines.Count; // compte le nombre de lignes à imprimer
  AssignPrn(Text);  // on utilise ici l'imprimante comme s'il s'agissait d'écrire dans un fichier
  Rewrite(Text);
  i:=0; // commence à partir de la ligne 0
  Repeat
    WriteLn(Text, Document.Lines[i]);
    i:= i+1;         // incrémente d'une ligne
  until i= NbLignes; // jusqu'à la dernière ligne
  CloseFile(Text);
end; | l | 
| l | N'oubliez pas d'insérer l'unité Printers dans la déclaration USES de votre unité car AssignPrn y est définie. | 
| l | Pour plus d'informations sur les boucles en Pascal, je vous renvoie à l'article de discase "Introduction au Pascal(1)" paru dans Prograzine v2.1. | 
procedure TFicheEdition.Quitter1Click(Sender: TObject); begin Close; end;  | l | 
procedure TFicheEdition.Couper1Click(Sender: TObject); begin Document.CutToClipboard; end; procedure TFicheEdition.Copier1Click(Sender: TObject); begin Document.CopyToClipboard; end; procedure TFicheEdition.Coller1Click(Sender: TObject); begin Document.PasteFromClipboard; end;  | l |