IT NEWS PC REVUE PC FORUM FreeBSDInternet time: @159
Obsah fóra
Pravidlá  •  Kontakt  •  Prihlásenie  •  Registrácia

Riadenie pohľadávok

Máte problém s neplatičmi? Ak nevymôžeme, neplatíte! patriotgroup.eu

Spevňujúci telový olej

Novinka - spevňujúci olej Q10 plus. Pre hladkú a krásnu pokožku. www.NIVEA.sk

Aktuálna novinka

Zisti pravdu o stravovaní! Vyšetrovanie odhalilo tajomstvo dokonalého tela. www.news2channel.net

Kde sú vaše firemné autá?

Online sledovanie vozidiel pomocou GPS už od 18,90€/mes. Skús demo movys.sk

Kedy sa oplatí prerobiť auto

na plyn? Nemusíte nevyhnutne hľadať kalkulačku a papier, aby ste si autoviny.zoznam.sk

VB 6.0 chyba

Zaslať odpoveď
AutorSpráva
Wpegb
Užívateľ
Užívateľ

Založený: 29.06.2009
Príspevky: 61

PríspevokZaslal: Po 28.09.09 19:22Odpovedať s citátomNávrat hore

zdravim. mam nasledujuci kod:

kód:
 'da veci do premennych
 login = InputBox("Zadajte prihlasovacie heno", "Login")
 pass = InputBox("Zadajte heslo", "Password")
 
 meno = frm1.Text3.Text
 priezvisko = frm1.Text4.Text
 email = frm1.Text5.Text
 telefon = frm1.Text6.Text
 ucet = frm1.Text7.Text
 adresa = frm1.Text8.Text
 
 'vytvori dlhe čiselne heslo v premennej
 hesloa = login
 heslob = pass
 dlzkaheslaa = Len(hesloa)
 For i = 1 To dlzkaheslaa
   heslo = heslo & Asc(Mid(hesloa, i, 1))
 Next i
 dlzkaheslab = Len(heslob)
 For i = 1 To dlzkaheslab
   heslo = heslo & Asc(Mid(heslob, i, 1))
 Next i
 
 heslocislo = heslo
 
 'vyčistenie premennych
 hesloa = ""
 heslob = ""
 dlzkaheslaa = ""
 dlzkaheslab = ""
 
 'sifrovanie mena
 retazec = meno
 dlzkaretazca = Len(retazec)
 dlzkahesla = Len(heslo)
 For i = 1 To dlzkaretazca
  If a = dlzkahesla Then a = 0
  a = a + 1
  kriptor = Mid(heslocislo, a, 1)
  pismeno = Mid(retazec, i, 1)
  pismenox = (Asc(pismeno)) + kriptor
  pismenoy = pismenox Xor heslocislo
  celytext = celytext & "#" & pismenoy
 Next i
 
 menox = celytext

je to len kusok. vypisuje mi to chybu. v programe ide o sifrovanie textu. myslim si že je chyba v typoch premennej, pretože premenna heslocislo byva velmi dlhe cislo ale nemam tam dat aku premennu pretože String nemôže spravit Xor a do Long nezmestm tolko čisiel. a z niekeho neznameho dôvodu mi nefunguje premenna Decimal. Neviete niekto čo s tym??? ak bude treba dodam dalšie info.
Dakujem
Zobraziť informácie o autoroviOdoslať súkromnú správu
Patkoo
Užívateľ
Užívateľ

Založený: 02.11.2008
Príspevky: 85

PríspevokZaslal: Ut 29.09.09 10:29Odpovedať s citátomNávrat hore

co keby si poslal cely kod aj s deklaraciami ?
Zobraziť informácie o autoroviOdoslať súkromnú správu
Wpegb
Užívateľ
Užívateľ

Založený: 29.06.2009
Príspevky: 61

PríspevokZaslal: Ut 29.09.09 13:52Odpovedať s citátomNávrat hore

Včera som nemal vela času tak som to len tak na rychlo tu napisal. Tu je cely kod:

Kod formuláru (frm1):
kód:
Private Sub cmm3_Click()
 ulozit
End Sub

Private Sub cmm5_Click()
 If MsgBox("Ste si isty že chcete vyčistit udaje????", vbYesNo + vbExclamation, _
 "Vyčistenie") = vbYes Then
  For Each objekty In frm1.Controls
   If objekty.Tag = "vycistit" Then
    objekty.Text = ""
   End If
  Next objekty
 End If
End Sub

Private Sub cmm6_Click()
 koniec
End Sub

Private Sub mnuinfo_Click()
 info
End Sub

Private Sub mnukoniec_Click()
 koniec
End Sub


Kod modulu (module1):
kód:
Public login As String
Public pass As String
Public meno As String
Public priezvisko As String
Public email As String
Public telefon As String
Public ucet As String
Public adresa As String

Public loginx As String
Public passx As String
Public menox As String
Public priezviskox As String
Public emailx As String
Public telefonx As String
Public ucetx As String
Public addresax As String

Public retazec As String
Public heslo As String
Public heslocislo As Double
Public hesloa As String
Public heslob As String
Public dlzkaretazca As String
Public dlzkahesla As String
Public dlzkaheslaa As String
Public dlzkaheslab As String
Public vyslednytext As String
Public pismeno As String
Public pismenox As Long
Public pismenoy As Long
Public kriptor As String
Public a As Long

Sub main()
 Load frm1
 frm1.Show
End Sub

Sub info()
 MsgBox ("Súkromné informácie 1.0" & Chr(13) & Chr(10) & _
 "Dátum vydania: ???" & Chr(13) & Chr(10) & "Hlavný programátor: Wpegb" & _
 Chr(13) & Chr(10) & ":D :D :D :D")
End Sub

Sub koniec()
 If MsgBox("Ste si isty že chcete ukončit program???? Všetky neuložené dáta budú stratené", _
 vbYesNo + vbExclamation, "Koniec") = vbYes Then End
End Sub

Sub ulozit()
 'da veci do premennych
 login = InputBox("Zadajte prihlasovacie heno", "Login")
 pass = InputBox("Zadajte heslo", "Password")
 
 meno = frm1.Text3.Text
 priezvisko = frm1.Text4.Text
 email = frm1.Text5.Text
 telefon = frm1.Text6.Text
 ucet = frm1.Text7.Text
 adresa = frm1.Text8.Text
 
 'vytvori dlhe čiselne heslo v premennej
 hesloa = login
 heslob = pass
 dlzkaheslaa = Len(hesloa)
 For i = 1 To dlzkaheslaa
   heslo = heslo & Asc(Mid(hesloa, i, 1))
 Next i
 dlzkaheslab = Len(heslob)
 For i = 1 To dlzkaheslab
   heslo = heslo & Asc(Mid(heslob, i, 1))
 Next i
 
 heslocislo = heslo
 
 'vyčistenie premennych
 hesloa = ""
 heslob = ""
 dlzkaheslaa = ""
 dlzkaheslab = ""
 
 'sifrovanie mena
 retazec = meno
 dlzkaretazca = Len(retazec)
 dlzkahesla = Len(heslo)
 For i = 1 To dlzkaretazca
  If a = dlzkahesla Then a = 0
  a = a + 1
  kriptor = Mid(heslocislo, a, 1)
  pismeno = Mid(retazec, i, 1)
  pismenox = (Asc(pismeno)) + kriptor
  pismenoy = pismenox Xor heslocislo
  celytext = celytext & "#" & pismenoy
 Next i
 
 menox = celytext
 
End Sub


Viem že kod je zbytočne dlhy niekotre veci by sa tam dali spravit jednoduksie.

Este tu davam screen:
Zobraziť informácie o autoroviOdoslať súkromnú správu
Patkoo
Užívateľ
Užívateľ

Založený: 02.11.2008
Príspevky: 85

PríspevokZaslal: St 30.09.09 17:22Odpovedať s citátomNávrat hore

Prva chyba moze byt v tom, ze nemas vo frm1 zadefinovane "Option explicit". Dalej, ak by som to uz robil pomocou Modulov, namiesto Sub by som pouzil Public Sub, kedze si osobne myslim, ze Sub plati iba vo vnutri Modula. Popripade by som pouzil Public function. V kazdej slucke by som pouzil inu premennu, nie vsade premennu "i". Taktiez si treba deklarovat premennu v aktualnom Sub-e (popr. Function-e), nie globalne.

Funkciu "ulozit" by som trocha pozmenil, a dal jej moznost zadania vstupnych parametrov, ako aj definovat tej funkcii nejaky vystup (napr. typu Boolean - true alebo false).


priklad:

frm1:

dim vystup as boolean

vystup = ulozit(meno.text,heslo.text,cislo.text)
-- vstupne parametre budu v podstate tvoje textboxy na formulari. vystup by bol typu boolean, podla toho, ci nenastala nejaka chyba pri vykonavani funkcie.

funkcia v module1 by vyzerala nejak takto:

Public Function ulozit(meno as string,heslo as string,cislo as string) as boolean

---- parametre funkcie, kodovanie xor a pod.

end function


Ak ti to stale nefunguje, alebo mas nejake nejasnosti, kludne napis.
Zobraziť informácie o autoroviOdoslať súkromnú správu
Wpegb
Užívateľ
Užívateľ

Založený: 29.06.2009
Príspevky: 61

PríspevokZaslal: Ut 06.10.09 21:14Odpovedať s citátomNávrat hore

Zatial dakujem ked si najdem trocha času tak to dam dako dokopi a potom napisem ci ide alebo nie.....
ešte raz Dakujem
Zobraziť informácie o autoroviOdoslať súkromnú správu
Wpegb
Užívateľ
Užívateľ

Založený: 29.06.2009
Príspevky: 61

PríspevokZaslal: St 07.10.09 18:41Odpovedať s citátomNávrat hore

uz viem prečo to neslo.... robil som to tak ako si radi ale aj tak to pisalo chybu....
problem je alebo bol v tom že cislo ktore malo byt XOR-ovane bolo velmi dlhe... dal som to do cyklu tak aby bralo len každe piate cislo, teda je kračie a uz to ide..... Ked to dokončim cele tak sem hodim cley kod...
Zobraziť informácie o autoroviOdoslať súkromnú správu
Zobraziť príspevky z predchádzajúcich:    
Zaslať odpoveď
Nemôžete pridávať nové témy do tohto fóra.
Nemôžete odpovedať na témy v tomto fóre.
Nemôžete upravovať svoje príspevky v tomto fóre.
Nemôžete mazať svoje príspevky v tomto fóre.
Nemôžete hlasovať v tomto fóre.

Powered by phpBB 2.x.x © 2005 - 2012 PCforum, webhosting by WebSupport, edited by JanoF

SEO - optimalizácia pre vyhľadávače

Freebsd