coder en : MCC (Mega Code Center) :


Code : Tout sélectionner
NewList code.s()
;- Window Constants
;
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
;
Enumeration
#String_0
#Frame3D_0
#Frame3D_1
#Button_0
#Button_1
#String_1
EndEnumeration
Procedure Open_Window_0()
If OpenWindow(#Window_0, 327, 273, 359, 152, #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_TitleBar | #PB_Window_WindowCentered , "Codeur MCC V4.7")
If CreateGadgetList(WindowID())
StringGadget(#String_0, 20, 30, 210, 20, "")
Frame3DGadget(#Frame3D_0, 10, 10, 330, 60, "CODER")
Frame3DGadget(#Frame3D_1, 10, 80, 330, 60, "DECODER")
ButtonGadget(#Button_0, 260, 30, 60, 20, "Coder")
ButtonGadget(#Button_1, 260, 100, 60, 20, "Decoder")
StringGadget(#String_1, 20, 100, 210, 20, "")
EndIf
EndIf
EndProcedure
Procedure coder(text$)
Repeat
lettre$ = Mid(text$,Len(text$)-a,1)
b$ = Mid(text$,1+a,1) + lettre$
mot$ = mot$ + b$
a = a + 1
Until a = Len(text$)
SetGadgetText(#String_1,mot$)
EndProcedure
Procedure decoder(text$)
b = 1
mot$ = Left(text$,Len(text$)/2)
Repeat
AddElement(code.s())
code.s() = ""
a = a + 1
Until a = Len(mot$)
Repeat
packet$ = Mid(mot$,b,2)
premier$ = Mid(packet$,1,1)
deuxieme$ = Mid(packet$,2,1)
SelectElement(code.s(),0+element)
code.s() = premier$
SelectElement(code.s(),Len(mot$)-(element+1))
code.s() = deuxieme$
element = element + 1
b = b + 2
Until element = Len(mot$)/2
Repeat
SelectElement(code.s(),c)
nouveau_text$ = nouveau_text$ + code.s()
c = c + 1
Until c = Len(mot$)
SetGadgetText(#String_0,nouveau_text$)
EndProcedure
open_window_0()
Repeat
Select WaitWindowEvent()
Case #PB_EventGadget
Select EventGadgetID()
Case #button_0
text$ = GetGadgetText(#String_0)
coder(text$)
Case #button_1
text$ = GetGadgetText(#String_1)
decoder(text$)
EndSelect
Case #PB_EventCloseWindow
quit = 1
EndSelect
Until quit = 1
