Annexe 1
Premières comparaisons Kylix-Delphi



Plan du chapitre 2 Annexe 1:
 
    2.1. Fichiers générés par la création d'un projet
    2.2. Aide en ligne
    2.3. Raccourcis clavier
    2.4. Les onglets
    2.5. Récupération des projets Delphi
     


 

L'interface de Kylix est presque identique à celle de Delphi 5 :
- Les Forms, Les Units, les Barres d'Outils, Les Boîtes de dialogues, l'Inspecteur d'objets sont identiques et présentent les mêmes fonctionnalités. Les boîtes de dialogue du type Ouvrir un fichier fonctionne de la même manière, ce qui est nouveau avec KDE. Il existe par exemple une possibilité de créer un repertoire ou de renommer un fichier.
 
 


 
 


 
 

2.1. Fichiers générés par la création d'un projet:

 
DELPHI 

 

KYLIX 

 

projet.dof 

 

projet.conf 
 
 

projet.kof 

 

projet.dpr 

 

projet.dpr 

 

projet.res 

 

projet.res 

 

unit.pas 

 

unit.pas 

 

unit.dcu 

 

unit.dcu 

 

unit.dfm 

 

unit.xfm 

 

unit.exe

 

unit 

 


 

2.2. Aide en ligne

Nous avons utilisé une version béta de Kylix. L'aide ne fonctionne que partiellement, et se limite souvent à une "recopie" de celle de Delphi. Elle ne presente donc qu'un intérêt très limité.
 
 

2.3. Raccourcis clavier

ctrl+C, ctrl+X, ctrl+V, connus sous Windows fonctionnent. Les touches F9 (pour l'exécution), F1 (pour l'aide en ligne),
ctrl+click de souris (pour remonter l'arborescence),F8 (pas à pas) sont également fonctionnelles.
En revanche ctrl+F2 (arrêter l'exécution du programme) ne marche pas même s'il figure dans le menu, parce qu'il entre en conflit avec un raccourci de Mandrake (passer au deuxième bureau).
 
 

2.4. Les onglets

L'onglet Win32 de Delphi a été remplacé par l'onglet CommonControls dans lequel on retrouve entre autre les composants PageCOntrol, ImageList, RichEdit, TrackBarr, ProgressBarr.
L'onglet Supplément a été remplacé par Additionnal où se trouvent les composants BitBtn,StringGrid, Bevel,Image, Timer.

L'onglet standard est également présent sous Kylix et présente le même choix de composants:

onglet_std

Il existe parfois des différences entre les composants de Delphi et de Kylix. C'est le cas pour les SpinEdit, où les propriétés EditorEnabled, MaxValue, MinValue de Delphi s'appellent respectivement  Enable, Max et Min dans Kylix. En outre, l'évènement OnChange de Delphi devient OnChanged.

kylix_spinedit
 
 

2.5. Récupération des projets Delphi

Test sur des petits programmes écrit en Delphi :  Utilisation des composants de base, communs à Delphi  5 et Kylix.

Méthode utilisée:
  • copie des fichiers depuis le repertoire windows (/mnt/windows) vers le répertoire de l'utilisateur Linux.
  • ouverture du fichier .dpr (projet) avec Kylix.

-

Quelques modifications sont à apporter au code. Elles sont essentiellement du au fait que windows ne respecte pas la casse (différence entre les majuscules et les minuscules)et n'utilisent pas les mêmes Uses. Les développeurs de Delphi n'ont pas tenu compte de cette spécificité de Windows.

Il est donc nécessaire de transformer :
  • Les noms des fichiers (notamment des Units) pour respecter les majuscules et les minuscules,
  • La directive {$R *RES} à remplacer par {$R *res} sur le fichier .dpr,
  • La directive {$R *DFM} à remplacer par {$R  *dfm} sur le fichier .pas.

 

Les noms de classes sont la plupart du temps différents (Kylix n'utilisant pas les API Windows), il convient donc:
  • De supprimer les classes spécifiques Windows (Windows, Messages...),
  • De rajouter un Q devant les autres noms de classes (exceptés Sysutils et Classes...),
  • La directive {$R *DFM} à remplacer par {$R  *dfm} sur le fichier .pas.
  • En cas d'utilisation du type variant, ajouter uses Variants. Son utilisation nécessite donc un transtypage VarTostr(variable) par exemple, si l'on veut écrire la valeur d'une variable de ce type dans un edit.

Cette méthode nous a permis de récuperer des exemples réalisés sous Delphi, mais en général la police et l'organisation (taille, position des composants) était modifiée.
 

Les Exemples:
Ces exemples ont pour objectif de tester la portabilité des applications Delphi sous Kylix. Les programmes ulilisés proviennent du cours de d'apprentissage de Delphi donné par Mr di SCALA aux étudiants du desscci de l'Université des sciences de la faculté de Tours. Les résultats et commentaires sont présentés dans les parties suivantes en les regroupant par thème.