vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: String (oder Byte-Array) viele millionen mal um 1 vergrößern 
Autor: Dirk
Datum: 24.06.09 15:06

Ich habe mal eine Klasse für dynamische Strings geschrieben. Damit sollte es schneller gehen.
Option Explicit
 
Const MyName As String = "cStringBuffer"
 
'*******************************************************************************
'******************               Interfaces               *********************
'*******************************************************************************
 
'*******************************************************************************
'******************           Constants, Types             *********************
'*******************************************************************************
Private Const c_InitialSize As Long = 32
 
 
'*******************************************************************************
'******************              Declaration               *********************
'*******************************************************************************
Private m_buffer As String
Private m_used As Long
Private m_allocated As Long
 
'*******************************************************************************
'******************                 Events                 *********************
'*******************************************************************************
 
'*******************************************************************************
'******************                 Class                  *********************
'*******************************************************************************
Private Sub Class_Initialize()
 
  Init
 
End Sub
 
 
'*******************************************************************************
'******************                Publics                 *********************
'*******************************************************************************
Public Sub Append(str As String)
 
  Dim Length As Long
  Dim requiredSize As Long
 
  'make sure the buffer is large enough and grow if necessary
  Length = Len(str)
  requiredSize = m_used + Length
  Do While requiredSize > m_allocated
    Grow
  Loop
 
  'insert new string into the buffer
  Mid$(m_buffer, m_used + 1) = str
  m_used = m_used + Length
End Sub
 
Public Sub AppendLine(Optional str As String = vbNullString)
 
  If Len(str) > 0 Then
    Append str
  End If
  Append vbNewLine
 
End Sub
 
Public Property Get Length() As Long
  Length = m_used
End Property
 
Public Property Get Result() As String
  Result = Left$(m_buffer, m_used)
End Property
 
Public Property Let Result(rhs As String)
  Init
  Append rhs
End Property
 
Public Sub Clear()
  Init
End Sub
 
'*******************************************************************************
'******************                Privates                *********************
'*******************************************************************************
Private Sub Init()
 
  m_buffer = String$(c_InitialSize, " ")
  m_allocated = c_InitialSize
  m_used = 0
 
End Sub
 
Private Sub Grow()
 
  m_buffer = m_buffer & String$(Len(m_buffer), " ")
  m_allocated = Len(m_buffer)
 
End Sub

Gruß
Dirk

--
?Get it right the first time

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
String (oder Byte-Array) viele millionen mal um 1 vergrößern1.123Majuz24.06.09 14:27
Re: String (oder Byte-Array) viele millionen mal um 1 vergrö...640Dirk24.06.09 15:06
Re: String (oder Byte-Array) viele millionen mal um 1 vergrö...601Majuz24.06.09 17:58
Re: String (oder Byte-Array) viele millionen mal um 1 vergrö...676Ne kölsche Jung24.06.09 19:34
Re: String (oder Byte-Array) viele millionen mal um 1 vergrö...639Dirk25.06.09 08:15
Re: String (oder Byte-Array) viele millionen mal um 1 vergrö...574Majuz25.06.09 11:23
Re: String (oder Byte-Array) viele millionen mal um 1 vergrö...607Zardoz25.06.09 19:36
Re: String (oder Byte-Array) viele millionen mal um 1 vergrö...594Majuz25.06.09 21:05
Re: String (oder Byte-Array) viele millionen mal um 1 vergrö...662Zardoz24.06.09 20:10
Re: String (oder Byte-Array) viele millionen mal um 1 vergrö...629icetea12324.06.09 20:34

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel