Taille en mémoire de tableau ou de type personnel

Signaler
Messages postés
176
Date d'inscription
mercredi 7 avril 2004
Statut
Membre
Dernière intervention
1 avril 2013
-
Messages postés
143
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
6 septembre 2011
-
bonjour à tous
voilà un petit bout de code.

Type TyCellule
Mot_Av_H As String
Mot_Av_V As String
Mot_Ap_H As String
Mot_Ap_V As String
end type
public plateau(1 to 225) as TyCellule

je me demande quelle taille ce genre de type occupe de place en mémoire et le tableau "plateau"

quelle serait la taille d'un tableau(1 to 4) as string et donc la taille de plateau(1 to 225) as tableau

merci d'avance

5 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
4 String non initialisées devrait faire 16 octets sur system 32 bits.

ciao...
BruNews, MVP VC++
Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
36
Pas mieux.

Une variable de tye strng, non dimentionnée, n'est rien d'autre qu'un pointeur donc un long.

Attention la string ainsi pointée pouvant contenir jusqu'à plus de 2 milliard de caractères, je te laisse calaculer la taille maxi maxi que pourra avoir ton tableau.

En fait, la taille de ton type de données ne changeras pas, celle du tableau non plus. Par contre la taille occupée en mémoire par les strings va essentiellement dépendre de ce que tu vas y mettre dedant.

PS : 1Go = 1024*1024*1024 octets (ou caractères) au cas ou tu voudrais acheter de la RAM.

---- Sevyc64  (alias Casy) ---- <hr size ="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
Je rappelle que taille maxi d'alloc d'un prog est 2 Go sur system 32, alors RAM en plus ou non....

ciao...
BruNews, MVP VC++
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
Salut,
Je vais sûrement dire une Co....e mais pourquoi ne pas utiliser Len?

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
143
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
6 septembre 2011

Hello marco62118

' Dans Module1


'Option Explicit
'Type TyCellule
'    Mot_Av_H As String
'    Mot_Av_V As String * 1
'    Mot_Ap_H As String * 1
'    Mot_Ap_V As String * 32720
'End Type




'Dans Form1
Option Explicit


Dim Record As TyCellule
Private Sub Form_Load()
Dim RecordNumber As Integer
Dim s As String
s = App.Path & "\Test_Len.txt"
Open s For Random As #1 Len = Len(Record)
MsgBox "Grandeur des string's  " & Len(Record)
Close #1
End
End Sub


'La reponse de BruNews est juste BRAVO.
'Dans le module1 changer
' Mot_Av_V as string avec une dimansion EX:
' Mot_Av_V as string * 1   'Longueur string = 1
' Mot_Ap_H as string * 1
' Mot_Ap_V as string * 32720
' Pour info longueur Max. String = 64K
' mais dans le cas de type est limité
' 37200 + 1er string + 2em string +
' adresses des variables.
' Voila pour une petit Demo.
' Oui jrivet voila la demo avec "Len()"




'A plus sur VBFrance.com
'42wawa42