Portage d'applications CLX entre Delphi 6 et Kylix

darkskull

- Titre : Portage d'applications CLX entre Delphi 6 et Kylix

- Auteur : darkskull

- Parution : 26 avril 2002

- Mise à jour : 6 décembre 2019

- Licence : Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.

Sommaire

- I. Introduction

- II. Préparation

- III. Pose des composants

- IV. Affichage du texte

- V. Importation sous Kylix

I - Introduction

Avec l'apparition de Kylix, la programmation d'applications professionnelles sous Linux se trouve grandement facilitée, étant donné que Kylix reprend la même interface que Delphi et le même langage… Par conséquent, vous aurez sûrement envie de porter vos applications que vous avez programmées avec Delphi 6 sous Kylix sans avoir à tout réécrire. C'est désormais possible grâce à la CLX.

Bien que le passage de Kylix à Delphi 6 soit tout à fait possible (et identique), je me concentrerai dans cet article sur l'opération inverse, c'est-à-dire de Delphi 6 à Kylix, vu qu'il est facile d'accéder au disque dur Windows depuis Linux alors que l'inverse n'est pas forcément vrai.

II - Préparation

Démarrez Delphi 6, et allez dans le menu « Fichier\Nouveau\Application CLX ». Vous constaterez immédiatement un changement dans la palette, par exemple les onglets « Win32 », « Système », « ADO », « DataSnap », ou encore « BDE » qui disparaissent au profit d'un nouvel onglet « Contrôles Communs », et le contenu de la plupart des onglets change… En effet, tous les composants de Delphi 6 ne sont pas compatibles avec Kylix.

Palette VCL :

Palette CLX :

Pour cet exemple, nous allons réaliser une application style « Hello World », mais avec les composants CLX: nous allons afficher progressivement ce message dans une boite de texte.

III - Pose des composants

Placez tout d'abord un composant « TTimer » (onglet « Supplément »). Mettez sa propriété « Interval » sur « 200 ». Il nous servira à afficher les lettres une par une…

Placez ensuite un « TStatusBar » sur votre fiche. Ce composant nous servira uniquement pour la décoration…

Enfin, placez un composant « TTextViewer » sur la fiche. C'est ce composant qui nous servira à afficher le texte.

IV - Affichage du texte

Nous allons tout d'abord déclarer une constante Hello qui contient le texte à afficher.

const
Hello = 'Hello World !';

ensuite, nous allons déclarer une variable « pos » qui contiendra la position du texte à afficher :

var
pos: integer;

Et nous initialisons cette variable à 0 dans l'événement « OnCreate » de la fiche :

procedure TForm1.FormCreate(Sender: TObject);
begin
pos := 0;
end;

Et enfin nous affichons le texte en incrémentant la position en cours :

procedure TForm1.TimerTimer(Sender: TObject);
begin
pos := (pos mod Length(Hello)) + 1;
TextViewer1.Text := Copy(Hello, 1, pos);
end;

Voilà, maintenant si nous lançons l'application, nous verrons le texte « Hello World » s'afficher progressivement, puis disparaître, et se réafficher progressivement jusqu'à la fermeture de la fiche. Notre application Hello World est terminée. Il ne nous reste plus qu'à enregistrer le projet, fermer Delphi, et démarrer Linux et Kylix.

V - Importation sous Kylix

Avant de fermer Windows, il faut que vous sachiez si vous pouvez accéder à votre disque dur Windows depuis Linux. Si ce n'est pas le cas, ou si vous ne le savez pas, copiez le projet sur une disquette de sorte à pouvoir l'importer.

Fermez Windows, et démarrez Linux. Copiez le répertoire de votre application (ou le contenu de la disquette si vous passez par une disquette) dans un répertoire de votre disque dur Linux.

Démarrez Kylix, et ouvrez le projet… appuyez sur F9, et voilà, le projet fonctionne sous Linux !!!

Compliqué, non ?