Obligement - L'Amiga au maximum

Jeudi 27 juillet 2017 - 06:42  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

 · Accueil
 · A Propos
 · Articles
 · Galeries
 · Glossaire
 · Hit Parade
 · Liens
 · Liste jeux Amiga
 · Quizz
 · Téléchargements
 · Trucs et astuces


Articles

 · Actualité (récente)
 · Actualité (archive)
 · Comparatifs
 · Dossiers
 · Entrevues
 · Matériel (tests)
 · Matériel (bidouilles)
 · Points de vue
 · En pratique
 · Programmation
 · Reportages
 · Tests de jeux
 · Tests de logiciels
 · Tests de compilations
 · Articles divers

 · Articles in english
 · Articles in other languages


Twitter

Suivez-nous sur Twitter




Liens

 · Sites de téléchargements
 · Associations
 · Pages Personnelles
 · Moteurs de recherche
 · Pages de liens
 · Constructeurs matériels
 · Matériel
 · Autres sites de matériel
 · Réparateurs
 · Revendeurs
 · Presse et médias
 · Programmation
 · Développeurs logiciels
 · Logiciels
 · Développeurs de jeux
 · Jeux
 · Autres sites de jeux
 · Scène démo
 · Divers
 · Informatique générale


Jeux Amiga

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


Trucs et astuces

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


Glossaire

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


Partenaires

Annuaire Amiga

Amedia Computer

Relec

Hit Parade


Contact

David Brunet

Courriel

 


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).


[Retour en haut] / [Retour aux articles] [Article précédent] / [Article suivant]