Faire une interface en langue arabe avec WinDev

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

0. Vérifier et installer la langue Arabe pour Windows

Si comme moi vous n'avais jamais eu besoin d'installer la langue arabe sur votre poste, ce chapitre vous aidera à installer la langue Arabe (Tunisie) avant de poursuivre le tutoriel. Pour les autres, vous pouvez passer au chapitre deux.

  • Dans le menu « Démarrer », cliquer sur « Panneau de configuration »
  • Choisir « Option régionales et linguistiques »
  • Cliquer sur « Langues »
  • Cocher la case « Installer les fichiers pour les scripts complexes et s'écrivant de droite à gauche »
  • Insérer le CD Windows et attendre
  • Windows propose de redémarrer. Ôter le CD et accepter le redémarrage
  • Après le redémarrage, retourner dans le menu « Démarrer » et choisir à nouveau « Panneau de configuration »
  • Dans « Options régionales et linguistiques » : « Langues » « Détails » choisir langue ARABE (Tunisie)
  • Redémarrer

En bas à droite, sur la barre des tâches, l'icône langue est maintenant disponible et il est possible de passer de l'arabe (image) au français (image) et vice-versa.

Petite astuce pour la suite : affichez le clavier virtuel pour taper votre lettre arabe sur votre clavier standard. Pour ce faire, Démarrer/accessoires/accessibilité/Clavier visuel.

Vous devriez avoir sur votre écran :

image

en langue française et

image

en langue arabe.

I. Première fenêtre dans WinDev

Créer une simple fenêtre avec deux champs de saisie et un bouton de ce type :

image

Afin de tous avoir le même code, je vous donne ci-dessous les différents noms des champs de la fenêtre :

image

Faites un GO du projet

Remarque : Vous remarquerez que dans la barre de langue la langue française (FR) reste sélectionnée et le clavier virtuel reste en Français.

II. Gérer l'arabe dans WinDev

II-A. Afficher en arabe

Insérer le code suivant dans le code d'initialisation du projet

 
Sélectionnez
// Passer la langue d'affichage de
// l'application en arabe
Nation(19)
// Passer les polices en arabe
ChangeAlphabet( alphabetArabe )
// Change le clavier
ChangeClavier ( langueArabe )

Faites un GO du projet

Plusieurs choses changent : la langue passe en image et le clavier virtuel passe en arabe.

Il nous reste maintenant à écrire de droite à gauche !

II-B. Afficher en droite à gauche

II-B-1. Méthode disponible depuis WinDev 14

Une seule ligne suffit !

 
Sélectionnez
SAI_Saisie1..SensEcriture = seDroiteAGauche

II-B-2. Pour les anciennes versions de WinDev

Créer la procédure globale suivante :

 
Sélectionnez
PROCEDURE InverseObjet(pObjet)
Var1,Var2 est entier
SI Nation()=19 ALORS
Var1=API("User32","GetWindowLongA",Handle(pObjet),-20)
Var2=OUBinaire(Var1,4194304)
Var1=API("User32","SetWindowLongA",Handle(pObjet),-20,Var2)
SINON
Var1=API("User32","GetWindowLongA",Handle(pObjet),-20)
Var2=ETBinaire(Var1,4194304)
Var1=API("User32","SetWindowLongA",Handle(pObjet),-20,Var2)
FIN

Dans le code d'initialisation du champ de saisie ajouter tout simplement le code :

 
Sélectionnez
InverseObjet(MoiMême)

II-C. Un test d'affectation ?

Dans le code du bouton ajouter le code suivant :

 
Sélectionnez
SAI_Résultat=SAI_Saisie1


En tapant « Bonjour » dans le champ de Saisie et en appuyant sur le bouton nous obtenons

image


L'affectation fonctionne donc !

II-D. Le stockage dans HyperFile

Nous avons créé un simple fichier HF Classic dans une simple analyse.

image


Nous allons maintenant l'exploiter.


Revenons au code du bouton de notre fenêtre :

 
Sélectionnez
SAI_Résultat=SAI_Saisie1


Modifions le en :

 
Sélectionnez
HRAZ(Arabe)
Arabe.libelle=SAI_Saisie1
HAjoute(Arabe)

HRAZ(Arabe)

HLitPremier(Arabe)
SAI_Résultat=Arabe.libelle

Nous allons faire le test avec les mots suivants : image


Au second test nous obtenons après appui sur le bouton :

image


Hyperfile sait donc bien gérer l'arabe !


Bémol : les données ne sont pas modifiables sous WDMAP en langue Arabe mais en code ANSI.

III. Les ressources PC-Soft

Sur la page de recherche de ressources PC-Soft (http://www.webdev.info/publicationSt_WEB/FR/recherche.awp?RECH=arabe), Nous pouvons retrouver 3 ressources très intéressantes. Prenez contact avec l'éditeur pour commander une de ces LST sur cette page http://www.pcsoft.fr/lst/bdc-old-lst.htm

III-A. Exemple de la LST n°66 : WD International

Cet exemple montre comment développer une application multilingue avec une langue orientale.

Cette application peut être exécutée en Français et en Arabe.

La procédure "InverseSensFenêtre" de la collection de procédure "CollectionLangue" permet de changer le sens d'écriture de l'application.

Les champs sont ainsi inversés, les ancrages sont modifiés.

Pour visualiser correctement l'application en langue Arabe, il est nécessaire d'installer la langue Arabe dans Windows.

III-B. Exemple de la LST n°70 : WD Alphabet Arabe

WD AlphabetArabe est un projet exemple WinDev 11 qui montre comment manipuler du texte en Arabe dans un projet dont la langue d'affichage n'est pas exclusivement l'arabe.

L'exemple permet de se familiariser avec l'alphabet Arabe : il prend un mot ou une courte phrase qu'il découpe en lettres isolées. Quel intérêt ? L'Arabe combine étroitement les lettres les unes avec les autres. Il est difficile quand on débute de déchiffrer un mot si on ne parvient pas à dissocier les lettres.

Le bouton [Son] permet d'écouter le son de chacune des lettres.

Le bouton [ANSI] permet d'obtenir la valeur ANSI du texte pour l'éditeur de code.

III-C. Exemple de la LST n°73 : WD ClavierVirtuel Arabe

Il n'est pas toujours possible de disposer d'un vrai clavier en Arabe. Dans un tel cas, un clavier virtuel peut permettre d'entrer des textes en Arabe avec un relatif confort. Un tel clavier virtuel est facile à programmer avec WinDev. Celui que nous proposons dans cet exemple est constitué d'une fenêtre Popup. Une seule ligne de code suffit pour le brancher sur un champ de saisie. La fenêtre Popup est autonome, facilement personnalisable, et elle dialogue automatiquement avec le champ de la fenêtre principale qui l'a appelée.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2008 Emmanuel Lecoester. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.