USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Dicas

  Visual Basic    (Datas/Números/Strings)

Título da Dica:  Manipulação de Strings com VB 6
Postada em 3/9/2003 por Ð@®l@n            
O VB 6 sofre com o problema na concatenação de strings : O excesso de realocações de memória causa uma grande lentidão no processo de concatenação de strings.

Veja um exemplo :

res = ""
For i = 1 to 10000: res = res & Str(i): Next

Esse trecho de código sofre com a necessidade de realocar a variável RES a cada concatenação realizada.

Para solucionar este problema podemos pré-alocar o espaço da string que necessitamos e alterar a string contida neste espaço pré-alocado. Veja um exemplo :


Dim res As String
Dim i As Long
Dim index As Long

' Faz a alocação de 90000 caracteres
res = Space(90000)
' Define um indice para controlar o preenchimento da string
index = 1

' A concatenação será feita com todos os valores de I, apenas como exemplo
For i = 1 to 10000
substr = Str(i)
length = Len(substr)
' Aqui o truque : A atribuição a função MID$ gera uma alteração na string
' original
Mid$(res, index, length) = substr
' O indice dentro da string tem que avançar para a próxima posição livre
'da string
index = index + length
Next
' Apaga os caracteres que estiverem sobrando (espaços, no ex. um trim tb
' resolveria)
res = Left$(res, index - 1)
 


CyberWEB Network Ltda.    © Copyright 2000-2024   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página