Taille en mémoire de tableau ou de type personnel

cs_marco62118 Messages postés 176 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 1 avril 2013 - 27 août 2007 à 18:54
42wawa42 Messages postés 143 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 6 septembre 2011 - 29 août 2007 à 15:33
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

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 août 2007 à 19:28
4 String non initialisées devrait faire 16 octets sur system 32 bits.

ciao...
BruNews, MVP VC++
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
27 août 2007 à 19:41
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
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 août 2007 à 19:52
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++
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
28 août 2007 à 08:35
Salut,
Je vais sûrement dire une Co....e mais pourquoi ne pas utiliser Len?

@+: Ju£i?n
Pensez: Réponse acceptée
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
42wawa42 Messages postés 143 Date d'inscription dimanche 28 septembre 2003 Statut Membre Dernière intervention 6 septembre 2011
29 août 2007 à 15:33
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
0
Rejoignez-nous