[R] Détruire une variable

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Avatar du membre
A2Energie
Niveau 5
Niveau 5
Messages : 146
Enregistré le : ven. 15 nov. 2013 20:22
Status : Hors ligne

[R] Détruire une variable

#1

Message par A2Energie »

Bonjour a tous,

Je ne sais pas si cela est possible mais voila :

Je crée un nombre assez important de variable via Assign(), et par acquis de conscience j'aimerais en supprimer un certain nombre pour éviter d'en créer (trop).
Oui c'est assez étrange, mais je me demandais tout simplement s'il est possible de supprimer définitivement une variable ?

Code : Tout sélectionner

; Creation de variable
For $i = 1 To 15
Assign("var" & $i, "string " & $i, 2)
Next

; Suppression de variable
For $i = 1 To 15
If IsDeclared("var" & $i) Then
; Supprimer ma variable
; --------------------------
If IsDeclared("var" & $i) Then Msgbox(0,"Probleme","Variable non supprimée")
EndIf
Next
 
Modifié en dernier par A2Energie le mar. 31 mars 2015 14:54, modifié 1 fois.
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Détruire une variable

#2

Message par jguinch »

Je ne crois pas qu'on puisse détruire une variable (il faudrait une confirmation d'un expert)
En général, on lui affecte la valeur 0 pour libérer la mémoire utilisée.
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..] Détruire une variable

#3

Message par jchd »

Toute variable sortant de la portée locale se voit détruite.

Ce qui me chiffonne beaucoup c'est le besoin de créer des varaibles par Assign.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
A2Energie
Niveau 5
Niveau 5
Messages : 146
Enregistré le : ven. 15 nov. 2013 20:22
Status : Hors ligne

Re: [..] Détruire une variable

#4

Message par A2Energie »

Bonjour et merci pour vos réponses.

En effet pour la variable local. Mais dans le cas présent c'est du Global.

Peut être que je m'y prends mal, ce n'est peut être pas normal de créer autant de variables.
Je crée des variables pour affecter les item d'un arbre : GUICtrlCreateTreeViewItem
Afin de les réutiliser ultérieurement.
Je fais par exemple :

Code : Tout sélectionner

$TreeFichier = GUICtrlCreateTreeViewItem("text", "Dossier")
assign("ma variable incrémentée", $TreeFichier, 2)
Avatar du membre
jguinch
Modérateur
Modérateur
Messages : 2515
Enregistré le : lun. 14 févr. 2011 22:12
Status : Hors ligne

Re: [..] Détruire une variable

#5

Message par jguinch »

Dans ce cas, il faut utiliser un tableau :

Code : Tout sélectionner

Local $aItems[10]
For $i = 0 To UBound($aItems) - 1
GUICtrlCreateTreeViewItem("Item" & $i, $idTreeview)
For
Le script, ça fait gagner beaucoup de temps... à condition d'en avoir beaucoup devant soi !
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Détruire une variable

#6

Message par mikell »

jchd a écrit :Ce qui me chiffonne beaucoup c'est le besoin de créer des varaibles par Assign.
+1
Surtout qu'un besoin véritable d'utiliser Assign est rarissime et qu'un tableau offre infiniment plus de souplesse et de sécurité
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
A2Energie
Niveau 5
Niveau 5
Messages : 146
Enregistré le : ven. 15 nov. 2013 20:22
Status : Hors ligne

Re: [..] Détruire une variable

#7

Message par A2Energie »

Bonjour,

Voila qui est dit,
Script à revoir :lol:

Merci pour votre aide, en effet je m'y prenais mal je vais donc utiliser un tableau.

Pour répondre à la question principale,
il ne semble pas possible de détruire une variable.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [R] Détruire une variable

#8

Message par jchd »

pas possible de détruire une variable
Globale ou statique : non. Pas plus d'ailleurs en AutoIt que dans beaucoup d'autres langages dits "conventionnels".
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Répondre