Probleme d'affichage sur un textbox

youssefcb Messages postés 9 Date d'inscription lundi 3 juillet 2006 Statut Membre Dernière intervention 14 mai 2007 - 19 avril 2007 à 11:29
youssefcb Messages postés 9 Date d'inscription lundi 3 juillet 2006 Statut Membre Dernière intervention 14 mai 2007 - 20 avril 2007 à 11:25
bonjour je travaille sur une application de gestion de demande d acte d'état civil en fait c'est un ecran tactile qui tourne sous VB6 et sql server
Dans cet ecran se trouve un clavier numerique un clavier arabe et francais et un autre pour pour les slaches ou les signes
bref le probleme qui se pose est que quand j'ecrit dans le meme textbox les lettre arabe et francais et des fois un slache, l'ordre d'enchainement des lettres change
exemple
182/S /Ã
alors que normalement j avais ecrit la lettre en arabe au debut
connaisez vous une solution pour ecrire sur un textbox sans diferentier l arabe le francais et les signes

10 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 avril 2007 à 11:35
Bonjour,

utilise le selstart de ta textbox
0
youssefcb Messages postés 9 Date d'inscription lundi 3 juillet 2006 Statut Membre Dernière intervention 14 mai 2007
19 avril 2007 à 11:53
merci pour ton aide
mais à vrai dire je suis débutant et je ne connais pas  vraiment cette fonction
peux tu me donner un petit exemple sachant ke j'ai 3 claviers (arabe , numerique , francais) tous ecrivent dans le meme textbox
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 avril 2007 à 12:12
Voilà un exemple, donc, à main-levée, pour frapper chaque fois devant (mais tu aurais pu ouvrir ton aide en ligne sur le mot selstart, non ?)

Private Sub Text1_Change()
  Text1.SelStart = 0
End Sub

A toi maintenant de prévoir un bouton de commande pour dire quand la variable générale toto est vraie (pour frapper devant) ou fausse (pour frapper derrière) et, donc, écrire :

Private Sub Text1_Change()
  If toto then  Text1.SelStart = 0
End Sub
0
youssefcb Messages postés 9 Date d'inscription lundi 3 juillet 2006 Statut Membre Dernière intervention 14 mai 2007
19 avril 2007 à 12:26
je viens d' essayer ton exemple mais ca ne donne rien dés que j'ecris une lettre en arabe ou un slache tous se mélange
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 avril 2007 à 13:28
Montre :
- Ton code
- la propriété RightToLeft de ta textbox
et précise-nous si tu es en système "bi-directionnel" ou non
0
youssefcb Messages postés 9 Date d'inscription lundi 3 juillet 2006 Statut Membre Dernière intervention 14 mai 2007
19 avril 2007 à 13:44
voici mon code :

Private Sub teste_Change()
teste.SelStart = 0
End Sub


'clavier fr
Private Sub Command2_Click()
teste.Text = teste.Text + Command2.Tag
End Sub


'clavier Aarabe
Private Sub Command3_Click()
teste.Text = teste.Text + Command3.Tag
End Sub




'clavier numerique , slache
 Private Sub Command4_Click(Index As Integer)
teste.Text = teste.Text + Command4(Index).Tag
End Sub

pour ce qui du RightToLeft , j' ai essayé les deux cas sans réussite
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 avril 2007 à 14:07
Veux-tu bien, s'il te plait, faire un tout petit projet séparément avec :

- Une textbox Text1
- un bouton de commande Command1
- un bouton de commande Command2

et le code suivant :

Private toto As Boolean


Private Sub Command1_Click()
  toto = False
End Sub


Private Sub Command2_Click()
 toto = True
End Sub


Private Sub Form_Activate()
 toto = False
 Command1.Caption = "pour frapper derrière"
 Command2.Caption = "pour frapper devant"
End Sub


Private Sub Form_Load()
 Load Form2
End Sub


Private Sub Text1_Change()
  If toto Then Text1.SelStart = 0
End Sub


Private Sub Text1_Click()
 If toto Then Text1.SelStart = 0
End Sub


Private Sub Text1_GotFocus()
  If toto Then Text1.SelStart = 0
End Sub

Tu choisis le mode de frappe par le bouton de ton choix et frappes ensuite dans ta textbox...
Je veux bien qu'on me coupe la tête si ça ne marche pas (ou alors tu as une machine plus que bizarre ! ... j'ai testé chez moi) !!!!
0
youssefcb Messages postés 9 Date d'inscription lundi 3 juillet 2006 Statut Membre Dernière intervention 14 mai 2007
19 avril 2007 à 14:31
  comme on dit en arabe "walou" ca ne marche pas j ai bien fait exactement ce que tu m'as demander de faire mais sans réussite 
en fait l 'affichage se fait normalement mais c'est les lettres arabes et les chiffres qui posent un blem 
les lettres arabes vienne toujours se positionner derièere les chiffres

je te remercie pour ton aide  
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 avril 2007 à 19:10
Et moi je vais te dire "manarf" sans que tu me renseignes sur l'arabe.

Que veux-tu dire ?
Qu'en arabe, les cfiffres doivent toujours se placer avant les lettres ?

Idée montre-moi comment devrait être affiché en arabe (mais avec des lettres latines) ce qui serait affiché en latin :
 abcdef235
123 coqs
12/23
ab/cd
12/ab
ab/12
0
youssefcb Messages postés 9 Date d'inscription lundi 3 juillet 2006 Statut Membre Dernière intervention 14 mai 2007
20 avril 2007 à 11:25
bonjour
alors disons que si par exemple "à" etait une lettre arabe et que je veuille ecrire
"B7à"
sur le textbox elle s affiche comme suit : Bà7 c est a dire comme j ai dit la lettre arabe ne suit pas l'ordre dans lequel les lettre sont tapper au clavier
0
Rejoignez-nous