Pedro
Nombre de messages : 1596 Date d'inscription : 19/01/2014
| Sujet: Optimisation d'une sub. Lun 21 Déc 2015 - 20:08 | |
| Bonsoir à tous. Selon vous, est-il encore possible d'améliorer ce petit bout de code ? Cela me semble difficile, mais sait on jamais. Je n'ai pas inclus les déclarations initiales. - Code:
-
fichier$="fichiers\locutions_"+langue_source$+"_"+langue_cible$+".txt" dlist 2500 hnd%=object_internal(2500) file_load 2500,fichier$
dlist 4 hnd98%=object_internal(4)
c$=string$(255," ") f$="/"+str$(nombre_mots_a_traduire%)+"), patientez..." for k%=1 to nombre_mots_a_traduire%-1 ' On recherche les 2 ou 3 mots du texte à traduire qui se suivent. b$=item_read$(2,k%+1) element$=trim$(lower$(item_read$(2,k%)+" "+b$+" ")) if b$="'" then element$=element$+trim$(lower$(item_read$(2,k%+2))) caption 0,"Recherche des expressions idiomatiques, en cours...('"+element$+"', n° "+str$(k%)+f$
res%=dll_call3("SearchStringList",hnd%,adr(element$),adr(c$))
if res%>0 l%=len(element$) while 0=0 e$=item_read$(2500,res%) if left$(lower$(e$),l%)<>element$ then exit_while
' Locution déjà enregistrée ? x%=dll_call3("SearchStringList",hnd98%,adr(e$),adr(c$))
' Locution non enregistrée et ses 5 derniers caractères figurant dans la traduction ? if x%=0 enlever_parentheses_et_crochets(trim$(left$(e$,instr(e$,"=")-1))) if left$(e$,10)<>"en train ;" and instr(chaine$,right$(epc$,5)+" ")>0 then item_add 4,e$ end_if res%=res%+1 end_while end_if
next k% | |
|