[..] Problème de variables

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
coke
Niveau 2
Niveau 2
Messages : 17
Enregistré le : mer. 04 févr. 2009 15:36
Status : Hors ligne

[..] Problème de variables

#1

Message par coke »

Bonjour,
Voilà mon problème qui me hante depuis plusieur jours. Je signale que je ne suis pas dévellopeur de formation donc je n'utilise peut-être pas la bonne mécanique.

J'ai un fichier texte du type
► Afficher le texte
Je l'insère dans une array en 2D

ensuite je voudrais faire une boucle qui va m'incrementer des variable grâce a l'array

ex: Code rêver et non réel

Code : Tout sélectionner

For $iLine = 1 To $iCnt
    $a[$iLine]=$arrayHDD[$iLine][0]
    $b[$iLine]=$arrayHDD[$iLine][1]
    $c[$iLine]=$arrayHDD[$iLine][2]
    $d[$iLine]=$arrayHDD[$iLine][3]
Next
 
Ce qui devrait donner $a1 $b1 .... au prochains tour de boucle $a2 $b2 .... ect.....
ce qui me permettrait de créer mes labels pour mon interface graphique

Jespère avoir était clair sinon je suis a votre disposition et biensûr a tout nouvelle methode pour faire sa.

Merci a tous
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Problème de variables

#2

Message par timmalos »

Code : Tout sélectionner

For $iLine = 1 To $iCnt
    $a[$iLine]=$arrayHDD[$iLine][0]
    $b[$iLine]=$arrayHDD[$iLine][1]
    $c[$iLine]=$arrayHDD[$iLine][2]
    $d[$iLine]=$arrayHDD[$iLine][3]
Next
Ceci va vou sdonner plutot 4 arrays, $a, $b, $c, $d (qu'il faudra au prealable déclarer en array) et pour pouvoir creer vos labels/bouttons après il faudra utilsier $a[1], $a[2],$b[1],$b[2],$b[3],etc

Sinon vous pouvez creer vos labels/bouttons sans passer par des variables, en mettant la fonction directement dans la boucle, et dernierement si vous voulez obtenir ce qu'on appelle des variables dynamiques, $a1, $a2, etc... il va falloir passer par la fonction Assign() et Eval() Cf Aide les exemples permettent de comprendre facilement.
coke
Niveau 2
Niveau 2
Messages : 17
Enregistré le : mer. 04 févr. 2009 15:36
Status : Hors ligne

Re: [..] Problème de variables

#3

Message par coke »

$a[$iLine] est pour l'exemple c'est pour expliquer le fait que le nom de la variable doit s'incrementer de la valeur de $iLine

je vais etudier assign()

Merci
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [..] Problème de variables

#4

Message par SagePourpre »

Si j'ai bien compris, tu veux créer un nombre X de labels à partir des informations
récupérées sur un fichier texte de façon automatique...

Voilà un exemple (utilisant Assign et Eval)
de boutons crées en boucles selon un fichier ini.
► Afficher le texte
Modifié en dernier par Tlem le mar. 28 juil. 2009 11:54, modifié 1 fois.
Raison : Ajout balise spoiler
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
coke
Niveau 2
Niveau 2
Messages : 17
Enregistré le : mer. 04 févr. 2009 15:36
Status : Hors ligne

Re: [..] Problème de variables

#5

Message par coke »

Oui c exactement sa mais avec des labels masi c'est pareil.
en revanche j'ai du mal a dechiffrer tout le code tu pourrait me faire un exemple plus light.
je débute en programation.

Merci encore
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [..] Problème de variables

#6

Message par SagePourpre »

C'est un exemple simple :D



Revoilà l'exemple, cette fois-ci commenté du mieux que j'ai pu

► Afficher le texte

Mais si tu me donnes un exemple de ce que tu veux faire exactement, je peux te faire un script exemple
qui va ressembler plus à ce que tu veux.


coke a écrit :Bonjour,
Voilà mon problème qui me hante depuis plusieur jours. Je signale que je ne suis pas dévellopeur de formation donc je n'utilise peut-être pas la bonne mécanique.

J'ai un fichier texte du type
HDD1|343566434|2009/07/10|tech
HDD2|344324534|2009/07/10|tech
HDD3|398987634|2009/07/10|tech[/spoiler]

Ton fichier texte... ses infos que je vois, j'ai mal saisi ce que tu voulais en faire exactement...


Tu dis vouloir le mettre dans un tableau en deux dimensions...

En reprenant l'exemple de ta première ligne... à quoi ressemblerait ton label à partir de ses informations ?

HDD1|343566434|2009/07/10|tech



Tout ça serait dans le label ?

$label = HDD1|343566434|2009/07/10|tech


ou chacunes des infos seraient dans des labels différents ?

$label1 = HDD1
$label2 = 343566434
$label3 = 2009/07/10
$label4 = tech


Si je comprends la forme que tu veux donner, je vais peut-être pouvoir faire un exemple à partir des
infos que tu m'as fourni.

(J'ai presque rien compris du premier post :S)
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
coke
Niveau 2
Niveau 2
Messages : 17
Enregistré le : mer. 04 févr. 2009 15:36
Status : Hors ligne

Re: [..] Problème de variables

#7

Message par coke »

SagePourpre a écrit : Ou chacunes des infos seraient dans des labels différents ?

$label1 = HDD1
$label2 = 343566434
$label3 = 2009/07/10
$label4 = tech
C'est exactement sa...

Voila ce que je voudrais au finale
Image

le fichier txt du debut me permet de generer un bloc par disque dur, je ne sais pas combien je vasi avoir de disque c'est pour sa que j edoit faire une boucle pour generer a partir du TXT le label statut et generer en calculant la difference entre la date de la derniere synchro et la date actuelle
jespère avoir étati plus clair et encore un grand merci
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [..] Problème de variables

#8

Message par SagePourpre »

Voilà ... dans cet exemple, je n'ai pas utilisé Assign et Eval puisque en fait, dans ce cas-ci, ce n'était pas nécessaire.


Et je l'ai totalement expliqué étapes par étapes....


Le plus dur, outre le rapatriement des infos, c'est le positionnement dynamique.

Il n'y a pas vraiment de méthode plus "simple" pour le faire (du moins pas à ma connaissance)

Tous les CW peuvent être retirés... ils servent seulement à écrire les infos dans la console pour te donner
une idée de ce que font chaque fonctions avec les informations tirées du fichier texte...
un fichier texte que tu devras créer et appeler 1.txt (ou sinon, change la variabe $txt pour le nom du fichier)

Les informations doivent être écrit exactement comme dans ton exemple pour que ça fonctionne... puisque c'est ce que j'ai
utilisé comme base....

Tu ne peux qu'avoir 4 disques dur d'afficher sur la gui (s'il y'en a plus, les autres ne seront pas visible)

À toi de modifier la gui selon tes besoins ou d'en tirer les infos nécessaires. :)
► Afficher le texte
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
coke
Niveau 2
Niveau 2
Messages : 17
Enregistré le : mer. 04 févr. 2009 15:36
Status : Hors ligne

Re: [..] Problème de variables

#9

Message par coke »

C impeccable, c exactement sa, un grand merci...
j'essaye de comprendre comment creer des groupe en 3 colonne au lieu de 2 mais c un peu complexe pour moi
si tu a un tuyau de plus...

Une autre petite question au sujet des groupes comment si c possible mettre une image dedans car sa ne marche pas rien ne s'affiche

Encore un grand merci pour ta patience et ton aide
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [..] Problème de variables

#10

Message par SagePourpre »

coke a écrit :C impeccable, c exactement sa, un grand merci...
j'essaye de comprendre comment creer des groupe en 3 colonne au lieu de 2 mais c un peu complexe pour moi
Les colonnes sont gérées par int($i/2) ou 2 = le nombre de colonne... En le mettant à 3, ça devrait le faire :)


coke a écrit :
Une autre petite question au sujet des groupes comment si c possible mettre une image dedans car sa ne marche pas rien ne s'affiche

Encore un grand merci pour ta patience et ton aide
GuiCtrlCreatePic... (Tu dois utiliser un format compatible... de mémoire, Gif, Bmp,Jpg ... écrit GuictrlCreatePic dans ScIte et puis fais F1 ...
le programme d'aide va s'ouvrir directement sur la fonction)
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
coke
Niveau 2
Niveau 2
Messages : 17
Enregistré le : mer. 04 févr. 2009 15:36
Status : Hors ligne

Re: [..] Problème de variables

#11

Message par coke »

SagePourpre a écrit :
coke a écrit :C impeccable, c exactement sa, un grand merci...
j'essaye de comprendre comment creer des groupe en 3 colonne au lieu de 2 mais c un peu complexe pour moi
Les colonnes sont gérées par int($i/2) ou 2 = le nombre de colonne... En le mettant à 3, ça devrait le faire :)
C géniale sa marche nikel tu est un boss

en revanche pour le guicreatPIC marche pas dans $gui pas de problème masi a l'interieur d'un group marche pas
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [..] Problème de variables

#12

Message par SagePourpre »

coke a écrit :
SagePourpre a écrit :
Les colonnes sont gérées par int($i/2) ou 2 = le nombre de colonne... En le mettant à 3, ça devrait le faire :)
C géniale sa marche nikel tu est un boss

en revanche pour le guicreatPIC marche pas dans $gui pas de problème masi a l'interieur d'un group marche pas


Si ça marche ! :P


Essaye de mettre

Code : Tout sélectionner

GUICtrlCreatePic($pic,$gx+80,$gy+$cy*30 ,20,20)
après ces 2 lignes

Code : Tout sélectionner

GUICtrlCreateLabel($nserie,$gx+110,$gy+$cy*30,100,20,$SS_NOTIFY)
GUICtrlSetOnEvent(-1,"labelclick")

Et rajoute au début du code la variable $pic = "Nom d'un fichier.jpg"


Chez moi je l'ai fait et ça a marché sans problème ...

Le seul problème que je peux voir c'est que tu as essayé d'utiliser un format de fichier non compatible avec GuiCtrlCreatePic
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
coke
Niveau 2
Niveau 2
Messages : 17
Enregistré le : mer. 04 févr. 2009 15:36
Status : Hors ligne

Re: [..] Problème de variables

#13

Message par coke »

grâce a ton aide g pue passer a l'etape 2 qui est d'alimenter le fichier txt, je n'ai pas trouver de fonction qui me permette de modifier une valeur dans la ligne du fichier txt g peur de devoir passer par un fichier INI qui est plus pratique pour ce genre de chose mais le prob c que ton super script qui marche a la perfection est avec mon fichier txt de départ et non un INI
qui d'ailleur ressemblerai a sa

Code : Tout sélectionner

HDD1]
SERIAL=5222552
DSYNCRO=2009/07/10
TECH=moi
[HDD2]
SERIAL=434555
DSYNCRO=2009/06/10
TECH=moi
[HDD3]
SERIAL=2355646
DSYNCRO=2009/06/10
TECH=moi
 
si tu a aussi une methode pour mon fichier txt de départ je suis preneur.
merci encore 10000 fois
Avatar du membre
timmalos
Niveau 11
Niveau 11
Messages : 1970
Enregistré le : dim. 18 mai 2008 15:16
Status : Hors ligne

Re: [..] Problème de variables

#14

Message par timmalos »

:arrow: Même si ton fichier texte n'a pas l'extension .ini, les commandes IniWrite et IniRead Marchent, et c'est exactement ce qu'il te faut ici. Un coup d'oeil sur l'aide et tu aura toutes tes réponses.

:arrow: Si tu veux regarder quelque chose de plus complet, va ici c'est un petit programme qui montre aussi tous les disques avec Asign() et Eval(), leur nom, leur numéro de série, la place totale et la place disponible. Tu peux regarder comment j'obtiens les infos ( par contre je ne les stocke pas dans un .ini, c'est le programme qui garde en mémoire) et comment je les affiche. Aide toi du code source :)
http://www.autoitscript.fr/forum/viewto ... f=6&t=1992
SagePourpre
Niveau 7
Niveau 7
Messages : 442
Enregistré le : dim. 06 juil. 2008 09:11
Status : Hors ligne

Re: [..] Problème de variables

#15

Message par SagePourpre »

Effectivement, pour pouvoir modifier et réécrire, tu as besoin d'utiliser Assign et Eval pour stocker les contrôles en mémoires...

(Comme dans les deux premier exemple de ce thread)
Le Sage Pourpre, pour qui la vie est tellement
plus belle vue du haut de son Pouf = )
Répondre