Maitris писал(а):главное чтобы потом можно было привести это в нормальный вид
Private Function Crypt(strText As String) As String
Dim strTemp As String
Dim i As Integer, j As Integer
For i = 1 To Len(strText)
j = Asc(Mid(strText, i, 1))
If j < 255 Then
strTemp = strTemp & Chr(j - 1)
Else
strTemp = strTemp & Chr(255)
End If
Next i
Crypt = strTemp
End Function
Maitris писал(а):Если кому надо:
- Код: Выделить всё
Private Function Crypt(strText As String) As String
Dim strTemp As String
Dim i As Integer, j As Integer
For i = 1 To Len(strText)
j = Asc(Mid(strText, i, 1))
If j < 255 Then
strTemp = strTemp & Chr(j - 1)
Else
strTemp = strTemp & Chr(255)
End If
Next i
Crypt = strTemp
End Function
dim b() as byte, i as long
b=strconv(strText,vbfromunicode)
for i=lbound(b) to ubound(b)
b(i)=(b(i)+1) mod 256
next
Crypt=strconv(b,vbunicode)
dim i as long
Crypt=strText
for i=1 to len(crypt)
mid$(crypt,i,1)=chr$((asc(mid$(strtext,i,1))+1) mod 256)
next
GSerg писал(а):А сам код ужасен.
Maitris писал(а):GSerg писал(а):А сам код ужасен.
Как зло. Может и ужасен, но тем не менее работоспособен.
Maitris писал(а):Ну так chr(0) это пустая строка
tyomitch писал(а):Или пять пустых строк, склеенные вместе?
BV писал(а):Chr$(0), он же vbNullChar - символ, но не имеющий знака...
А по какому принципу вычисляется длинна строки? Считаются все сиволы по порядку начиная от начала строки до первого попавшегося нуль-символа. Естественно, что как строка, этот набор байт будет иметь нулевую длинну.Странно... У меня получается пустая строка (Len=0)
Dim str As String, str2 As String
str = Chr(0) + "тратата" + Chr(0)
str2 = "тратата" + Chr(0)
Text1.Text = str
Debug.Print "Какая длина? " & Len(str) & vbCrLf & "Какая длина? " & Len(Text1.Text)
Text1.Text = str2
Debug.Print "А теперь? " & Len(str2) & vbCrLf & "А теперь? " & Len(Text1.Text)
Twister писал(а):А по какому принципу вычисляется длинна строки? Считаются все сиволы по порядку начиная от начала строки до первого попавшегося нуль-символа. Естественно, что как строка, этот набор байт будет иметь нулевую длинну.Странно... У меня получается пустая строка (Len=0)
Да, без сомнения в VB строка и массив байт не одно и то же.Это только в текстбоксе так. В стринге длина хранится отдельно, что позволяет склеить вместе пять пустых строк
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 34