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 | 3922 (2646) | sax8er |
| » | excel+visual basicOddelek: Pomoč in nasveti | 1704 (1591) | švrk |
| » | EXCEL-VISUALBASICOddelek: Programiranje | 1226 (1129) | bm0267 |
| » | [excel] makro | excel -pomocOddelek: Programiranje | 2098 (1882) | smetko |
| » | [Visual studio .NET] Rabim pomočOddelek: Programiranje | 1718 (1560) | darkolord |


