Page 1 sur 1

[..] Lire ligne tableau

Posté : mar. 21 juin 2011 09:48
par jcaspar
B :mrgreen: onjour à tous !

Je souhaite créer un petit traducteur en partant
d'un tableau ( array ).

avec la fonction stringinstr je recherche le mot dans le tableau
ensuite je souhaiterais afficher la ligne complète ou se trouve le mot
pourriez vous svp m'expliquer comment faire ?

Je vous remercie d'avance pour vos conseils ! :wink:

Code : Tout sélectionner

#include <Array.au3>    

    ;AutoItSetOption("MustDeclareVars", 1)
    AutoItSetOption("MouseCoordMode", 0)
    AutoItSetOption("PixelCoordMode", 0)
    ;AutoItSetOption("RunErrorsFatal", 0)
    ;AutoItSetOption("TrayIconDebug", 1)
    ;AutoItSetOption("WinTitleMatchMode", 4)
     
            
    dim $tab_couleur[200][3]
     
    ;amour
    $tab_couleur[0][0] = "amour"
    $tab_couleur[0][1] = "amor"
    $tab_couleur[0][2] = "liebe"
 
     
    ; marcher
    $tab_couleur[1][0] = "marcher"
    $tab_couleur[1][1] = "walk"
    $tab_couleur[1][2] = "gehen"
    
     
    ;courir
    $tab_couleur[2][0] = "courir"
    $tab_couleur[2][1] = "run"
    $tab_couleur[2][2] = "rennen"
    
     
    ;~ recherche 4
    $tab_couleur[3][0] = "dormir"
    $tab_couleur[3][1] = "sleep"
    $tab_couleur[3][2] = "schlfen"
    
     
   
     
      
     
_ArrayDisplay($tab_couleur)
_ArraySort($tab_couleur,0,0,0,0)
_ArrayDisplay($tab_couleur, "$avArray AFTER _ArraySort() descending" )
MsgBox(0, "_ArrayToString() getting $avArray items 1 to 7", _ArrayToString($tab_couleur, @TAB, 200, 3))
$recherche=InputBox("Veuilliez preciser votre recherche","recherche","")
local $recherche
$tt=StringInStr($recherche,$tab_couleur)
msgbox(48,"test",$tt,5)

 

Re: [..] Lire ligne tableau

Posté : mar. 21 juin 2011 11:46
par ZDS
Bonjour,

J'ai modifié quelque peu ton code pour essayer d'être le plus clair possible; mais dans l'ensemble ça se rapproche de ce que tu souhaites :
- Pour chaque ligne de ton tableau :
- - On garde en mémoire le numéro de ligne
- - Pour chaque colonne de ton tableau
- - - On teste les valeurs
- - Si on trouve au moins une correspondance
- - - On enregistre le numéro de ligne dans le résultat
- On retourne le résultat

Voila, le tableau obtenu est un tableau "classique" AutoIt : l'élément [0] contient le nombre de résultat trouvés, les éléments [1] à [n] contiennent les numéros de ligne de ton tableau de départ qui répondent bien à ta recherche.

A bientôt !
► Afficher le textefindWordInArray
EDIT: J'ai pas osé le dire, Matwachich a raison : ton programme aura beau fonctionner, si tu comptes que sur l'algo pour faire une recherche aussi complexe tu risques d'avoir de sacrées lenteurs.

Re: [..] Lire ligne tableau

Posté : mar. 21 juin 2011 16:07
par matwachich
Pour un traducteur, si il compte contenir plusieurs mots, une base de données serait plus pratique! (SQLite)

Re: [..] Lire ligne tableau

Posté : mar. 21 juin 2011 17:36
par jchd
Tu m'enlèves le mot de la bouche !

Re: [..] Lire ligne tableau

Posté : mar. 21 juin 2011 20:33
par mikell
@jchd
tiens d'ailleurs à ce propos, un p'tit tutoriel ... :mrgreen: