Structure type_objet_tmp
quan.l
energie.l
couleur.l
interet.s
secret.s
ligne.l
dernier.l
sens.s
cibx.l
ciby.l
cibz.l
production.s
reorganiser.l
recherche.l
mvt.s
Array file_prod.s (11)
EndStructure
Global ff.type_objet_tmp
Global tt.type_objet_tmp
ff\file_prod(1) = "10"
tt\file_prod(8) = "unite"
Procedure ver()
Debug ff\file_prod (1)
ff\file_prod(1) = tt\file_prod(8)
ClearStructure(@ff,type_objet_tmp) ;si on remplace @ff par @ff1 on a une remarque mais elle n'est pas assez explicite !
;ff.type_objet_tmp
;ff\file_prod (1) = "unite speciale"
EndProcedure
ver()
;Global ff.type_objet_tmp
ff\file_prod (1) = "unite speciale"
Debug ff\file_prod(1)
Debug tt\file_prod(8)
Debug "======"
J'ai un joli message d'erreur quand je lance ce petit prog ! J'ai fait quelques tests avec les lignes en remarques mais je n'arrive plus à utiliser la variable ff\file_prod ....
Le Pb vient de Clearstructure car cette instruction vide la structure complètement
la taille de la zone array ff\file_prod(11) devient après cette instruction ff\file_prod() cette zone est sans dimension d'où l'erreur.
Il faut éviter d'utiliser cette instruction avec des tableaux définis avec ARRAY.
Et Il existe d'autres possibilités pour définir des tableaux.
ClearStructure vide la zone mémoire structurée et met la valeur de tous les champs à zéro. C'est particulièrement utile quand la structure contient des chaînes de caractères qui ont été allouées en interne par PureBasic. 'Structure' est le nom de la structure qui sera utilisée pour effectuer le nettoyage. Il n'y a pas de contrôle pour s'assurer que la zone mémoire est bien du type 'Structure' spécifié, donc il est impératif de manipuler cette commande avec précaution.
Exemple:
Structure People
Name$
LastName$
Age.l
EndStructure
; Affichera des chaines vide, car la structure entiere a ete videe. Tous les autres champs ont ete remis a zero
;
Debug Student\Name$
Debug Student\LastName$
Debug Student\Age
Il est fort peu probable que les mêmes causes ne produisent pas les mêmes effets.(Einstein)
Et en logique positive cela donne. Il est très fortement probable que les mêmes causes produisent les mêmes effets.
Structure type_objet_tmp
quan.l
energie.l
couleur.l
interet.s
secret.s
ligne.l
dernier.l
sens.s
cibx.l
ciby.l
cibz.l
production.s
reorganiser.l
recherche.l
mvt.s
Array file_prod.s(11)
EndStructure
Global ff.type_objet_tmp
Global tt.type_objet_tmp
ff\file_prod(1)="10"
tt\file_prod(8)="unite"
Procedure ver()
Debug ff\file_prod(1)
ff\file_prod(1)=tt\file_prod(8)
ClearStructure(@ff,type_objet_tmp) ;si on remplace @ff par @ff1 on a une remarque mais elle n'est pas assez explicite !
;ff.type_objet_tmp
;ff\file_prod (1) = "unite speciale"
EndProcedure
Debug ff\file_prod(1)
Debug tt\file_prod(8)
ver()
Dim tt\file_prod(12)
Dim ff\file_prod(12)
Debug "======"
;Global ff.type_objet_tmp
ff\file_prod(1)="1230"
tt\file_prod(8)="C'est bon"
Debug ff\file_prod(1)
Debug tt\file_prod(8)
Debug "======"
@+
Il est fort peu probable que les mêmes causes ne produisent pas les mêmes effets.(Einstein)
Et en logique positive cela donne. Il est très fortement probable que les mêmes causes produisent les mêmes effets.