Obligement - L'Amiga au maximum

Dimanche 01 juin 2025 - 13:14  

Translate

En De Nl Nl
Es Pt It Nl


Rubriques

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

Articles in English


Réseaux sociaux

Suivez-nous sur X




Liste des 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,
ALL


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


Galeries

Menu des galeries

BD d'Amiga Spécial
Caricatures Dudai
Caricatures Jet d'ail
Diagrammes de Jay Miner
Images insolites
Fin de jeux (de A à E)
Fin de Jeux (de F à O)
Fin de jeux (de P à Z)
Galerie de Mike Dafunk
Logos d'Obligement
Pubs pour matériels
Systèmes d'exploitation
Trombinoscope Alchimie 7
Vidéos


Téléchargement

Documents
Jeux
Logiciels
Magazines
Divers


Liens

Associations
Jeux
Logiciels
Matériel
Magazines et médias
Pages personnelles
Réparateurs
Revendeurs
Scène démo
Sites de téléchargement
Divers


Partenaires

Annuaire Amiga

Amedia Computer

Relec


A Propos

A propos d'Obligement

A Propos


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]