OVH Cloud OVH Cloud

Tableau en vb

9 réponses
Avatar
Sandrine
Bonjour,

Anciennement en basic il existait l'instruction data, ex (de mémoire)

restore
for x = 1 to 5
read x
next x
data 10,5,3,"toto",5


...

Quel est l'equivalent en VB ?

Merci

9 réponses

Avatar
ng
Salut,

data 10,5,3,"toto",5



Je ne connais pas cet instruction Basic, à quoi sert t'elle ?

Sinon en VB pour déclarer un tableau static :

'd'index 0

Dim a(2) As Integer
Dim i as Integer

For i = 0 to Ubound(a)
a(i) = i * 2
Next

'd'index non nul

Dim a(1 To 2) As Integer
Dim i as Integer

For i = LBound(a) to Ubound(a)
a(i) = i * 2
Next

'a plusierus dimensions
Dim a(2, 2) As Integer
Dim i As Integer, j As Integer

For i = 0 To UBound(a, 1)
For j = 0 To UBound(a, 2)
a(i, j) = i * j
Next
Next

'ect...

'pour des tableaux dynamiques :
Dim a() As Integer

Redim a(3) 'redim sans préserver
Redim Preserve a(4) 'redim en gardant les elts précédents...


--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/
Avatar
Sandrine
Il se trouve que ng a formulé :
Salut,

data 10,5,3,"toto",5



Je ne connais pas cet instruction Basic, à quoi sert t'elle ?




C'est du vieux basic!
Elle sert à stocker des variables, plutot que de faire x = 4 y =1 z =
...

L'instruction Restore place le pointeur en tête du tableau (data),
l'instruction Read va lire les variables stockées.
N'importe quel listing en 'old' basic utilise ce jeu d'instructions, ô
combien indispensable.

Donc, en VB, comment stocker de façon similaire des données ?
Avatar
Bul
bonjour,
Anciennement en basic il existait l'instruction data, ex (de mémoire)




jamais réussi à remplacer cette
instruction si utile de manière simple.
je remplace par la lecture un fichier
ou par un split sur une chaîne de caractères,
dépend de ce qu'il faut en faire, et il
doit y avoir mieux à faire...
@+
Avatar
Pascal B.
Salut,

Une solution est d'utiliser la fonction Array, comme ceci:

Dim x As Variant
x = Array(10, 5, 3, "Toto", 5)

MsgBox "Ceci est le premier élément: " & x(0)
MsgBox "Ceci est le dernier élément: " & x(4)

Pascal.

"Sandrine" wrote in message news:
| Bonjour,
|
| Anciennement en basic il existait l'instruction data, ex (de mémoire)
|
| restore
| for x = 1 to 5
| read x
| next x
| data 10,5,3,"toto",5
|
|
| ...
|
| Quel est l'equivalent en VB ?
|
| Merci
|
|
Avatar
Pascal B.
Salut,

Une solution est d'utiliser la fonction Array, comme ceci:

Dim x As Variant
x = Array(10, 5, 3, "Toto", 5)

MsgBox "Ceci est le premier élément: " & x(0)
MsgBox "Ceci est le dernier élément: " & x(4)

Pascal B.

"Sandrine" wrote in message news:
| Bonjour,
|
| Anciennement en basic il existait l'instruction data, ex (de mémoire)
|
| restore
| for x = 1 to 5
| read x
| next x
| data 10,5,3,"toto",5
|
|
| ...
|
| Quel est l'equivalent en VB ?
|
| Merci
|
|
Avatar
andre.araste
Si je comprends bien vous cherchez à suppléer dans Visual Basic
l'inexistence des instructions Data et Read du Basic linéaire sous DOS.

Il faut utiliser la fonction array qui renvoie une variable de type Variant
contenant un tableau.

Syntaxe : Array(liste séparée par des virgules)

L'argument entre parenthèses est une liste de valeurs délimitées par des
virgules attribuées aux éléments du tableau contenu dans la variable de type
Variant. Si aucun argument n'est précisé, un tableau de longueur nulle est
créé.

Remarques

La notation utilisée pour faire référence à un élément d'un tableau est
composée du nom de la variable suivi d'un indice entre parenthèses indiquant
l'élément concerné. Dans
l'exemple suivant, la première instruction crée une variable A déclarée de
type Variant.

La deuxième instruction attribue un tableau à la variable A. La dernière
instruction attribue à une autre variable la valeur contenue dans le
troisième élément du tableau.

Dim A As Variant
A = Array(10,20,30)
B = A(2) ' ..... retourne 30

La limite inférieure d'un tableau créé à l'aide de la fonction Array est
toujours égale à zéro.

(extrait de mon cours de programmation)
--
Bonne réception.

http://perso.wanadoo.fr/andre.araste/
Membre du Club Win's: http://www.clubwins.org
Avertissement: Je ne vends rien.



"Sandrine" a écrit dans le message de news:

Bonjour,

Anciennement en basic il existait l'instruction data, ex (de mémoire)

restore
for x = 1 to 5
read x
next x
data 10,5,3,"toto",5 ...

Quel est l'equivalent en VB ?

Merci




Avatar
Patrice Henrio
Bien que je n'en vois pas l'utilité, on peut simuler le couple read-data du
basic ancien avec une chaîne de caractères et un caractère de séparation des
données.
D'ailleurs l'exemple donné ne fonctionnerait pas car en basic chaque
variables était typé et donc une variable entière capable de stocker 10 ne
saurait pas stocker "toto".

Voici la simulation

Data = "10,7,8,12,4"

While Len(Data) > 0
V = InStr(Data, ",")
If V > 0 Then
X = CLng(Left(Data, V))
Data = Mid(Data, V + 1)
Else
X = CLng(Data)
Data = ""
End If
Debug.Print X
Wend


Donner sasn test


"Pascal B." a écrit dans le message de news:
%
Salut,

Une solution est d'utiliser la fonction Array, comme ceci:

Dim x As Variant
x = Array(10, 5, 3, "Toto", 5)

MsgBox "Ceci est le premier élément: " & x(0)
MsgBox "Ceci est le dernier élément: " & x(4)

Pascal B.

"Sandrine" wrote in message
news:
| Bonjour,
|
| Anciennement en basic il existait l'instruction data, ex (de mémoire)
|
| restore
| for x = 1 to 5
| read x
| next x
| data 10,5,3,"toto",5
|
|
| ...
|
| Quel est l'equivalent en VB ?
|
| Merci
|
|




Avatar
LE TROLL
Salut,

Je connais, je l'utilisais parfois en ABAL sous
ProloguE, ça revient à déclarer un tableau mémoire, qui se
vide immédiatement après avoir été lu une fois (read) pour
gagner de la place, et il faut le recharger avec restore...

Justement, lors de conversions Qbasic/VB, je n'ai pas trouvé
l'équivalent, alors comme dit "ng", tu déclare un tableau
normal:
dim t (2,2,2) as X
Tu charges ton tableau:
for i
for j
for k
t(i,j,k) = Y
next...
Tu le lis ensuite
Z = t(i, j, k)
-----------------

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

Anciennement en basic il existait l'instruction data, ex
(de mémoire)

restore
for x = 1 to 5
read x
next x
data 10,5,3,"toto",5


...

Quel est l'equivalent en VB ?

Merci




Avatar
ng
> 'pour des tableaux dynamiques :
Dim a() As Integer

Redim a(3) 'redim sans préserver
Redim Preserve a(4) 'redim en gardant les elts précédents...




Sans oublier erase pour vider le tableau...

--
Nicolas G.
FAQ VB : http://faq.vb.free.fr
API Guide : http://www.allapi.net
Google Groups : http://groups.google.fr/
MZ-Tools : http://www.mztools.com/