Tu si u pravu, ja nikada ne bi pomislio da poboljsam onaj prvi algoritam, jer mi cisto treba da mi ne cackaju ukucani po dokumentima, a da im prilazim lako.
Juhuuuuuuuuuu! Ne znam da li da dam source, ali evo dacu.
Code:
If TextBox1.Text <> "" And TextBox2.Text <> "" Then
ListBox1.Items.Clear()
ProgressBar1.Value = 0
Dim DuzinaTexta As Long
Dim I_text As Integer
DuzinaTexta = Len(TextBox1.Text)
Dim Tekst(DuzinaTexta) As Integer
For I_text = 1 To DuzinaTexta
Tekst(I_text) = Asc(Mid$(TextBox1.Text, I_text))
Next I_text
Dim DuzinaKljuca As Long
Dim I_Kljuc As Integer
DuzinaKljuca = Len(TextBox2.Text)
Dim SumaKljuca As Long
Dim Kljuc(DuzinaKljuca) As Integer
For I_Kljuc = 1 To DuzinaKljuca
Kljuc(I_Kljuc) = Asc(Mid$(TextBox2.Text, I_Kljuc))
SumaKljuca = SumaKljuca + Kljuc(I_Kljuc)
Next I_Kljuc
SumaKljuca = (SumaKljuca * 2 * Kljuc(1)) / 500
Dim GODA As Long
GODA = SumaKljuca + 10
Dim Soda
Soda = GODA - (DuzinaKljuca * 2)
Soda = Soda / 8
Dim Voda(DuzinaTexta)
Dim i_voda As Integer
Dim ii_Kljuc As Long
ProgressBar1.Visible = True
For i_voda = 1 To DuzinaTexta
ProgressBar1.Maximum = DuzinaTexta
ii_Kljuc = ii_Kljuc + 1
If ii_Kljuc > Len(TextBox2.Text) Then ii_Kljuc = 1
Voda(i_voda) = Soda + Tekst(i_voda) + Kljuc(ii_Kljuc) * 2
ListBox1.Items.Add(Voda(i_voda))
ProgressBar1.Value = i_voda
Next i_voda
ProgressBar1.Visible = False
Panel1.BackColor = Color.Red
If pproveri() = "NO" Then MsgBox("Nije dobra sifra")
Else
MsgBox("Unesite odgovarajuce podatke!", MsgBoxStyle.OKOnly, "Nedostaju podatci!")
End If
Evo je mudrost za kodiranje :)
A evo je za dekodiranje:
Code:
If ListBox1.Items.Count <> 0 Then
Dim I_text As Integer
Dim DuzinaKljuca As Long
Dim I_Kljuc As Integer
DuzinaKljuca = Len(TextBox2.Text)
Dim SumaKljuca As Long
Dim Kljuc(DuzinaKljuca) As Integer
For I_Kljuc = 1 To DuzinaKljuca
Kljuc(I_Kljuc) = Asc(Mid$(TextBox2.Text, I_Kljuc))
SumaKljuca = SumaKljuca + Kljuc(I_Kljuc)
Next I_Kljuc
SumaKljuca = (SumaKljuca * 2 * Kljuc(1)) / 500
Dim GODA As Long
GODA = SumaKljuca + 10
Dim DSODA As Integer
DSODA = GODA - Len(TextBox2.Text) * 2
DSODA = DSODA / 8
Dim I_dekr As Integer
Dim Dekri As Integer
Dim ii_dd As Integer
Dim Otkljuc(ListBox1.Items.Count) As String
TextBox1.Text = ""
Dim Finalno As String
ProgressBar1.Value = 0
ProgressBar1.Visible = True
ProgressBar1.Maximum = ListBox1.Items.Count
Dim RezultatX As String
For I_dekr = 1 To ListBox1.Items.Count
ii_dd = ii_dd + 1
If ii_dd > Len(TextBox2.Text) Then ii_dd = 1
Dekri = ListBox1.Items.Item(I_dekr - 1)
Dekri = Dekri - (DSODA + Kljuc(ii_dd) * 2)
On Error GoTo 503
Finalno = Chr(Dekri)
Otkljuc(I_dekr) = Finalno
RezultatX = RezultatX + Finalno
ProgressBar1.Value = I_dekr
Next I_dekr
TextBox1.Text = RezultatX
ProgressBar1.Visible = False
Else
MsgBox("Popunite sva polja!", MsgBoxStyle.OKOnly, "Nedostaju podatci")
End If
Exit Sub
503: MsgBox("Nekompatibilna sifra")
ProgressBar1.Visible = False
ProgressBar1.Value = 1
TextBox1.Text = ""
Ne znam da sve znam da ništa ne znam!