Code : Tout sélectionner
;- Window Constants
Enumeration
#Window_0
EndEnumeration
;- Gadget Constants
Enumeration
#Button_0
#Button_1
#String_0
EndEnumeration
;{ procedure ouvrir
Procedure StreamFileIn_Callback(hFile, pbBuff, cb, pcb)
ProcedureReturn ReadFile_(hFile, pbBuff, cb, pcb, 0) ! 1
EndProcedure
Procedure FileStreamIn(FileID.l, file.s, Gadget.l, Mode.l)
Protected StreamData.EDITSTREAM
If Mode <> #SF_RTF : Mode = #SF_TEXT : EndIf
If ReadFile(FileID, file)
StreamData\dwCookie = FileID(FileID)
StreamData\dwError = #Null
StreamData\pfnCallback = @StreamFileIn_Callback()
SendMessage_(GadgetID(Gadget), #EM_STREAMIN, Mode, @StreamData)
CloseFile(FileID)
NomFichier$ = GetFilePart(file)
ProcedureReturn #True
Else
ProcedureReturn #False
EndIf
EndProcedure
;}
;{ procedure sauvegarder
Procedure StreamFileOut_Callback(hFile, pbBuff, cb, pcb)
ProcedureReturn WriteFile_(hFile, pbBuff, cb, pcb, 0) ! 1
EndProcedure
Procedure FileStreamOut(FileID.l, file.s, Gadget.l, Mode.l)
Protected StreamData.EDITSTREAM
If Mode <> #SF_RTF : Mode = #SF_TEXT : EndIf
If CreateFile(FileID, file)
StreamData\dwCookie = FileID(FileID)
StreamData\dwError = #Null
StreamData\pfnCallback = @StreamFileOut_Callback()
SendMessage_(GadgetID(Gadget), #EM_STREAMOUT, Mode, @StreamData)
CloseFile(FileID)
EndIf
EndProcedure
;}
If OpenWindow(#Window_0, 0, 0, 130, 50, "TxtCrypter", #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered )
If CreateGadgetList(WindowID(#Window_0))
ButtonGadget(#Button_0, 0, 0, 130, 25, "Crypter un fichier texte")
ButtonGadget(#Button_1, 0, 25, 130, 25, "Dérypter un fichier texte")
EditorGadget(#String_0, 0, 0, 0, 0)
EndIf
EndIf
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
Select EventGadget()
Case #Button_0
Fichier$ = OpenFileRequester("ouvrir un fichier texte a crypter", "", "Fichier Texte|*.txt", 0)
FileStreamIn(0, Fichier$, #String_0, #SF_TEXT)
Texte$ = GetGadgetText(#String_0)
Valeur$ = ""
For i = 1 To Len(Texte$)
Valeur$ = Valeur$ + Str(Asc(Mid(Texte$, i, 1))) +" "
Next
SetGadgetText(#String_0, Valeur$)
FileStreamOut(0, Fichier$ + "", #String_0, #SF_TEXT)
MessageRequester("information", "cryptage réussi avec succées.", 0)
Case #Button_1
Fichier$ = OpenFileRequester("ouvrir un fichier texte a crypter", "", "Fichier Texte|*.txt", 0)
FileStreamIn(0, Fichier$, #String_0, #SF_TEXT)
Texte$ = GetGadgetText(#String_0)
Valeur$ = ""
For i = 1 To Len(texte$)
Resultat$ = StringField(texte$, i, " ")
Valeur$ = Valeur$ + Chr(Val(Resultat$))
Next i
SetGadgetText(#String_0, Valeur$)
FileStreamOut(0, Fichier$ + "", #String_0, #SF_TEXT)
MessageRequester("information", "décryptage réussi avec succées.", 0)
EndSelect
EndIf
Until EventID = #PB_Event_CloseWindow