IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Delphi Discussion :

convertir chiffre en lettre arabe


Sujet :

Langage Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 39
    Points : 24
    Points
    24
    Par défaut convertir chiffre en lettre arabe
    je cherche une solution pour convertir chiffre en lettre arabe pour Total d'une Facture

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    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 -

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2008
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 39
    Points : 24
    Points
    24
    Par défaut convertir chiffre en lettre
    je cherche la solution pour édition d'un Total en Chiffres et en Lettre arabe

  4. #4
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    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 -

  5. #5
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    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

  6. #6
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    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

  7. #7
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    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

  8. #8
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    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:
    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;
    pour afficher le résultat de la convertion,il suffit d'écrire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Label1.Caption:=convertir_chiffres_en_lettres_arabes(strtoint(edit1.Text));
    A+

  9. #9
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 304
    Points
    2 304
    Par défaut
    Salut;

    Citation Envoyé par NABIL74 Voir le message
    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:
    A+
    non non et non ce n'est pas la même (avec certitude) mais l'algo est, d'après le code, semblable

    Bonne chance.
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  10. #10
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    salut,
    @ Gilbert Geyer :
    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.
    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...

    @ 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+

  11. #11
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Points : 3 263
    Points
    3 263
    Par défaut
    Bonjour,

    on ne peut pas convertir du français à l'arabe ... il faut toujours ajouter un mot:"et" qui est en arabe :"و"
    ... rien n'empêche d'ajouter "et" traduit en "و"
    ... 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

  12. #12
    Membre confirmé
    Homme Profil pro
    Enseignant
    Inscrit en
    Août 2008
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 666
    Points : 643
    Points
    643
    Par défaut
    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+

  13. #13
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 9
    Points : 11
    Points
    11
    Par défaut
    Citation Envoyé par Gilbert Geyer Voir le message
    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
    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 ^^

  14. #14
    Membre éprouvé
    Avatar de Montor
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2008
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2008
    Messages : 879
    Points : 963
    Points
    963
    Par défaut
    Bug 101000
    il y a un probleme avec la fonction de NABiL on dit pas cent et mille

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/04/2012, 16h44
  2. convertir chiffre en lettre arabe
    Par infomap dans le forum VBA Access
    Réponses: 1
    Dernier message: 16/11/2011, 17h24
  3. oracle + convertir chiffres en lettres
    Par florine dans le forum SQL
    Réponses: 60
    Dernier message: 21/07/2011, 14h52
  4. convertir chiffre en lettre arabe
    Par infomap dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/04/2011, 19h39
  5. [VB]Convertir chiffres en lettres
    Par RichY dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 16/02/2006, 14h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo