Vous êtes sur la page 1sur 7

Faire une interface en langue arabe avec WinDev

Par Emmanuel Lecoester

Date de publication : 25 avril 2009

Dernière mise à jour : 11 juillet 2020


Faire une interface en langue arabe avec WinDev par Emmanuel Lecoester

I - Vérifier et installer la langue arabe pour Windows.................................................................................................3


II - Première fenêtre dans WinDev............................................................................................................................. 3
III - Gérer l'arabe dans WinDev.................................................................................................................................. 4
III-A - Afficher en arabe..........................................................................................................................................4
III-B - Afficher en droite à gauche......................................................................................................................... 4
III-B-1 - Méthode disponible depuis WinDev 14...............................................................................................4
III-B-2 - Pour les anciennes versions de WinDev............................................................................................ 4
III-C - Un test d'affectation ?.................................................................................................................................. 5
III-D - Le stockage dans HyperFile........................................................................................................................ 5
IV - Les ressources PC-Soft........................................................................................................................................6
IV-A - Exemple de la LST n° 66 : WD International.............................................................................................. 6
IV-B - Exemple de la LST n° 70 : WD Alphabet arabe......................................................................................... 6
IV-C - Exemple de la LST n° 73 : WD Clavier virtuel arabe..................................................................................7

-2-
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.
https://wind.developpez.com/tutoriels/windev/developper-interface-arabe-avec-windev-15/
Faire une interface en langue arabe avec WinDev par Emmanuel Lecoester

I - Vérifier et installer la langue arabe pour Windows

Si comme moi vous n'aviez 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 II.

• Dans le menu « Démarrer », cliquer sur « Panneau de configuration ».


• Choisir « Options 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 ( ) au français ( ) 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 :

en langue française et

en langue arabe.

II - Première fenêtre dans WinDev

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

-3-
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.
https://wind.developpez.com/tutoriels/windev/developper-interface-arabe-avec-windev-15/
Faire une interface en langue arabe avec WinDev par Emmanuel Lecoester

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

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.

III - Gérer l'arabe dans WinDev

III-A - Afficher en arabe

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

// 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 et le clavier virtuel passe en arabe.

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

III-B - Afficher en droite à gauche

III-B-1 - Méthode disponible depuis WinDev 14

Une seule ligne suffit !

SAI_Saisie1..SensEcriture = seDroiteAGauche

III-B-2 - Pour les anciennes versions de WinDev

Créer la procédure globale suivante :

PROCEDURE InverseObjet(pObjet)

-4-
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.
https://wind.developpez.com/tutoriels/windev/developper-interface-arabe-avec-windev-15/
Faire une interface en langue arabe avec WinDev par Emmanuel Lecoester

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 :

InverseObjet(MoiMême)

III-C - Un test d'affectation ?

Dans le code du bouton ajouter le code suivant :

SAI_Résultat=SAI_Saisie1

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

L'affectation fonctionne donc !

III-D - Le stockage dans HyperFile

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

Nous allons maintenant l'exploiter.

Revenons au code du bouton de notre fenêtre :

SAI_Résultat=SAI_Saisie1

Modifions-le en :

HRAZ(Arabe)
Arabe.libelle=SAI_Saisie1
HAjoute(Arabe)

HRAZ(Arabe)

-5-
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.
https://wind.developpez.com/tutoriels/windev/developper-interface-arabe-avec-windev-15/
Faire une interface en langue arabe avec WinDev par Emmanuel Lecoester

HLitPremier(Arabe)
SAI_Résultat=Arabe.libelle

Nous allons faire le test avec les mots suivants :

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

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.

IV - 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 trois 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.

IV-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édures « 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.

IV-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.

-6-
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.
https://wind.developpez.com/tutoriels/windev/developper-interface-arabe-avec-windev-15/
Faire une interface en langue arabe avec WinDev par Emmanuel Lecoester

IV-C - Exemple de la LST n° 73 : WD Clavier virtuel 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.

-7-
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.
https://wind.developpez.com/tutoriels/windev/developper-interface-arabe-avec-windev-15/

Vous aimerez peut-être aussi