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 :
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)
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)
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.
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.