none
Funktion IBAN RRS feed

  • Frage

  • Hallo zusammen

    Ich habe hier eine Funktion in C#. Ich sollte sie in VB .NET haben. Ich konnte alles übersetzen nur ein kleiner Teil nicht, weil ich nicht genau weiss was da passiert. Nachfolgend die Funktion:

            private static bool IsValidIban(string iban)
            {
                //Clean IBAN
                var ibanCleared = iban.ToUpper().Replace(" ", "").Replace("-", "");
    
                //Check for general structure
                var structurallyValid = Regex.IsMatch(ibanCleared, @"^[a-zA-Z]{2}[0-9]{2}([a-zA-Z0-9]?){16,30}$");
                                             
                //Check IBAN checksum
                var sum = $"{ibanCleared.Substring(4)}{ibanCleared.Substring(0, 4)}".ToCharArray().Aggregate("", (current, c) => current + (char.IsLetter(c) ? (c - 55).ToString() : c.ToString()));
                decimal sumDec;
                if (!decimal.TryParse(sum, out sumDec))
                    return false;
                var checksumValid = (sumDec % 97) == 1;
                
                return structurallyValid && checksumValid;
            }
    

    Kann mit jemand sagen was passiert bei (c - 55).ToString()??

    Ich nehme an, dass er bei diesem Charakter den Wert 55 anzieht und dadurch einen anderen Charakter erhält. Bin mir aber nicht sicher. Leider geht nämlich genau dieser Teil in VB .NET nicht. ich erhalte einen Fehler "Der --Operator ist für die Typen "Char" und "Integer" nicht definiert"

    Wenn mir also jemand weiss, wich ich diese Zeile richtig übersetze, bin ich dankbar.

    Gruss Marcel

    Freitag, 24. Januar 2020 08:19

Antworten

  • Hi Marcel,
    hier mal die Funktion in VB.NET:

        Private Shared Function IsValidIban(iban As String) As Boolean
          ' Clean IBAN
          Dim ibanCleared = iban.ToUpper().Replace(" ", "").Replace("-", "")
    
          ' Check for general structure
          Dim structurallyValid = Regex.IsMatch(ibanCleared, "^[a-zA-Z]{2}[0-9]{2}([a-zA-Z0-9]?){16,30}$")
    
          'Check IBAN checksum
          Dim sum = $"{ibanCleared.Substring(4)}{ibanCleared.Substring(0, 4)}".ToCharArray().Aggregate("", New Func(Of String, Char, String)(Function(current As String, c As Char)
                                                                                                                                               Return current & If(Char.IsLetter(c), (AscW(c) - 55).ToString, c.ToString)
                                                                                                                                             End Function))
          Dim sumDec As Decimal
          If Not Decimal.TryParse(sum, sumDec) Then Return False
          Dim checksumValid = (sumDec Mod 97) = 1
    
          Return structurallyValid AndAlso checksumValid
        End Function


    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    Freitag, 24. Januar 2020 09:18
  • Diese CS Funktion habe ich soeben online Konvertiert:

    Imports System
    Imports System.Collections.Generic
    Imports System.Linq
    Imports System.Text
    Imports System.Threading.Tasks
    
    Namespace RuSEPA
        Class IBAN_validieren
            Private IBAN As String
    
            Public Sub New(ByVal sIBAN As String)
                IBAN = sIBAN
            End Sub
    
            Public Function ISIBAN() As Boolean
                Dim mysIBAN As String = IBAN.Replace(" ", "")
    
                If mysIBAN.Length > 34 OrElse mysIBAN.Length < 5 Then
                    Return False
                Else
                    Dim LaenderCode As String = mysIBAN.Substring(0, 2).ToUpper()
                    Dim Pruefsumme As String = mysIBAN.Substring(2, 2).ToUpper()
                    Dim BLZ_Konto As String = mysIBAN.Substring(4).ToUpper()
                    If Not IsNumeric(Pruefsumme) Then Return False
                    If Not ISLaendercode(LaenderCode) Then Return False
                    Dim Umstellung As String = BLZ_Konto & LaenderCode & "00"
                    Dim Modulus As String = IBANCleaner(Umstellung)
                    If 98 - Modulo(Modulus, 97) <> Integer.Parse(Pruefsumme) Then Return False
                End If
    
                Return True
            End Function
    
            Private Function ISLaendercode(ByVal code As String) As Boolean
                If code.Length <> 2 Then
                    Return False
                Else
                    code = code.ToUpper()
                    Dim Laendercodes As String() = {"AA", "AB", "AC", "AD", "AE", "AF", "AG", "AH", "AI", "AJ", "AK", "AL", "AM", "AN", "AO", "AP", "AQ", "AR", "AS", "AT", "AU", "AV", "AW", "AX", "AY", "AZ", "BA", "BB", "BC", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BK", "BL", "BM", "BN", "BO", "BP", "BQ", "BR", "BS", "BT", "BU", "BV", "BW", "BX", "BY", "BZ", "CA", "CB", "CC", "CD", "CE", "CF", "CG", "CH", "CI", "CJ", "CK", "CL", "CM", "CN", "CO", "CP", "CQ", "CR", "CS", "CT", "CU", "CV", "CW", "CX", "CY", "CZ", "DA", "DB", "DC", "DD", "DE", "DF", "DG", "DH", "DI", "DJ", "DK", "DL", "DM", "DN", "DO", "DP", "DQ", "DR", "DS", "DT", "DU", "DV", "DW", "DX", "DY", "DZ", "EA", "EB", "EC", "ED", "EE", "EF", "EG", "EH", "EI", "EJ", "EK", "EL", "EM", "EN", "EO", "EP", "EQ", "ER", "ES", "ET", "EU", "EV", "EW", "EX", "EY", "EZ", "FA", "FB", "FC", "FD", "FE", "FF", "FG", "FH", "FI", "FJ", "FK", "FL", "FM", "FN", "FO", "FP", "FQ", "FR", "FS", "FT", "FU", "FV", "FW", "FX", "FY", "FZ", "GA", "GB", "GC", "GD", "GE", "GF", "GG", "GH", "GI", "GJ", "GK", "GL", "GM", "GN", "GO", "GP", "GQ", "GR", "GS", "GT", "GU", "GV", "GW", "GX", "GY", "GZ", "HA", "HB", "HC", "HD", "HE", "HF", "HG", "HH", "HI", "HJ", "HK", "HL", "HM", "HN", "HO", "HP", "HQ", "HR", "HS", "HT", "HU", "HV", "HW", "HX", "HY", "HZ", "IA", "IB", "IC", "ID", "IE", "IF", "IG", "IH", "II", "IJ", "IK", "IL", "IM", "IN", "IO", "IP", "IQ", "IR", "IS", "IT", "IU", "IV", "IW", "IX", "IY", "IZ", "JA", "JB", "JC", "JD", "JE", "JF", "JG", "JH", "JI", "JJ", "JK", "JL", "JM", "JN", "JO", "JP", "JQ", "JR", "JS", "JT", "JU", "JV", "JW", "JX", "JY", "JZ", "KA", "KB", "KC", "KD", "KE", "KF", "KG", "KH", "KI", "KJ", "KK", "KL", "KM", "KN", "KO", "KP", "KQ", "KR", "KS", "KT", "KU", "KV", "KW", "KX", "KY", "KZ", "LA", "LB", "LC", "LD", "LE", "LF", "LG", "LH", "LI", "LJ", "LK", "LL", "LM", "LN", "LO", "LP", "LQ", "LR", "LS", "LT", "LU", "LV", "LW", "LX", "LY", "LZ", "MA", "MB", "MC", "MD", "ME", "MF", "MG", "MH", "MI", "MJ", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NB", "NC", "ND", "NE", "NF", "NG", "NH", "NI", "NJ", "NK", "NL", "NM", "NN", "NO", "NP", "NQ", "NR", "NS", "NT", "NU", "NV", "NW", "NX", "NY", "NZ", "OA", "OB", "OC", "OD", "OE", "OF", "OG", "OH", "OI", "OJ", "OK", "OL", "OM", "ON", "OO", "OP", "OQ", "OR", "OS", "OT", "OU", "OV", "OW", "OX", "OY", "OZ", "PA", "PB", "PC", "PD", "PE", "PF", "PG", "PH", "PI", "PJ", "PK", "PL", "PM", "PN", "PO", "PP", "PQ", "PR", "PS", "PT", "PU", "PV", "PW", "PX", "PY", "PZ", "QA", "QB", "QC", "QD", "QE", "QF", "QG", "QH", "QI", "QJ", "QK", "QL", "QM", "QN", "QO", "QP", "QQ", "QR", "QS", "QT", "QU", "QV", "QW", "QX", "QY", "QZ", "RA", "RB", "RC", "RD", "RE", "RF", "RG", "RH", "RI", "RJ", "RK", "RL", "RM", "RN", "RO", "RP", "RQ", "RR", "RS", "RT", "RU", "RV", "RW", "RX", "RY", "RZ", "SA", "SB", "SC", "SD", "SE", "SF", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SP", "SQ", "SR", "SS", "ST", "SU", "SV", "SW", "SX", "SY", "SZ", "TA", "TB", "TC", "TD", "TE", "TF", "TG", "TH", "TI", "TJ", "TK", "TL", "TM", "TN", "TO", "TP", "TQ", "TR", "TS", "TT", "TU", "TV", "TW", "TX", "TY", "TZ", "UA", "UB", "UC", "UD", "UE", "UF", "UG", "UH", "UI", "UJ", "UK", "UL", "UM", "UN", "UO", "UP", "UQ", "UR", "US", "UT", "UU", "UV", "UW", "UX", "UY", "UZ", "VA", "VB", "VC", "VD", "VE", "VF", "VG", "VH", "VI", "VJ", "VK", "VL", "VM", "VN", "VO", "VP", "VQ", "VR", "VS", "VT", "VU", "VV", "VW", "VX", "VY", "VZ", "WA", "WB", "WC", "WD", "WE", "WF", "WG", "WH", "WI", "WJ", "WK", "WL", "WM", "WN", "WO", "WP", "WQ", "WR", "WS", "WT", "WU", "WV", "WW", "WX", "WY", "WZ", "XA", "XB", "XC", "XD", "XE", "XF", "XG", "XH", "XI", "XJ", "XK", "XL", "XM", "XN", "XO", "XP", "XQ", "XR", "XS", "XT", "XU", "XV", "XW", "XX", "XY", "XZ", "YA", "YB", "YC", "YD", "YE", "YF", "YG", "YH", "YI", "YJ", "YK", "YL", "YM", "YN", "YO", "YP", "YQ", "YR", "YS", "YT", "YU", "YV", "YW", "YX", "YY", "YZ", "ZA", "ZB", "ZC", "ZD", "ZE", "ZF", "ZG", "ZH", "ZI", "ZJ", "ZK", "ZL", "ZM", "ZN", "ZO", "ZP", "ZQ", "ZR", "ZS", "ZT", "ZU", "ZV", "ZW", "ZX", "ZY", "ZZ"}
    
                    If Array.IndexOf(Laendercodes, code) = -1 Then
                        Return False
                    Else
                        Return True
                    End If
                End If
            End Function
    
            Private Function IBANCleaner(ByVal sIBAN As String) As String
                For x As Integer = 65 To 90
                    Dim replacewith As Integer = x - 64 + 9
                    Dim replace As String = (ChrW(x)).ToString()
                    sIBAN = sIBAN.Replace(replace, replacewith.ToString())
                Next
    
                Return sIBAN
            End Function
    
            Private Function Modulo(ByVal sModulus As String, ByVal iTeiler As Integer) As Integer
                Dim iStart, iEnde, iErgebniss, iRestTmp, iBuffer As Integer
                Dim iRest As String = "", sErg As String = ""
                iStart = 0
                iEnde = 0
    
                While iEnde <= sModulus.Length - 1
                    iBuffer = Integer.Parse(iRest & sModulus.Substring(iStart, iEnde - iStart + 1))
    
                    If iBuffer >= iTeiler Then
                        iErgebniss = iBuffer / iTeiler
                        iRestTmp = iBuffer - iErgebniss * iTeiler
                        iRest = iRestTmp.ToString()
                        sErg = sErg & iErgebniss.ToString()
                        iStart = iEnde + 1
                        iEnde = iStart
                    Else
                        If sErg <> "" Then sErg = sErg & "0"
                        iEnde = iEnde + 1
                    End If
                End While
    
                If iStart <= sModulus.Length Then iRest = iRest & sModulus.Substring(iStart)
                Return Integer.Parse(iRest)
            End Function
    
            Private Function IsNumeric(ByVal value As String) As Boolean
                Try
                    Integer.Parse(value)
                    Return (True)
                Catch
                    Return (False)
                End Try
            End Function
        End Class
    End Namespace
    

    Diese Funktion deckt was IBAN angeht alles ab

    Gruß Klaus

    Freitag, 24. Januar 2020 10:54

Alle Antworten

  • Hi Marcel,
    hier mal die Funktion in VB.NET:

        Private Shared Function IsValidIban(iban As String) As Boolean
          ' Clean IBAN
          Dim ibanCleared = iban.ToUpper().Replace(" ", "").Replace("-", "")
    
          ' Check for general structure
          Dim structurallyValid = Regex.IsMatch(ibanCleared, "^[a-zA-Z]{2}[0-9]{2}([a-zA-Z0-9]?){16,30}$")
    
          'Check IBAN checksum
          Dim sum = $"{ibanCleared.Substring(4)}{ibanCleared.Substring(0, 4)}".ToCharArray().Aggregate("", New Func(Of String, Char, String)(Function(current As String, c As Char)
                                                                                                                                               Return current & If(Char.IsLetter(c), (AscW(c) - 55).ToString, c.ToString)
                                                                                                                                             End Function))
          Dim sumDec As Decimal
          If Not Decimal.TryParse(sum, sumDec) Then Return False
          Dim checksumValid = (sumDec Mod 97) = 1
    
          Return structurallyValid AndAlso checksumValid
        End Function


    --
    Best Regards / Viele Grüße
    Peter Fleischer (former MVP for Developer Technologies)
    Homepage, Tipps, Tricks

    Freitag, 24. Januar 2020 09:18
  • Diese CS Funktion habe ich soeben online Konvertiert:

    Imports System
    Imports System.Collections.Generic
    Imports System.Linq
    Imports System.Text
    Imports System.Threading.Tasks
    
    Namespace RuSEPA
        Class IBAN_validieren
            Private IBAN As String
    
            Public Sub New(ByVal sIBAN As String)
                IBAN = sIBAN
            End Sub
    
            Public Function ISIBAN() As Boolean
                Dim mysIBAN As String = IBAN.Replace(" ", "")
    
                If mysIBAN.Length > 34 OrElse mysIBAN.Length < 5 Then
                    Return False
                Else
                    Dim LaenderCode As String = mysIBAN.Substring(0, 2).ToUpper()
                    Dim Pruefsumme As String = mysIBAN.Substring(2, 2).ToUpper()
                    Dim BLZ_Konto As String = mysIBAN.Substring(4).ToUpper()
                    If Not IsNumeric(Pruefsumme) Then Return False
                    If Not ISLaendercode(LaenderCode) Then Return False
                    Dim Umstellung As String = BLZ_Konto & LaenderCode & "00"
                    Dim Modulus As String = IBANCleaner(Umstellung)
                    If 98 - Modulo(Modulus, 97) <> Integer.Parse(Pruefsumme) Then Return False
                End If
    
                Return True
            End Function
    
            Private Function ISLaendercode(ByVal code As String) As Boolean
                If code.Length <> 2 Then
                    Return False
                Else
                    code = code.ToUpper()
                    Dim Laendercodes As String() = {"AA", "AB", "AC", "AD", "AE", "AF", "AG", "AH", "AI", "AJ", "AK", "AL", "AM", "AN", "AO", "AP", "AQ", "AR", "AS", "AT", "AU", "AV", "AW", "AX", "AY", "AZ", "BA", "BB", "BC", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BK", "BL", "BM", "BN", "BO", "BP", "BQ", "BR", "BS", "BT", "BU", "BV", "BW", "BX", "BY", "BZ", "CA", "CB", "CC", "CD", "CE", "CF", "CG", "CH", "CI", "CJ", "CK", "CL", "CM", "CN", "CO", "CP", "CQ", "CR", "CS", "CT", "CU", "CV", "CW", "CX", "CY", "CZ", "DA", "DB", "DC", "DD", "DE", "DF", "DG", "DH", "DI", "DJ", "DK", "DL", "DM", "DN", "DO", "DP", "DQ", "DR", "DS", "DT", "DU", "DV", "DW", "DX", "DY", "DZ", "EA", "EB", "EC", "ED", "EE", "EF", "EG", "EH", "EI", "EJ", "EK", "EL", "EM", "EN", "EO", "EP", "EQ", "ER", "ES", "ET", "EU", "EV", "EW", "EX", "EY", "EZ", "FA", "FB", "FC", "FD", "FE", "FF", "FG", "FH", "FI", "FJ", "FK", "FL", "FM", "FN", "FO", "FP", "FQ", "FR", "FS", "FT", "FU", "FV", "FW", "FX", "FY", "FZ", "GA", "GB", "GC", "GD", "GE", "GF", "GG", "GH", "GI", "GJ", "GK", "GL", "GM", "GN", "GO", "GP", "GQ", "GR", "GS", "GT", "GU", "GV", "GW", "GX", "GY", "GZ", "HA", "HB", "HC", "HD", "HE", "HF", "HG", "HH", "HI", "HJ", "HK", "HL", "HM", "HN", "HO", "HP", "HQ", "HR", "HS", "HT", "HU", "HV", "HW", "HX", "HY", "HZ", "IA", "IB", "IC", "ID", "IE", "IF", "IG", "IH", "II", "IJ", "IK", "IL", "IM", "IN", "IO", "IP", "IQ", "IR", "IS", "IT", "IU", "IV", "IW", "IX", "IY", "IZ", "JA", "JB", "JC", "JD", "JE", "JF", "JG", "JH", "JI", "JJ", "JK", "JL", "JM", "JN", "JO", "JP", "JQ", "JR", "JS", "JT", "JU", "JV", "JW", "JX", "JY", "JZ", "KA", "KB", "KC", "KD", "KE", "KF", "KG", "KH", "KI", "KJ", "KK", "KL", "KM", "KN", "KO", "KP", "KQ", "KR", "KS", "KT", "KU", "KV", "KW", "KX", "KY", "KZ", "LA", "LB", "LC", "LD", "LE", "LF", "LG", "LH", "LI", "LJ", "LK", "LL", "LM", "LN", "LO", "LP", "LQ", "LR", "LS", "LT", "LU", "LV", "LW", "LX", "LY", "LZ", "MA", "MB", "MC", "MD", "ME", "MF", "MG", "MH", "MI", "MJ", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NB", "NC", "ND", "NE", "NF", "NG", "NH", "NI", "NJ", "NK", "NL", "NM", "NN", "NO", "NP", "NQ", "NR", "NS", "NT", "NU", "NV", "NW", "NX", "NY", "NZ", "OA", "OB", "OC", "OD", "OE", "OF", "OG", "OH", "OI", "OJ", "OK", "OL", "OM", "ON", "OO", "OP", "OQ", "OR", "OS", "OT", "OU", "OV", "OW", "OX", "OY", "OZ", "PA", "PB", "PC", "PD", "PE", "PF", "PG", "PH", "PI", "PJ", "PK", "PL", "PM", "PN", "PO", "PP", "PQ", "PR", "PS", "PT", "PU", "PV", "PW", "PX", "PY", "PZ", "QA", "QB", "QC", "QD", "QE", "QF", "QG", "QH", "QI", "QJ", "QK", "QL", "QM", "QN", "QO", "QP", "QQ", "QR", "QS", "QT", "QU", "QV", "QW", "QX", "QY", "QZ", "RA", "RB", "RC", "RD", "RE", "RF", "RG", "RH", "RI", "RJ", "RK", "RL", "RM", "RN", "RO", "RP", "RQ", "RR", "RS", "RT", "RU", "RV", "RW", "RX", "RY", "RZ", "SA", "SB", "SC", "SD", "SE", "SF", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SP", "SQ", "SR", "SS", "ST", "SU", "SV", "SW", "SX", "SY", "SZ", "TA", "TB", "TC", "TD", "TE", "TF", "TG", "TH", "TI", "TJ", "TK", "TL", "TM", "TN", "TO", "TP", "TQ", "TR", "TS", "TT", "TU", "TV", "TW", "TX", "TY", "TZ", "UA", "UB", "UC", "UD", "UE", "UF", "UG", "UH", "UI", "UJ", "UK", "UL", "UM", "UN", "UO", "UP", "UQ", "UR", "US", "UT", "UU", "UV", "UW", "UX", "UY", "UZ", "VA", "VB", "VC", "VD", "VE", "VF", "VG", "VH", "VI", "VJ", "VK", "VL", "VM", "VN", "VO", "VP", "VQ", "VR", "VS", "VT", "VU", "VV", "VW", "VX", "VY", "VZ", "WA", "WB", "WC", "WD", "WE", "WF", "WG", "WH", "WI", "WJ", "WK", "WL", "WM", "WN", "WO", "WP", "WQ", "WR", "WS", "WT", "WU", "WV", "WW", "WX", "WY", "WZ", "XA", "XB", "XC", "XD", "XE", "XF", "XG", "XH", "XI", "XJ", "XK", "XL", "XM", "XN", "XO", "XP", "XQ", "XR", "XS", "XT", "XU", "XV", "XW", "XX", "XY", "XZ", "YA", "YB", "YC", "YD", "YE", "YF", "YG", "YH", "YI", "YJ", "YK", "YL", "YM", "YN", "YO", "YP", "YQ", "YR", "YS", "YT", "YU", "YV", "YW", "YX", "YY", "YZ", "ZA", "ZB", "ZC", "ZD", "ZE", "ZF", "ZG", "ZH", "ZI", "ZJ", "ZK", "ZL", "ZM", "ZN", "ZO", "ZP", "ZQ", "ZR", "ZS", "ZT", "ZU", "ZV", "ZW", "ZX", "ZY", "ZZ"}
    
                    If Array.IndexOf(Laendercodes, code) = -1 Then
                        Return False
                    Else
                        Return True
                    End If
                End If
            End Function
    
            Private Function IBANCleaner(ByVal sIBAN As String) As String
                For x As Integer = 65 To 90
                    Dim replacewith As Integer = x - 64 + 9
                    Dim replace As String = (ChrW(x)).ToString()
                    sIBAN = sIBAN.Replace(replace, replacewith.ToString())
                Next
    
                Return sIBAN
            End Function
    
            Private Function Modulo(ByVal sModulus As String, ByVal iTeiler As Integer) As Integer
                Dim iStart, iEnde, iErgebniss, iRestTmp, iBuffer As Integer
                Dim iRest As String = "", sErg As String = ""
                iStart = 0
                iEnde = 0
    
                While iEnde <= sModulus.Length - 1
                    iBuffer = Integer.Parse(iRest & sModulus.Substring(iStart, iEnde - iStart + 1))
    
                    If iBuffer >= iTeiler Then
                        iErgebniss = iBuffer / iTeiler
                        iRestTmp = iBuffer - iErgebniss * iTeiler
                        iRest = iRestTmp.ToString()
                        sErg = sErg & iErgebniss.ToString()
                        iStart = iEnde + 1
                        iEnde = iStart
                    Else
                        If sErg <> "" Then sErg = sErg & "0"
                        iEnde = iEnde + 1
                    End If
                End While
    
                If iStart <= sModulus.Length Then iRest = iRest & sModulus.Substring(iStart)
                Return Integer.Parse(iRest)
            End Function
    
            Private Function IsNumeric(ByVal value As String) As Boolean
                Try
                    Integer.Parse(value)
                    Return (True)
                Catch
                    Return (False)
                End Try
            End Function
        End Class
    End Namespace
    

    Diese Funktion deckt was IBAN angeht alles ab

    Gruß Klaus

    Freitag, 24. Januar 2020 10:54
  • Vielen Dank Peter

    Genau was ich gesucht habe. Somit wird mir auch klar, was gemacht wird.

    Gruss Marcel

    Freitag, 24. Januar 2020 11:18
  • Danke Klaus

    Deinen Teil kann ich auch noch verwenden, da ich noch weiter die IBAN prüfen muss.

    Gruss Marcel

    Freitag, 24. Januar 2020 11:19
  • Hallo Marcel,

    Ich freue mich, dass die Funktion erfolgreich konvertiert wurde, aber ich möchte die richtige Markierung als Antwort ansprechen. Es gilt den Beitrag oder die Beiträge mit der richtigen Lösung als Antwort zu markieren, die in diesem Fall auch den entsprechend konvertierten Code enthalten. Dadurch wird die Lösung hervorgehoben und für künftige Leser dieses Threads übersichtlicher. Den eigenen Beitrag zu markieren macht nur dann Sinn, wenn Du selbst zur Lösung gekommen bist. Ich verweise Dich auf die Forenregeln:

    ·        Lösungsbeiträge als “Die Antwort“ markieren
    Bitte markieren Sie den Beitrag, der zur Lösung geführt hat, als "Die Antwort". Durch Bewerten eines Beitrags als "Die Antwort" können andere Teilnehmer die Lösung schneller finden. Außerdem können Sie dem Benutzer, der die Antwort eingereicht hat, für seinen Beitrag danken und zur Steigerung der Antwortqualität in der Diskussionsgruppe beitragen.

    Gruß,
    Dimitar


    Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.

    Montag, 27. Januar 2020 08:38
    Administrator
  • Sorry Dimitar

    Da ist was falsch gelaufen. Ich wollte gar nicht meine Antwort markieren, sondern jene von Peter Fleischer. Bei seinem Beitrag steht die richtige Antwort für mich drin.

    So wie es aussieht, ist es nun korrigiert. Ich entschuldige mich für den Vorfall.

    Gruss Marcel

    Dienstag, 4. Februar 2020 18:05