Gå til innhold

Anbefalte innlegg

Skrevet

Hei. Hvordan lager man slik at når jeg skriver F.eks "Dan" i text1 så skal den krypteres som

 

A betyr 001

B betyr 002 osv...

 

så kommer den kryptert ut av text2 ?

Hvordan gjør man dette? kan noen gi meg en eksempel på dette ?

Videoannonse
Annonse
Skrevet (endret)

Sleng in tre tekstbokser og sett multiline til true på alle sammen.

 

Edit: og seff sleng inn en knapp :p

 

Private Sub Command1_Click()
Text3.Text = Text1.Text

Text2.Text = Replace(Text1.Text, "a", "001 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "b", "002 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "c", "003 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "d", "004 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "e", "005 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "f", "006 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "g", "007 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "h", "008 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "i", "009 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "j", "010 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "k", "011 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "l", "012 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "m", "013 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "n", "014 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "o", "015 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "p", "016 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "q", "017 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "r", "018 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "s", "019 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "t", "020 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "u", "021 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "v", "022 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "w", "023 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "x", "024 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "y", "025 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "z", "026 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "æ", "027 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "ø", "028 ", 1, , vbTextCompare)
Text1.Text = Text2.Text
Text2.Text = Replace(Text1.Text, "å", "029 ", 1, , vbTextCompare)

Text1.Text = Text3.Text
End Sub

Private Sub Form_Load()

Text3.Visible = False

Text1.Text = "Din melding"
Text2.Text = "Dinkrypterte melding"
'tekst3 er bare et buffer sånn at den orginale medlinga du skriver inn kan kommer tilbake
End Sub

 

Du skjønner koden? Den replacer a med 001 legger den tilbake og gjør det samme igjen med b. Sett inn fler tegn hvis du vil.

Endret av jonas22282460
Skrevet

Litt mye kode, kanskje? :ermm:

 

Ville heller ha gjort det slik:

 

Const Lenght = 3

Public Function EncryptText(ByVal Text As String) As String

Dim Buff$, Tell&, Tmp&

Buff = Space(Len(Text) * Lenght)

For Tell = 1 To Len(Text)
Tmp = Asc(Mid(Text, Tell, 1))
Mid(Buff, IIf(Tell = 1, 1, (Tell - 1) * Lenght + 1), Lenght) = FillNumber(Tmp, Lenght)
Next

EncryptText = Trim(Buff)

End Function

Public Function FillNumber(ByVal Value As Long, ByVal NumDigt As Long)

FillNumber = String(NumDigt - Len(CStr(Value)), "0") & Value

End Function

 

Etter du har skrevet dette inn kan du bruke denne koden:

 

Text2.Text = EncryptText(Text1.Text)

 

Denne koden gjør alt om til tall. A blir imidlertid ikke 001, men jeg vil si dette er mye bedre da man også kan ta med tall, spesial tegn osv.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...