Так я пытаюсь сделать функцию из многих функций (я считаю, что это называется рекурсией, прочитал сообщение об этом ранее на этом форуме)функция не работает правильно (AutoIt)
Когда я пытаюсь сделать несколько вещей в одну большую функцию, чтобы я мог ее называть позже, она, похоже, не работает, но когда я убираю «func _hello()» и «endfunc» с конца, все, кажется, работает хорошо. Может кто-нибудь, пожалуйста, объясните это мне. Я знаю, что проблема возникает из-за функции «Конверсия», но я не могу понять, почему это происходит. Пожалуйста, помогите, язык, используемый здесь, - это AutoIt
;;;****Program adds spaces *****
;;;***** the input variable here is $New*****
Global $final
Global $Hexadec
Func _hello()
$DataToBeDecrypted = "55fdaf fdafd"
$2space = $DataToBeDecrypted
$New = $2space
$AddingSpace = StringSplit($New, "")
$Final = ""
If Conversion($AddingSpace[0]) Then
For $Spacing = 1 to $AddingSpace[0] Step 2
$Final = $Final & $AddingSpace[$Spacing] & $AddingSpace[$Spacing+1] & " "
Next
MsgBox(0, "Adding space to the message so it can be converted back to Hex", $Final)
Else
MsgBox(0, "Result", "String does not contain an even number of characters.")
EndIf
Func Conversion($Hexadec)
Return Mod($Hexadec, 2) = 0
EndFunc
;;;***The final value is stored in the $final variable****
;***** Hexadecimals to ASCII*****
;;***Input variable is $HexadecimaltoASCII2******
$HexadecimalToASCII2 =$final
$HexadecimalsToASCII = ChrH($HexadecimalToASCII2)
$Ascii2Hex = Sub($HexadecimalsToASCII)
$v5ar = Chr($HexadecimalsToASCII);char
MsgBox(0,"Hex to ASCII",$HexadecimalsToASCII)
Func ChrH($v8)
Local $v5=""
$A1 = StringSplit($v8, " ")
For $count = 1 To $A1[0]
$v5 &= Chr(Dec($A1[$count]))
Next
Return $v5
endFunc
Func Sub($v8)
Local $v9=""
For $count = 1 To StringLen($v8)
If StringLen(Hex(Asc(StringMid($v8, $count, 1)),2)) = 1 Then
$v9 &= "0" & Hex(Asc(StringMid($v8, $count, 1)))
Else
$v9 &= Hex(Asc(StringMid($v8, $count, 1)),2)
EndIf
If $count <> StringLen($v8) Then $v9 &= " "
Next
Return $v9
endFunc
;*****HEXADECIMAL to ASCII*****
EndFunc
Каждый 'Func' нуждается в закрытии' EndFunc'. В вашем коде кажется, что функции ** Conversion **, ** ChrH ** и ** Sub ** находятся в функции ** _ hello **. Это не сработает! Также вам нужно вызвать по крайней мере 1 функцию извне, функции не будут выполняться сами по себе. Посмотрите на этот маленький пример: http://brugbart.com/autoit-functions – mrt