je cherche une solution pour convertir chiffre en lettre arabe pour Total d'une Facture
je cherche une solution pour convertir chiffre en lettre arabe pour Total d'une Facture
Bonjour, pourriez-vous êtes plus précis sur ce que vous désirez faire exactement.
La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème
Pas de sollicitations techniques par MP -
je cherche la solution pour édition d'un Total en Chiffres et en Lettre arabe
Après consultation d'un collègue arabophone, j'ai compris votre demande qui est de convertir les chiffres (arabes) en leur représentation textuelle arabe. Ce dernier m'a assuré qu'il n'y avait pas de routines toutes faites pour cela, il faut donc que vous développiez votre propre algorithme de conversion.
La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème
Pas de sollicitations techniques par MP -
Bonjour,
Suggestion : Pour convertir les chiffres arabes en leur représentation textuelle arabe, je procéderais en deux étapes :
1) Conversion des chiffres depuis la base 10 vers leur représentation textuelle française (on trouve des algos sur le net)
2) Puis conversion du français vers l'arabe avec l'aide de quelqu'un qui pratique cette langue.
A+
N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi
Re-bonjour,
Tiens, voiçi deux liens qui pourront t'aider :
1) Conversion de chiffres en lettre arabes : CONVERSION-CHIFFRES-LETTRES-ARABE
2) Conversion de chiffres en lettres allemandes : http://www.swissdelphicenter.ch/torr...de.php?id=2351
... et pour la conversion vers le français je ne me souviens plus où j'ai vu ça sur le net ... mais si le lien 1) çi-dessus répond à ton pb ça devrait suffire.
A+
EDIT du même jour 11h 09 : Yep, pour la conversion vers le français c'est ici dans la FAQ: http://delphi.developpez.com/faq/?pa...ombreenlettres
N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi
Salut;
Si on cherche on fini toujours par trouver quelque chose d'intéressant. Ta fonction je l'ai, elle est prête à l'emploi, seule contrainte conversion jusqu'à 1.000.000.000, si tu est intéressé je te l'envoi et si tu n'as besoin que de l'algo idem je te le passe.
Bonne chance.
Bon courage ou Bonne Chance (selon le contexte)
Mon blog sur WordPress
salut,
voici une fonction qui convertie les chiffres en Lettres arabes.elle est testée mais elle a une seule contrainte :conversion jusqu'à 1.000.000.000 pas plus.peut-être c'est la même fonction que t'a proposé Just-Soft:
pour afficher le résultat de la convertion,il suffit d'écrire:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97 function convertir_chiffres_en_lettres_arabes(N:Integer):string; Const Unite:Array[1..12] of String=('æÇÍÏ','ÅËäÇä','ËáÇËÉ','ÃÑÈÚÉ','ÎãÓÉ','ÓÊÉ', 'ÓÈÚÉ','ËãÇäíÉ','ÊÓÚÉ','ÚÔÑÉ','ÇÍÏì ÚÔÑ','ÇËäÊÇ ÚÔÑ'); Dizaine:Array[1..9]of String=('ÚÔÑ','ÚÔÑæä','ËáÇËæä','ÃÑÈÚæä', 'ÎãÓæä','ÓÊæä','ÓÈÚæä','ËãÇäæä','ÊÓÚæä'); Ordre1:Array[0..3]of String=('ãÆÉ','ÃáÝ','ãáíæä','ãáíÇÑ'); Ordre2:Array[0..3]of String=('ãÆÊÇä','ÃáÝÇä','ãáíæäÇä','ãáíÇÑÇä'); Ordre3:Array[1..3]of String=('ÂáÇÝ','ãáÇííä','ãáÇííÑ'); Var T:Array[1..4] of Integer; Temp : String; C,D,U : Byte; I : Word;fait:boolean; Begin If N=0 then Begin Result:=' ÕÝÑ'; Exit; End; Result:=''; For i:=4 downto 1 do Begin T[i]:=N mod 1000; N:=N div 1000; End; for i:=4 downto 2 do begin if i <> 4 then begin if T[i]=1 then Result:=Ordre1[4-i]+' '+Result Else If T[i]=2 then Result:=Ordre2[4-i]+' '+Result Else Begin If (T[i] mod 100 <11)and (T[i] mod 100 >2) then Result:=Ordre3[4-i]+' '+Result Else If T[i] mod 100 =2 then Result:=Ordre2[4-i]+' '+Result Else If (T[i] mod 100 <>0) then Result:=Ordre1[4-i]+' '+Result else if (T[i] mod 100 =0) and(T[i]<>0) then Result:=Ordre1[4-i]+' '+Result; end; end; If T[i]>0 then Begin fait:=false; Temp:=''; U:=T[i] mod 10; //T[4]:=T[4] div 10; D:=(T[i]div 10) mod 10; //T[4]:=T[4] div 10; If i=4 then If (D=0)and (U>1)then Temp:=' '+Unite[U] else If (D=0)and (U>2)then Temp:=' '+Unite[U]; If (D=1) and (U<3) then Begin Dec(D); Inc(U,10); Temp:=' '+Unite[U]; End Else If (D=1) and (U>2)then Begin Temp:=' '+Unite[U]+' '+Dizaine[D]; fait:=true; End; If not fait then begin If i<>4 then begin If (U>0)and(T[i]mod 100>2) then Temp:=' '+Unite[U]; end else If (U>0) then Temp:=' '+Unite[U]; If (D>1) and (U>0) then Temp:=Temp+' æ'; If (D>=1) then Temp:=Temp+' '+Dizaine[D]; end; If Temp <>'' then Result:=' '+Temp+' '+Result; C:=(T[i] div 100) mod 10; //T[4]:=T[4] div 10; If C>0 then Begin Temp:=''; If C=2 then Temp:=Temp+' '+Ordre2[0] Else Begin If C>2 then Temp:=' '+Unite[C]+Temp; Temp:=Temp+' '+Ordre1[0]; End; If (Result<>'') and (T[i] mod 100 <> 0) then Result:=' æ'+Result; Result:=Temp+' '+Result; End; Case i of 4:If (T[3]>0)or(T[2]>0)or(T[1]>0) then Result:=' æ'+Result; 3:If (T[2]>0)or(T[1]>0) then Result:=' æ'+Result; 2:If (T[1]>0) then Result:=' æ'+Result; End; End; End; If T[1]>0 then Begin Result:=Ordre1[3]+' '+Result; End; End;
A+
Code : Sélectionner tout - Visualiser dans une fenêtre à part Label1.Caption:=convertir_chiffres_en_lettres_arabes(strtoint(edit1.Text));
Bon courage ou Bonne Chance (selon le contexte)
Mon blog sur WordPress
salut,
@ Gilbert Geyer :
c'est une bonne idée mais il y a un os:on ne peut pas convertir du français à l'arabe(traduction mot à mot) même avec l'aide de quelqu'un car pour une représentation textuelle en arabe,il faut toujours ajouter un mot:"et" qui est en arabe :"و" entre les milliers,les centaines,les dizaines...Suggestion : Pour convertir les chiffres arabes en leur représentation textuelle arabe, je procéderais en deux étapes :
1) Conversion des chiffres depuis la base 10 vers leur représentation textuelle française (on trouve des algos sur le net)
2) Puis conversion du français vers l'arabe avec l'aide de quelqu'un qui pratique cette langue.
@ Just-Soft:
salut
il y a plusieurs algo pour pour représenter les chiffres et en lettres arabes
et tous font bien ce travail.moi personnellement, j'utilise cet l'algo depuis pas mal de temps.
A+
Bonjour,
... rien n'empêche d'ajouter "et" traduit en "و"on ne peut pas convertir du français à l'arabe ... il faut toujours ajouter un mot:"et" qui est en arabe :"و"
... mais avec le nombre de codes qui ont été cités plus haut c'est devenu inutile de traduire en français avant de passer à l'arabe puisqu'il y en a maintenant plusieurs qui le font directement.
A+
N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi
salut,
oui rien n'empêche d'ajouter "et" traduit en "و" entre les milliers ,les centaines...
chaque langue a ses caprices.
Bref, j'ai testé ce code, mais DzBadBoy pourra l'utiliser pour ses factures dans le cas où son montant ne possède pas de virgule!
@DzBadBoy,je ne sais si ça te convient,à toi de voir.
il y a une autre fonction qui fait le même boulot,si ça t'interesse je te la posterai.
A+
Salut à tous,
Je suis le tout nouveau intéressé à un programme qui transforme un nombre (en chiffres) en un nombre littéral (en lettres) en langue arabe bien sur, et il serait préférable qu'il traite un fichier texte en entrée comprenant les chiffres, et qu'il fasse sortir un autre fichier texte contenant les nombres en lettres.
Je reprend ce message car le premier lien est mort.
Merci ^^
Bug 101000
il y a un probleme avec la fonction de NABiL on dit pas cent et mille
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager