OVH Cloud OVH Cloud

Entrer un tableau en constante sur embedded VB

12 réponses
Avatar
Gabacho
Bonjour,

je souhaiterais pouvoir entrer dans mon code un tableau à 2 dimensions comme
constante ou comme variable globale du type :
dim Table(2,4)
Table=((1,2,3,4),(11,12,13,14))
Est-ce possible? Et si oui comment?
La matrice serait de dimension 600,150.
Merci par avance pour votre aide à cette question de débutant.

2 réponses

1 2
Avatar
Patrice Henrio
Public accepte les tableaux et et les variables de types public sont
visibles dans tout le projet contrairement à dim.

Les variables déclarées à l'aide de l'instruction Dim au niveau module sont
disponibles pour toutes les procédures du module. Au niveau procédure, les
variables ne sont disponibles qu'au sein de la procédure.

Les variables déclarées avec l'instruction Public sont accessibles à toutes
les procédures, dans l'ensemble des modules de toutes les applications, à
moins que Option Private Module ne soit activé. Dans ce cas, les variables
ne sont publiques qu'au sein du projet qui les accueille.

Par contre on ne peut effectivement pas déclarer une variable de type
tableau dans un module d'objet (ce qui est le cas d'une forme). Mais le but
d'une variable globale étant d'être visible partout, j'ai pour habitude de
créer un module contenant tous mes types utilisateurs publics et toutes mes
variables globales.

"X" a écrit dans le message de news:
%
Heu... de mémoire:

"Public" n'accepte pas les tableaux me semble-t-il...

"Dim" déclaré en début de code est bien globale (pour toute la feuille), a
contrario de celle déclarées dans les procédures qui sont locales, et
aussi a contrario de Public (en-entête), qui est une variable (générale),
elle est acceptée dans toutes les feuilles, comme les modules, si ce n'est
qu'il faut y adjoindre le nom de sa form d'origine
(formX.nom_variable_public)...

--
Site logiciels
http://irolog.free.fr
Mail
http://irolog.free.fr/ecrire/index.htm
Site perso
http://irolog.free.fr/joe/index.htm
Principe d'utilisation des news Groups
http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
------------------------------------------------------------------------------------
"Patrice Henrio" a écrit dans le message de
news: uZyb%
Pardon à X pour le mail précédent je n'avais pas lu que le tableau de
départ devait faire 600 par 150, dans ce cas il est clair que
l'utilisation de Array n'est pas conseillé. Par contre la remarque sur
option base reste valide.


Une autre solution si tous les éléments sont de même types.

Créer le tableau une fois, le sauvegarder sous forme d'un fichier
binaire, le relire ensuite en une fois (gain de temps)


Option base 1
Public T(600,150) 'c'est une variable globale, ce qui n'est pas le cas
de dim

'Le module de création du fichier
T=CréerTableau()

Ecriture
Open Fichier for binary as #1
put T
Close #1

'Le module de lecture
Lecture
Open Fichier for binary a #1
get T
Close


Pour pouvoir en dire plus, il serait préférable de savoir ce que tu mets
dans ton tableau (les premiers éléments des premières lignes qui
indiqueraient la logique de construction du tableau).



"Gabacho" a écrit dans le message de
news:
Bonjour,

je souhaiterais pouvoir entrer dans mon code un tableau à 2 dimensions
comme
constante ou comme variable globale du type :
dim Table(2,4)
Table=((1,2,3,4),(11,12,13,14))
Est-ce possible? Et si oui comment?
La matrice serait de dimension 600,150.
Merci par avance pour votre aide à cette question de débutant.











Avatar
Gabacho
Merci à tous pour votre aide.
Pour être plus propre, je vais finalement utiliser une petite base avec un
acces ADOCE pour stocker les tables et les charger en fonction des besoins
dans un tableau.

Encore merci et bonne journee.

RL

"Patrice Henrio" a écrit :

Public accepte les tableaux et et les variables de types public sont
visibles dans tout le projet contrairement à dim.

Les variables déclarées à l'aide de l'instruction Dim au niveau module sont
disponibles pour toutes les procédures du module. Au niveau procédure, les
variables ne sont disponibles qu'au sein de la procédure.

Les variables déclarées avec l'instruction Public sont accessibles à toutes
les procédures, dans l'ensemble des modules de toutes les applications, à
moins que Option Private Module ne soit activé. Dans ce cas, les variables
ne sont publiques qu'au sein du projet qui les accueille.

Par contre on ne peut effectivement pas déclarer une variable de type
tableau dans un module d'objet (ce qui est le cas d'une forme). Mais le but
d'une variable globale étant d'être visible partout, j'ai pour habitude de
créer un module contenant tous mes types utilisateurs publics et toutes mes
variables globales.

"X" a écrit dans le message de news:
%
> Heu... de mémoire:
>
> "Public" n'accepte pas les tableaux me semble-t-il...
>
> "Dim" déclaré en début de code est bien globale (pour toute la feuille), a
> contrario de celle déclarées dans les procédures qui sont locales, et
> aussi a contrario de Public (en-entête), qui est une variable (générale),
> elle est acceptée dans toutes les feuilles, comme les modules, si ce n'est
> qu'il faut y adjoindre le nom de sa form d'origine
> (formX.nom_variable_public)...
>
> --
> Site logiciels
> http://irolog.free.fr
> Mail
> http://irolog.free.fr/ecrire/index.htm
> Site perso
> http://irolog.free.fr/joe/index.htm
> Principe d'utilisation des news Groups
> http://support.microsoft.com/directory/worldwide/fr/newsgroup/regles.htm
> ------------------------------------------------------------------------------------
> "Patrice Henrio" a écrit dans le message de
> news: uZyb%
>> Pardon à X pour le mail précédent je n'avais pas lu que le tableau de
>> départ devait faire 600 par 150, dans ce cas il est clair que
>> l'utilisation de Array n'est pas conseillé. Par contre la remarque sur
>> option base reste valide.
>>
>>
>> Une autre solution si tous les éléments sont de même types.
>>
>> Créer le tableau une fois, le sauvegarder sous forme d'un fichier
>> binaire, le relire ensuite en une fois (gain de temps)
>>
>>
>> Option base 1
>> Public T(600,150) 'c'est une variable globale, ce qui n'est pas le cas
>> de dim
>>
>> 'Le module de création du fichier
>> T=CréerTableau()
>>
>> Ecriture
>> Open Fichier for binary as #1
>> put T
>> Close #1
>>
>> 'Le module de lecture
>> Lecture
>> Open Fichier for binary a #1
>> get T
>> Close
>>
>>
>> Pour pouvoir en dire plus, il serait préférable de savoir ce que tu mets
>> dans ton tableau (les premiers éléments des premières lignes qui
>> indiqueraient la logique de construction du tableau).
>>
>>
>>
>> "Gabacho" a écrit dans le message de
>> news:
>>> Bonjour,
>>>
>>> je souhaiterais pouvoir entrer dans mon code un tableau à 2 dimensions
>>> comme
>>> constante ou comme variable globale du type :
>>> dim Table(2,4)
>>> Table=((1,2,3,4),(11,12,13,14))
>>> Est-ce possible? Et si oui comment?
>>> La matrice serait de dimension 600,150.
>>> Merci par avance pour votre aide à cette question de débutant.
>>>
>>
>>
>
>





1 2