2015-12-08 11 views
0

У меня есть задание написать макрос в LibreOffice, который будет кодировать сообщение с помощью операции XOR. У меня проблема: функция не допускается в рамках процедуры. когда я пытаюсь запустить макрос. Это код:Функция не допускается в рамках процедуры

REM ***** BASIC ***** 
Sub Main 
end Sub 

function izracunajHash(geslo, zacetni_hash) 
    zacetni_hash = 17520 
    hash = zacetni_hash 
    mask = &H00FFFFFF 
    dolzina = len(geslo) 
    If dolzina > 0 Then 
     for f=1 to dolzina step +1 
      podniz = mid(geslo,dolzina,1) 
      char = Asc(podniz) 
      hash = 33*hash + char 
      hash = hash AND mask 
      dolzina = dolzina +1 
      hash = hash AND &H00FFFFFF 
     next f 
     izracunajHash = hash 
End function 

function kodiraj(niz) //this is where the problem occurs according to LibreOffice 
    y = 1 
    if Len(niz) > 0 Then 
     x = Len(niz) 
     Do While y > (x+1) 
      sign = Mid(niz, y, 1) 
      z1 = Asc(sign) 
      if z1 > 31 Then 
       z2 = (CInt(rnd()*31)) 
       z1 = z1 XOR z2 
       z1 = Chr(z1) 
       Mid(niz,y,1,z1) 
      End If 
      y = y + 1 
     Loop 
    End If 
    kodiraj = niz 
End function 

Заранее благодарен. (Я отрезал какой-то неважный код, который мне не нужно писать)

ответ

1

В вашей первой функции у вас есть оператор if без соответствующего End If.

+0

Код еще не выполнен, так что, возможно, если вы поймете, почему, вы можете вернуться ко мне. благодаря –

 Смежные вопросы

  • Нет связанных вопросов^_^