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

VB.NET - Ein- und Umsteiger
Re: Stringmapping? Suche Lösung. 
Autor: Manfred X
Datum: 19.12.16 21:03

Ein Beispiel (ohne Stringvariable und Array;
solche Sachen braucht man in VB.Net für diesen Zweck nicht)
Public Class StringParts
 
    Dim _stb As New System.Text.StringBuilder
    Dim _upperbounds() As Integer
    Dim _lowerbounds() As Integer
    Dim _lengths() As Integer
 
 
    Public Sub New(ParamArray lengths() As Integer)
 
        Array.Resize(_lowerbounds, lengths.Length)
        Array.Resize(_lengths, lengths.Length)
        Array.Resize(_upperbounds, lengths.Length)
 
        _lowerbounds(0) = 0
        _upperbounds(0) = lengths(0) - 1
        _lengths(0) = lengths(0)
 
 
        For i As Integer = 1 To lengths.Length - 1
            If lengths(i) < 1 Or lengths(i - 1) < 1 Then
                Throw New ArgumentException
            End If
            _lowerbounds(i) = _upperbounds(i - 1) + 1
            _upperbounds(i) = _upperbounds(i - 1) + lengths(i)
            _lengths(i) = lengths(i)
        Next i
 
        _stb = New System.Text.StringBuilder _
            (New String(" "c, _upperbounds _
             (_upperbounds.GetUpperBound(0)) + 1))
    End Sub
 
 
    Default Public Property Part(ByVal index As Integer) As String
 
        Get
            Return _stb.ToString(_lowerbounds(index), _lengths(index))
        End Get
 
        Set(value As String)
            Dim sb As New System.Text.StringBuilder(value)
            sb.Length = _lengths(index)
            _stb.Remove(_lowerbounds(index), _lengths(index))
            _stb.Insert(_lowerbounds(index), sb)
        End Set
 
    End Property
 
 
    Public ReadOnly Property Total() As String
        Get
            Return _stb.ToString
        End Get
    End Property
 
End Class
Anwendung der Klasse:
'Im Konstruktor 
'Zahl der Elemente und Länge der Elemente angeben
Dim stp As New StringParts(2, 3, 4)
 
'Elemente belegen (automatische Längenanpassung)
stp(0) = "AA"
stp(1) = "BBB"
stp(2) = "CCCC"
 
Dim str As String = stp.Total 'AABBBCCCC
 
stp(1) = "XXXXX" 'Überlänge wird abgeschnitten!
 
str = stp(1) 'XXX
str = stp(2) 'CCCC
 
str = stp.Total 'AAXXXCCCC
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Stringmapping? Suche Lösung.1.944Lupus5219.12.16 13:41
Re: Stringmapping? Suche Lösung.1.185effeff19.12.16 14:57
Re: Stringmapping? Suche Lösung.1.283Lupus5219.12.16 15:49
Re: Stringmapping? Suche Lösung.1.212minimalist19.12.16 16:56
Re: Stringmapping? Suche Lösung.1.228Lupus5219.12.16 17:26
Re: Stringmapping? Suche Lösung.1.222Manfred X19.12.16 19:29
Re: Stringmapping? Suche Lösung.1.192Lupus5219.12.16 20:04
Re: Stringmapping? Suche Lösung.1.321Manfred X19.12.16 21:03
Re: Stringmapping? Suche Lösung.1.151Lupus5219.12.16 22:01
Re: Stringmapping? Suche Lösung.1.195Manfred X19.12.16 22:15
Re: Stringmapping? Suche Lösung.1.191Lupus5219.12.16 23:20
Re: Stringmapping? Suche Lösung.1.206eierlein20.12.16 12:35
Lösung: Byte-Array 1.128VB3-Guru26.12.16 19:40
Re: Lösung: Byte-Array1.160Lupus5227.12.16 00:16
Re: Stringmapping? Suche Lösung.1.293HenryV19.12.16 16:46

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