Page 1 sur 1

[..] Problème de variables

Posté : lun. 27 juil. 2009 22:46
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

Re: [..] Problème de variables

Posté : lun. 27 juil. 2009 23:15
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.

Re: [..] Problème de variables

Posté : lun. 27 juil. 2009 23:30
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

Re: [..] Problème de variables

Posté : mar. 28 juil. 2009 02:34
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

Re: [..] Problème de variables

Posté : mar. 28 juil. 2009 13:58
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

Re: [..] Problème de variables

Posté : mar. 28 juil. 2009 14:36
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)

Re: [..] Problème de variables

Posté : mar. 28 juil. 2009 15:57
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

Re: [..] Problème de variables

Posté : mer. 29 juil. 2009 04:39
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

Re: [..] Problème de variables

Posté : mer. 29 juil. 2009 09:29
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

Re: [..] Problème de variables

Posté : mer. 29 juil. 2009 10:19
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)

Re: [..] Problème de variables

Posté : mer. 29 juil. 2009 11:08
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

Re: [..] Problème de variables

Posté : mer. 29 juil. 2009 11:42
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

Re: [..] Problème de variables

Posté : mer. 29 juil. 2009 23:29
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

Re: [..] Problème de variables

Posté : jeu. 30 juil. 2009 09:34
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

Re: [..] Problème de variables

Posté : jeu. 30 juil. 2009 09:47
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)