Page 1 sur 1

[R] Structure avec tableau?

Posté : dim. 24 avr. 2011 23:50
par Nilak
Bonsoir,

Je tente dans un programme d'avoir une gestion des profils... Actuellement j'utilise un fichier texte avec un stringsplit et des retours de chariots... Que je supprime et je recrée... Une grosse usine à gaz qui au bout d'un moment s'écroule et devient inutilisable.

Je cherche à enregistrer un nom unique, une donnée et une autre donnée... J'ai voulu utiliser un tableau à 2 dimensions comme ça:

Code : Tout sélectionner

 $tableau[0][2]
$tableau[0][0] = $nom_unique
$tableau[0][1] = $donnee
$tableau[0][2] = $donnee_autre
Mais j'ai l'impression que la fonction _FileWriteFromArray ne fonctionne pas avec un tableau 2D car j'ai un gros message d'erreur de la fonction file.au3.

J'aurai donc voulu créer un tableau avec des données d'une structure du genre:

Code : Tout sélectionner

 $tableau[0].nom_unique
$tableau[0].donnee
$tableau[0].donnee_autre
$tableau[1].nom_unique
[...]
Mais je ne sais pas du tout si c'est possible de faire ça... Est ce que c'est possible? Si oui comment faire car j'ai du mal a trouver des informations sur les structures avec autoit....

Merci bien et bonne nuit!

Re: [..] Strucute avec tableau?

Posté : lun. 25 avr. 2011 00:03
par GaRydelaMer
Bonsoir

tu as plusieurs autres solutions pour faire ca, ton cas est typique du format de fichier ini.

Avec pour section le Nom unique:

Code : Tout sélectionner

[uni1]
data1=
data2=
[uni2]
data1=
data2=
Regarde du coté des fonction iniwrite, iniread(), ensuite pour modifier, lire.

Autre solution du XML, ou une base de données.

Re: [..] Strucute avec tableau?

Posté : lun. 25 avr. 2011 13:10
par Nilak
Hum je vais regarder du coté du fichier .ini mais ça ne me parait pas très propre comme solution... Notamment pour supprimer, mais pourquoi pas. Pour la base de données, est ce que autoit peut lire et écrire un fichier csv? (ou autre)

Ça à l'avantage de transporter les données en déplaçant uniquement le .exe et le .csv... ^^

Re: [..] Strucute avec tableau?

Posté : lun. 25 avr. 2011 15:15
par jchd
SQlite est accessible par une UDF standard et te permet de résoudre la question facilement.
Autre avantages : si ton problème se complexifie par la suite, tu n'auras pas besoin de casser une solution boîteuse pour en créer une nouvelle, une base SQLite est très flexible et très puissante.
De plus si ton volume de données augmente (qu'en sais-je ?) la solution SQLite sera toujours aussi adaptée.
Enfin, ça te fera une première expérience avec un moteur RDBMS qui te servira certainement par la suite.

Re: [..] Strucute avec tableau?

Posté : lun. 25 avr. 2011 18:20
par zeshrek
bin je sais pas mais pour moi tu as un bug des la première ligne du code que tu nous as mis en exemple.

Code : Tout sélectionner

 $tableau[0][2]
$tableau[0][0] = $nom_unique
$tableau[0][1] = $donnee
$tableau[0][2] = $donnee_autre
$tableau[0][2] ca veut rien dire !
soit te mets un local/global/dim avant pour déclarer ton tableau, soit tu las supprimes
par contre si tu t'en sers pour dimensionner ton tableau, remplace le 2 par un 3, parceque tu as 3 valeurs, numérotées de 0 a 2.

Sinon, je suis pas sur que _FileWriteFromArray() fonctionne effectivement avec un tableau 2D...

Re: [..] Strucute avec tableau?

Posté : lun. 25 avr. 2011 20:04
par matwachich
Voila une solution toute simple en fonctions (à adapter)
PS: Je l'ai fait sans utiliser Array.au3 justement pour montrer comment bidouiller les tableaux, qui au début nous paraissent immangeables mais qui une fois maitrisés, s'avèrent être d'une puissance redoutable!
► Afficher le texte

Re: [..] Structure avec tableau?

Posté : mar. 26 avr. 2011 17:18
par Nilak
Merci bien pour toutes ces réponses, je passe le sujet en résolu.