Forum » Programiranje » BASIC - Šifriranje preglednice v OpenOfficu
BASIC - Šifriranje preglednice v OpenOfficu
EdHardy ::
Pozdravljeni,
prosil bi za pomoč pri nalogi in sicer:
NAVODILA:
TRENUTNA KODA:
NAPAKA, KI JO JAVI AVTOMATSKO PREVERJANJE:
KOMENTAR ASISTENTA:
"Še vedno se makro ne izvede. Pade v prvi vrstici sifrirajList: oSheet spremenljivke nimate nikjer definirane! Po poročilo avtomatskega testa tudi dešifriranje v primeru značke na prvem mestu ne deluje pravilno."
Spremenljivko oSheet sem ze popravil in sicer v spremenljivko List
Težava je, da imam za oddajo le še eno možnost, zato več ni dosti prostora za napake. Posledično se obračam na vašo pomoč, saj sam nimam skoraj nobene podlage v basicu.
Lp
prosil bi za pomoč pri nalogi in sicer:
NAVODILA:
TRENUTNA KODA:
REM ***** BASIC ***** Function GesloVZrno(Geslo$) hash = 7 maska = &H00FFFFFF j = len(Geslo$) if len(Geslo$) > 0 then Do znak = Mid(Geslo$,j,1) A=asc(znak) hash = 33*hash+A hash = hash AND maska j = j-1 Loop While j>0 end if hash = hash and &H00007FFF GesloVZrno = hash end Function Function SifrirajCelico(Celica$, Zrno, Znacka$) randomize(Zrno) dCelice = Len(Celica$) dZnacke = Len(Znacka$) If Len(Celica$)>0 Then enacba = false znacka = false If Mid(Celica$, 1, dZnacke) = Znacka$ Then znacka = true Celica$ = Mid(Celica$, dZnacke + 1, dCelice - dZnacke) dCelice = Len(Celica$) Elseif (Mid(Celica$,1,1)="=" OR Mid(Celica$,1,1)="-" OR Mid(Celica$,1,1)="+") Then enacba = true End if j=1 Do Until j>dCelice znak = Mid(Celica$,j,1) A = Asc(znak) If A>31 AND A<128 Then B = CInt(rnd()*31) A = A XOR B menjava = Chr(A) Mid(celica$,j,1,menjava) End if j=j+1 Loop If (znacka=false AND (Mid(Celica$,1,1)="=" OR Mid(Celica$,1,1)="-" OR Mid(Celica$,1,1)="+")) OR enacba=true Then Celica$ = Znacka$ & Celica$ End If End If SifrirajCelico = Celica$ End Function Sub SifrirajList(List, Zrno, Znacka$) oCell = List.GetCellbyPosition( 0, 0 ) oCursor = List.createCursorByRange(oCell) oCursor.GotoEndOfUsedArea(True) aAddress = oCursor.RangeAddress stVrstic = aAddress.EndRow stStolpcev = aAddress.EndColumn For stolpec = 0 To stStolpcev For vrstica = 0 To stVrstic oCell = List.GetCellByPosition(stolpec, vrstica) vredn = oCell.Formula vredn = SifrirajCelico(vredn, Zrno, Znacka$) oCell.Formula = vredn Next vrstica Next stolpec End Sub Sub Main Znacka$ = "LUKA" Geslo$ = InputBox("Vstavi geslo", "Geslo", "E1087370") Zrno = GesloVZrno(Geslo$) ThisComponent.LockControllers For j=0 To ThisComponent.Sheets.getCount()-1 List=thisComponent.sheets(j) SifrirajList(List, Zrno, Znacka$) Next j ThisComponent.UnLockControllers End Sub
NAPAKA, KI JO JAVI AVTOMATSKO PREVERJANJE:
KOMENTAR ASISTENTA:
"Še vedno se makro ne izvede. Pade v prvi vrstici sifrirajList: oSheet spremenljivke nimate nikjer definirane! Po poročilo avtomatskega testa tudi dešifriranje v primeru značke na prvem mestu ne deluje pravilno."
Spremenljivko oSheet sem ze popravil in sicer v spremenljivko List
Težava je, da imam za oddajo le še eno možnost, zato več ni dosti prostora za napake. Posledično se obračam na vašo pomoč, saj sam nimam skoraj nobene podlage v basicu.
Lp
amacar ::
Če ne druga si izpiši (pred kodiranjem, med kodiranjem, po dekodiranju) in poglej če imaš enako, ne rabiš vsakič na netu preverjat.
Drugače pa je tukaj link do moje sprejete naloge (pred leti): http://www57.zippyshare.com/v/31I9qWdX/...
Še tole na prvi pogled:
Pravilno je:
https://wiki.openoffice.org/wiki/Docume...
Bi pogledal podrobneje, pa se mi ne da inštalirati openoffica.
Drugače pa je tukaj link do moje sprejete naloge (pred leti): http://www57.zippyshare.com/v/31I9qWdX/...
Še tole na prvi pogled:
oCell = List.GetCellbyPosition( 0, 0 )
Pravilno je:
getCellByPosition
https://wiki.openoffice.org/wiki/Docume...
Bi pogledal podrobneje, pa se mi ne da inštalirati openoffica.
Zgodovina sprememb…
- spremenil: amacar ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | pomoč excelOddelek: Pomoč in nasveti | 3504 (2228) | sax8er |
» | excel+visual basicOddelek: Pomoč in nasveti | 1557 (1444) | švrk |
» | EXCEL-VISUALBASICOddelek: Programiranje | 1109 (1012) | bm0267 |
» | [excel] makro | excel -pomocOddelek: Programiranje | 1958 (1742) | smetko |
» | [Visual studio .NET] Rabim pomočOddelek: Programiranje | 1590 (1432) | darkolord |