Suivez-nous sur X

|
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
ALL
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
0,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z
|
|
A propos d'Obligement
|
|
David Brunet
|
|
|
|
Programmation : Blitz Basic - crypteur/décrypteur
(Article écrit par Sylvain Terret - décembre 2004)
|
|
Hop, de retour avec un nouveau listing ! Ce mois-ci, on attaque un crypteur/décrypteur de fichiers texte pour AmigaOS 3.x.
Il fonctionne sous Workbench et dispose d'une GUI basée sur GadTools. L'algorithme de cryptage est très simple, en fait,
il est carrément élémentaire : pour crypter, on incrémente la valeur ASCII de chaque caractère du texte de 1.
Visuellement, ça devient illisible, donc l'objectif premier est atteint.
Je rappelle, à ceux qui hésiteraient encore à se lancer, que l'archive Lha d'AmiBlitz 2 est disponible sur
www.blitz-2000.co.uk. C'est gratuit, légal et ça permet de programmer sur tout
Amiga Classic équipé d'une FPU. Même si ce langage de programmation n'a pas l'aura du C ou de l'assembleur,
sachez qu'il permet de passer de bons moments à coder tranquille de petites applications ou de grands jeux.
Ok, assez parlé, on code maintenant !
-- DEBUT SOURCE DU PROGRAMME --
WBStartup
WbToScreen 3
Use Screen 3
LoadFont 2,"topaz.font",8
Use IntuiFont 2
DosBuffLen 8192
MaxLen chemin_source$=192
MaxLen nom_source$=192
MaxLen chemin_target$=192
MaxLen nom_target$=192
GTButton 0,1,75,0,160,15,"Choose source",$10
GTButton 0,2,235,0,160,15,"Choose target",$10
GTButton 0,3,75,15,160,15,"Crypt",$10
GTButton 0,4,235,15,160,15,"Uncrypt",$10
Window 0,0,14,480,105,$140e,"NCrypt v1.0 - A simple text file trasher",-1,-1
DefaultOutput
AttachGTList 0,0
Use Window 0
WLocate 10,60
Print "Source :"
WLocate 10,70
Print "Target :"
;Boucle principale du programme
While ev.l<>$200
;On recupere les evenements qui se produisent dans la fenêtre du logiciel
ev.l=Event
WindowOutput 0
;Si on clique sur un bouton
If ev.l=64
;Si on clique sur le bouton CHOOSE SOURCE
If GadgetHit=1
chemin_source$=""
nom_source$=""
source$=""
source$=ASLFileRequest$("Select SOURCE file",chemin_source$,
nom_source$,0,14,320,256)
If nom_source$=""
WLocate 80,60
Print "No file selected "
EndIf
If nom_source$<>""
WLocate 80,60
Print nom_source$+" "
EndIf
EndIf
;Si on clique sur le bouton CHOOSE TARGET
If GadgetHit=2
chemin_target$=""
nom_target$=""
target$=""
target$=ASLFileRequest$("Select TARGET file",chemin_target$,
nom_target$,0,14,320,256)
If nom_target$=""
WLocate 80,70
Print "No file selected "
EndIf
If nom_target$<>""
WLocate 80,70
Print nom_target$+" "
EndIf
EndIf
;Si on clique sur le bouton CRYPT
If GadgetHit=3
If nom_source$<>"" AND nom_target$<>"" AND nom_source$<>nom_target$
WLocate 30,80
Print "Crypting... "
KillFile target$
If ReadFile(0,source$)
FileInput 0
If WriteFile(1,target$)
FileOutput 1
While NOT Eof(0)
Print Chr$(Asc(Inkey$)+1)
Wend
CloseFile 1
EndIf
CloseFile 0
EndIf
WindowOutput 0
WLocate 30,80
Print "OK "
EndIf
EndIf
;Si on clique sur le bouton UNCRYPT
If GadgetHit=4
If nom_source$<>"" AND nom_target$<>"" AND nom_source$<>nom_target$
WLocate 30,80
Print "Uncrypting... "
KillFile target$
If ReadFile(0,source$)
FileInput 0
If WriteFile(1,target$)
FileOutput 1
While NOT Eof(0)
Print Chr$(Asc(Inkey$)-1)
Wend
CloseFile 1
EndIf
CloseFile 0
EndIf
WindowOutput 0
WLocate 30,80
Print "OK "
EndIf
EndIf
EndIf
Wend
DetachGTList 0
Free Window 0
End
-- FIN SOURCE DU PROGRAMME --
|
Pour ceux qui ont la flemme de recopier le code source, il est à disposition dans
ce fichier texte ou en version Blitz Basic (.bb2).
|