2009-08-17 5 views
0

Doublons possibles:
How to declare variable containing character limiting to 1000 bytes in vb6
“Object variable or With block variable not set” runtime error in VB6Limiter la taille de vbString à 10240 octets dans VB6

exacte en double de askers propre question How to declare variable containing character limiting to 1000 bytes in vb6

Comment declarare la taille de variable de chaîne comme 10240 butes dans VB6?

+0

N'est-ce pas la même question que vous avez posée plus tôt? http://stackoverflow.com/questions/1286476/how-to-declare-variable-containing-character-limiting-to-1000-bytes-in-vb6 –

Répondre

1

10240 octets * ou caractères *?

Dim strFoo As String * 5120 // 10240 bytes 
Dim strFoo As String * 10240 // 10240 characters 

(* = chaînes VB6 sont unicode, de sorte que chaque caractère dans une chaîne prend 2 octets)

+0

Cela me donne une erreur de compilateur, qu'est-ce qui me manque? –

+0

Une étoile. Dim strFoo As String * 5120 – MarkJ

+0

Hé, MarkJ a raison, ma mémoire m'a échoué ... Corrigé. – KristoferA

2

Essayez

Dim s As String * 5120 
' Gives 10240 bytes, as pointed out by KristoferA 

Cela permettra d'assurer la chaîne est toujours 5120 caractères, s'il y a moins là-dedans, il sera rembourré avec des espaces. par exemple.

Dim s As String * 10 
s = "Hello" 
Debug.Print "[" & s & "]" 

donne

[Hello  ] 
0

Ceci est la syntaxe d'une chaîne de longueur fixe de 5120 caractères, ce qui est 10240 octets. La valeur aura toujours 5120 caractères - des espaces de fin seront ajoutés, ou des caractères excédentaires tronqués. VB6 strings sont Unicode (UTF-16) et par conséquent chaque caractère a 2 octets. Il n'est pas clair si vous avez affaire à des données binaires plutôt qu'à du texte. Le type de données Byte est préférable pour les données binaires.

Dim byt(10240) as Byte ' an array of 10240 bytes 
Questions connexes