Thema Datum  Von Nutzer Rating
Antwort
30.10.2016 15:42:20 Ralf
NotSolved
30.10.2016 16:54:09 BigBen
NotSolved
01.11.2016 17:42:35 Ralf
NotSolved
Blau Aus Kürzel komplette Datenpunkte generieren
02.11.2016 10:45:20 BigBen
NotSolved

Ansicht des Beitrags:
Von:
BigBen
Datum:
02.11.2016 10:45:20
Views:
1494
Rating: Antwort:
  Ja
Thema:
Aus Kürzel komplette Datenpunkte generieren

Hallo,

mit RegExpressions ist es ganz leicht:

Function Encrypt(value As String) As String
    Dim vval() As String
    Dim strOut As String
    Dim iVal As Integer
    Dim iCnt As Integer, iStart As Integer, iEnd As Integer, iStep As Integer
    Dim mc As VBScript_RegExp_55.MatchCollection
    Set mc = match(value, "[^0-9^,^\-^\:]+")
    If mc.Count > 0 Then
        ' Ungültig
        strOut = ""
    Else
        vval = Split(value, ",")
        For iVal = 0 To UBound(vval)
            If InStr(vval(iVal), "-") > 0 Then
                ' Reihenfolge generieren
                iStep = 1
                Set mc = match(vval(iVal), ":([0-9]+)")
                If Not mc Is Nothing Then
                    iStep = mc.Item(0).SubMatches(0)
                End If
                Set mc = match(vval(iVal), "([0-9]+)-([0-9]+)")
                If Not mc Is Nothing Then
                    iStart = mc.Item(0).SubMatches(0)
                    iEnd = mc.Item(0).SubMatches(1)
                End If
                For iCnt = iStart To iEnd Step iStep
                    strOut = strOut & IIf(strOut = "", "", ";") & CStr(iCnt)
                Next
            Else
                strOut = strOut & IIf(strOut = "", "", ";") & vval(iVal)
            End If
             
        Next
    End If
    Encrypt = strOut
End Function

Wie man sehen kann, beschränkt sich die Erweiterung lediglich aus 4 Zeilen.

Die RegExpression

[^0-9^,^\-^\:]+

findet alle ungültigen Zeichen.

Wenn allerdings weitergehende Prüfungen stettfinden sollen, wie z.B.

- Zahlen in der richtigen Reihenfolge angegeben?

- zu hohe Zahlenwerte vorhanden? (größer als 32767)

.. dann wird es umfangreicher.

LG. BigBen


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
30.10.2016 15:42:20 Ralf
NotSolved
30.10.2016 16:54:09 BigBen
NotSolved
01.11.2016 17:42:35 Ralf
NotSolved
Blau Aus Kürzel komplette Datenpunkte generieren
02.11.2016 10:45:20 BigBen
NotSolved