Carl Bruiners Agile / IT Development Consultant

27Oct/091

VB.NET Luhn Check

As promised here is the VB.NET luhn check. As I haven't been able to carry out any work on my formatter yet, this will remain unformatting until complete.

Public Function luhnChk(ByVal ccNo As String) As Boolean
Dim i, w, a As Integer
Dim x As String
a = 0

ccNo = ccNo.Trim()
w = 2 * (Len(ccNo) Mod 2)

For i = Len(ccNo) - 1 To 1 Step -1
x = Mid(ccNo, i, 1)
If IsNumeric(x) Then
Select Case (i Mod 2) + w
Case 0, 3
a = a + CInt(x)
Case 1, 2
x = CInt(x) * 2
If x > 9 Then
a = a + (x  10) + (x - 10)
Else
a = a + x
End If
End Select
End If
Next
a = 10 - (a Mod 10)
If a > 9 Then a = 0
Return (CStr(a) = Right(ccNo, 1))
End Function

I haven't added in checking the first number/s validation, as I have found there to be an inconsistency as to what number/s are used on what card type (an example was that I was told by one bank that a Maestro card couldn't start with 67, only Solo, but I have a Maestro card that does!) 

Tagged as: , , 1 Comment
24Oct/090

Code formatter

I started this morning looking for a code formater for blogger and I found;

http://formatmysourcecode.blogspot.com/

It was nice but there were no color coding options for the code. I dug further and found the following;

http://www.manoli.net/csharpformat/

Which is great for c#, vb.net and t-sql, but it isn't blogger friendly (didn't generate all the CSS inline).

What I have done for this site is to use the ideal of blogger friendly code formating from http://formatmysourcecode.blogspot.com/ and merge it with http://www.manoli.net/csharpformat/.

Another problem was that whilst I had now worked out how to generate the right look and feel for .NET / SQL, I didn't have a JavaScript formater. I found http://www.felgall.com/jsformat.htm, which is great but again I have had to combine this formater with the idea of the http://www.manoli.net/csharpformat/

So after all the messing around I have downloaded http://www.manoli.net/csharpformat/ source code and will be adding the following functionality;

  • Blogger friendly formatting
  • JS formatting
  • CSS formatting

As soon as its completed I'll post in on my Portfolio site (http://www.carlbruiners.co.uk) for you all to download and use.