[R] Aide conversion d'un texte, phonétiquement

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
SmErT
Niveau 2
Niveau 2
Messages : 21
Enregistré le : jeu. 05 nov. 2009 11:15
Localisation : Algérie
Status : Hors ligne

[R] Aide conversion d'un texte, phonétiquement

#1

Message par SmErT »

voila l'idée :idea:
je veut écrire phonétiquement de français on russe ( convertir) en prennent un petit exemple sa donne sa :

texte d'entre : privet kak dila

français==>russe
a=а
d=д
i=и
k=к
p=п
r=р
t=т
v=в
.
.
.
texte de sortie : привет как дила
pour l'alphabet voir http://fr.wikipedia.org/wiki/Russe#Pron ... t_alphabet

donc mon problème c'est le script qui traite le texte.


voila la petite interface que j'ai débuter.
merci.
:D
Fichiers joints
fr to ru.au3
voila l'exemple de l'interface a gauche on introduit le texte en français et a droite il sort apprêt un traitement en Russe.
(291 Octets) Téléchargé 87 fois
Modifié en dernier par SmErT le ven. 02 avr. 2010 20:30, modifié 4 fois.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..]Aide conversion d'un texte, phonétiquement

#2

Message par orax »

Code : Tout sélectionner

MsgBox(0,"",conv_PrononciationFr_vers_Ru("abvgd"))

Func conv_PrononciationFr_vers_Ru($PrononciationFrancais)
    Local Const $fr="abvgd" ; etc.
    Local Const $ru = "aбвгд"

    Local $c=$PrononciationFrancais

    For $i=1 To StringLen($fr)
        $c=StringReplace($c,StringMid($fr,$i,1),StringMid($ru,$i,1))
    Next

    Return $c
EndFunc
Il ne reste qu'à remplir $fr et $ru dans l'ordre alphabétique (bien sûr, le nombre de caractères doit correspondre).
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
SmErT
Niveau 2
Niveau 2
Messages : 21
Enregistré le : jeu. 05 nov. 2009 11:15
Localisation : Algérie
Status : Hors ligne

Re: [..]Aide conversion d'un texte, phonétiquement

#3

Message par SmErT »

merci beaucoup orax je vais l'intègre a l'interface. :)
Avatar du membre
SmErT
Niveau 2
Niveau 2
Messages : 21
Enregistré le : jeu. 05 nov. 2009 11:15
Localisation : Algérie
Status : Hors ligne

Re: [R] Aide conversion d'un texte, phonétiquement

#4

Message par SmErT »

salut a toi orax
voila le problème c'est que les caractère c'est pas toujours 1c=1c mais 1c=2c et 1c=3c
donc

Code : Tout sélectionner

Local Const $fr="abvgd" ; etc.
    Local Const $ru = "aбвгд"
j'ai pansais a un petit tableau ou chaque caractère Français a sont équivalant en Russe.
mais voila comme je suis un débutant c'est difficile de maitre en application se que je dit.


a b v g d yè yo j z i y k l m n o p r s t ou f kh ts tch ch ch « i tendu ' è you ya
а б в г д е ё ж з и й к л м н І п р с т у ф х ц ч ш щ ъ ы ь э ю я

haaaa j'ai oublier

Code : Tout sélectionner

#include <GuiConstantsEx.au3>


GuiCreate("Sample GUI", 800, 600)

; EDIT FR
GuiCtrlCreateLabel("Français", 10, 30)
GuiCtrlCreateEdit(@CRLF & "", 10, 50, 380, 300)
; EDIT RU
GuiCtrlCreateLabel("Russe", 402, 30)
=GuiCtrlCreateEdit(@CRLF & "", 402, 50, 380, 300)

$btn = GUICtrlCreateButton("Ok", 375, 450, 60, 20)



; GUI MESSAGE LOOP
GuiSetState()
While GuiGetMsg() <> $GUI_EVENT_CLOSE
WEnd
ici c'est un petit code que je veux utiliser avec se programme :)

si l'écrite sur le edit Français je click sur ok et le texte sera automatiquement transmit ver edit Russe .
j'ai pas réussi a relier c'est 3 la .
merci.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Aide conversion d'un texte, phonétiquement

#5

Message par orax »

J'ai compris ce que vous voulez dire, mais par contre, quand il y a un "e", quelle est la conversion en russe ? e, ë ou э ? :mrgreen:
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Aide conversion d'un texte, phonétiquement

#6

Message par orax »

Bon, j'ai mis un э pour la conversion du e. Voilà une première version. Rien ne dit qu'il ne reste pas des erreurs.
► Afficher le texte
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Avatar du membre
arrkhan
Niveau 8
Niveau 8
Messages : 528
Enregistré le : sam. 17 nov. 2007 03:30
Status : Hors ligne

Re: [..] Aide conversion d'un texte, phonétiquement

#7

Message par arrkhan »

autre façon de faire en se prenant moins la tête ^^
► Afficher le texte
Avatar du membre
SmErT
Niveau 2
Niveau 2
Messages : 21
Enregistré le : jeu. 05 nov. 2009 11:15
Localisation : Algérie
Status : Hors ligne

Re: [R] Aide conversion d'un texte, phonétiquement

#8

Message par SmErT »

chapeau je m'incline.

merci a vous orax arrkhan c'est bien se que je chercher.

:D
Avatar du membre
SmErT
Niveau 2
Niveau 2
Messages : 21
Enregistré le : jeu. 05 nov. 2009 11:15
Localisation : Algérie
Status : Hors ligne

Re: [R] Aide conversion d'un texte, phonétiquement

#9

Message par SmErT »

Bonjours,
voila orax tous fonction très bien avec ton script, :oops: mais la je veux ajouter une interface graphique .
les explications sont dans le code.
► Afficher le texte
merci. :)
Avatar du membre
SmErT
Niveau 2
Niveau 2
Messages : 21
Enregistré le : jeu. 05 nov. 2009 11:15
Localisation : Algérie
Status : Hors ligne

Re: [..][R] Aide conversion d'un texte, phonétiquement

#10

Message par SmErT »

kou kou y a personne qui peut m'aide :?: .
Avatar du membre
SmErT
Niveau 2
Niveau 2
Messages : 21
Enregistré le : jeu. 05 nov. 2009 11:15
Localisation : Algérie
Status : Hors ligne

Re: [..][R] Aide conversion d'un texte, phonétiquement

#11

Message par SmErT »

hello,

alors y a personne qui peut m'aide :( .
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Aide conversion d'un texte, phonétiquement

#12

Message par ani »

pour le second edit indique une nouvelle variable
genre $PrononciationFrancais1 = GUICtrlCreateEdit("...

dans la boucle while teste ceux-ci

Code : Tout sélectionner

While 1
    $msg = GuiGetMsg() 
    Switch $msg
        Case $GUI_EVENT_CLOSE
            Exit
        case $Button            
            GUICtrlSetData($PrononciationFrancais1,conv_PrononciationFr_vers_Ru(GUICtrlRead($PrononciationFrancais)))
    EndSwitch
WEnd
dans le code t'a un GuiSetState() de trop, retire le ;)

voilàvoilà
j'ai pas pu tester donc :D

bonne continuation
Avatar du membre
SmErT
Niveau 2
Niveau 2
Messages : 21
Enregistré le : jeu. 05 nov. 2009 11:15
Localisation : Algérie
Status : Hors ligne

Re: [..] Aide conversion d'un texte, phonétiquement

#13

Message par SmErT »

ben oufffff mon petit programme a abouti un grand merci a ORAX , ANI et ARRKHAN.donc voila:

Code : Tout sélectionner

#include <GuiConstantsEx.au3>
#Include <GuiEdit.au3>


;creation de l'interface graphique.
$Gui = GUICreate("Fr to Ru", 800, 600)

GUICtrlCreateLabel("Texte en français : ", 10, 10)
;je tape mon texte
$PrononciationFrancais = GUICtrlCreateEdit("", 10, 30, 780, 250) ;la j'ai pas pu faire introduire cette ligne en tant que variable.

;puis la je clique sur le bouton.
$Button = GUICtrlCreateButton(" Transcoder en russe ", 10, 290); mais j'ai aucune idee pour commander la traduction avec le bouton.

;et la le texte sera Transcoder en russe a l'aide de ton script
$PrononciationRusse = GUICtrlCreateEdit(conv_PrononciationFr_vers_Ru(""), 10, 325, 780, 250);sa veux dire salut comment ça va lol

GUISetState()



Func conv_PrononciationFr_vers_Ru($PrononciationFrancais)


    ; séparateur pour déterminer si l'élément a déjà été converti
    Local Const $S="/"

    Local Const $NB_CARACTERES=41
    ; IMPORTANT : les caractères sont à placer dans l'ordre prioritaire
    Local Const $fr[$NB_CARACTERES] = ["ie", "ye", "io", "yo", "kh", "ts", "chtch", "iou", "ïou", "you", "ia", "ïa", "ya", "ou", "tch", "ch", "а",  "b",  "v",  "g", "d", "j", "z", "i", "ï", "k", "l", "m", "n", "o", "p", "r", "s", "t", "u", "f", "h", '"', "y", "'", "e"]
    Local Const $ru[$NB_CARACTERES] = ["е",  "е",  "ë",  "ë",  "х",  "ц",  "щ",     "ю",   "ю",   "ю",   "я",  "я",  "я",  "у",  "ч",   "ш",  "a",  "б",  "в",  "г", "д", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ъ", "ы", "ь", "э"]

    Local $c=$PrononciationFrancais

    ; double la chaine repréntant le séparateur pour la reconnaître
    $c=StringReplace($c,$S,$S & $S)
   
   
    ; remplacement des caractères
    For $i=0 To $NB_CARACTERES-1
        $c=StringRegExpReplace($c,$fr[$i] & "(?=" & $S & $S & "|[^/]|)",$ru[$i] & $S)
    Next

    ; supprime les séparateurs ajoutés
    $c=StringRegExpReplace($c,$S & "(?!" & $s & ")","")
    $c=StringReplace($c,$S & $S,$S)
   
   
    Return $c
EndFunc

While 1
    $msg = GuiGetMsg()
    Switch $msg
        Case $GUI_EVENT_CLOSE
            Exit
        case $Button           
            GUICtrlSetData($PrononciationRusse,conv_PrononciationFr_vers_Ru(GUICtrlRead($PrononciationFrancais, 1)))
    EndSwitch
WEnd
 
aaaa il y a un affichage bizarre "" a b c d e f ==> a б c д э Ñ„ "" je c'est que c'est pas un problème de Autoit mais de windows, alors y-a-il un moyen de remédier a ca en forcent Windows au UTF-8 ou UNICODE ?

c'est ma dernière Question :oops:
Modifié en dernier par SmErT le ven. 02 avr. 2010 20:20, modifié 1 fois.
Eliferion
Niveau 1
Niveau 1
Messages : 3
Enregistré le : jeu. 05 juin 2008 14:50
Status : Hors ligne

Re: [..] Aide conversion d'un texte, phonétiquement

#14

Message par Eliferion »

Bonjour SmErT,

Excuse moi mais je crois qu'il faut saisir :

Code : Tout sélectionner

GUICtrlSetData($PrononciationRusse,conv_PrononciationFr_vers_Ru(GUICtrlRead($PrononciationFrancais[b], 1)[/b])
 
au lieu de :

Code : Tout sélectionner

GUICtrlSetData($PrononciationRusse,conv_PrononciationFr_vers_Ru(GUICtrlRead($PrononciationFrancais)))
 

Code : Tout sélectionner

TestFrançais = GUICtrlRead($PrononciationFrancais, 1) ; tu obtiens le contenu texte de ton controle
 
Sinon je ne vois pas comment tu agis sur le texte dans ta fonction, tu ne semble pas traiter ce qui est entre les () : conv_PrononciationFr_vers_Ru(xxxxxx)

Pour les traitements utf-8 un petit tour sur autoscript.com et j'ai trouvé ce lien :
http://www.autoitscript.com/forum/index ... opic=93293

J'espère que ça t'aidera.

Bonne continuation.
Avatar du membre
SmErT
Niveau 2
Niveau 2
Messages : 21
Enregistré le : jeu. 05 nov. 2009 11:15
Localisation : Algérie
Status : Hors ligne

[R] Aide conversion d'un texte, phonétiquement

#15

Message par SmErT »

salut a toi Eliferion merci pour le cous de main. :D
Répondre