#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Local $alf = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ"
GUICreate("Шифр Цезаря",500,500)
GUICtrlCreateLabel("Ключ сдвига алфавита", 0, 0)
Local $idkey = GUICtrlCreateInput("1",0, 20, 300, 20)
Local $idMyedit1 = GUICtrlCreateEdit("АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ" & @CRLF, 0,100, 200, 97, $ES_AUTOVSCROLL + $WS_VSCROLL)
Local $idMyedit2 = GUICtrlCreateEdit("", 0,200, 200, 97, $ES_AUTOVSCROLL + $WS_VSCROLL)
Local $idButton1 = GUICtrlCreateButton("закодировать в цезаря", 220, 100, 185, 25)
Local $idButton2 = GUICtrlCreateButton("раскодировать из цезаря", 220, 200, 185, 25)
GUISetState(@SW_SHOW)
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
ExitLoop
Case $idButton1
;закодировать в шифр цезаря
$text = GUICtrlRead($idMyedit1)
local $y = ""
Local $key = GUICtrlRead($idkey)
local $n = 34
for $index = 1 to $n
local $indexsymbol = Mod(($n + $index+$key),$n)
$y = $y & StringMid($alf,$indexsymbol,1)
next
GUICtrlSetData($idMyedit1, "")
GUICtrlSetData($idMyedit2, "")
GUICtrlSetData($idMyedit1, StringUpper($text), 1)
GUICtrlSetData($idMyedit2, StringUpper($y), 1)
Case $idButton2
;раскодировать из цезаря
$text = GUICtrlRead($idMyedit2)
local $x = ""
Local $key = GUICtrlRead($idkey)
local $n = 34
for $index = 1 to $n
local $indexsymbol = Mod(($n + $index - $key),$n)
$x = $x & StringMid($alf,$indexsymbol,1)
next
GUICtrlSetData($idMyedit1, "")
GUICtrlSetData($idMyedit2, "")
GUICtrlSetData($idMyedit1, StringUpper($text), 1)
GUICtrlSetData($idMyedit2, StringUpper($x), 1)
EndSwitch
WEnd
|