Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
VB.NET 1.60 KB | None | 0 0
  1. Dim dna As String, lengteDNA As Integer, codering As String, huidigeLetter As String, NextLetter As String, _
  2. alfabet As String
  3.  
  4. dna = ActiveCell.Value
  5. lengteDNA = Len(dna)
  6. alfabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  7.  
  8. 'het resultaat is voorlopig leeg
  9. codering = ""
  10.  
  11. 'neem eerste letter
  12. huidigeLetter = Left(dna, 1)
  13. 'zet het aantal op 1 (de eerste letter werd 1x ingelezen)
  14. aantal = 1
  15. 'en ga naar plaats 2 en begin te loopen
  16. For i = 2 To lengteDNA
  17.    'lees de nieuwe letter in
  18.    NextLetter = Mid(dna, i, 1)
  19.  
  20.    'is het dezelfde? of een andere?
  21.    If NextLetter = huidigeLetter Then
  22.       'bij dezelfde letter: gewoon aantal verhogen.. that's it
  23.       aantal = aantal + 1
  24.    Else
  25.       'bij een nieuwe letter: de oude correct wegschrijven
  26.       If aantal < 4 Then
  27.       codering = huidigeLetter
  28.           'loopje dat huidigeLetter 1, 2 of 3 maal wegschrijft naar codering
  29.             For j = 1 To aantal
  30.                codering = codering & huidigeLetter
  31.             Next j
  32.       Else
  33.          'we hebben er meer dan 4... dat wordt coderen
  34.          'zoek juiste alfabetletter
  35.           If aantal <= 26 Then
  36.               codering = codering & "-" & Mid(alfabet, aantal, 1) & huidigeLetter
  37.           ElseIf aantal > 26 Then
  38.               '' werkt enkel voor aantal kleiner dan 52 ... :-(
  39.               aantal = aantal - 26
  40.               codering = codering & "-" & "Z" & huidigeLetter & "-" & Mid(alfabet, aantal, 1) & huidigeLetter
  41.           End If
  42.       End If
  43.       'zo, de huidige is weggeschreven... de nieuwe wordt de huidige
  44.        huidigeLetter = NextLetter
  45.        aantal = 1
  46.    End If
  47. Next i
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement