FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
gardien des favories WEB, mot de passe, etc Emptypar Pedro Aujourd'hui à 10:37

» Un autre pense-bête...
gardien des favories WEB, mot de passe, etc Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
gardien des favories WEB, mot de passe, etc Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
gardien des favories WEB, mot de passe, etc Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
gardien des favories WEB, mot de passe, etc Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
gardien des favories WEB, mot de passe, etc Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
gardien des favories WEB, mot de passe, etc Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
gardien des favories WEB, mot de passe, etc Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
gardien des favories WEB, mot de passe, etc Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
gardien des favories WEB, mot de passe, etc Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
gardien des favories WEB, mot de passe, etc Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
gardien des favories WEB, mot de passe, etc Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
gardien des favories WEB, mot de passe, etc Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
gardien des favories WEB, mot de passe, etc Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
gardien des favories WEB, mot de passe, etc Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-40%
Le deal à ne pas rater :
(CDAV) Machine à pâtes Philips 7000 series HR2665/96 à 148,99€
148.88 € 249.99 €
Voir le deal

 

 gardien des favories WEB, mot de passe, etc

Aller en bas 
AuteurMessage
Oscaribout




Nombre de messages : 471
Date d'inscription : 29/12/2016

gardien des favories WEB, mot de passe, etc Empty
MessageSujet: gardien des favories WEB, mot de passe, etc   gardien des favories WEB, mot de passe, etc EmptyVen 15 Fév 2019 - 1:48

Pour résoudre un problème que j'ai eu, cela fait 3 fois que mon PC plante complètement après un mise à jour, je viens de faire ce programme pour résoudre ce problème.

Deux fois que je perd les favoris des navigateurs, Hier mon PC a encore planté, mais avec le disque "C" partitionné pour mettre mes données avec une autre lettre et ce programme, tout est rentré en ordre pour la réinstallation.

Toutes les données de ce programme sont cryptées, donc attention à celui qui prend ce programme, les données seraient irrécupérables.

Dans le programme, j'ai mis un tableau de cryptage, mais je mets aussi un programme, pour les changer à votre guise. Évidemment une fois changée, on n'y touche plus.



Spoiler:

Spoiler:
Installation:
Pour commencer,une fois chargé le programme, j'installe dans un dossier dédié. Personnellement le fichier bas, je le mettrais en protection ailleurs pour éviter toute intrusion. Là c'est un choix personnellement

Une fois l'exécutable en action, il y a 2 boutons pour ajouter un dossier ou un ficher.Pour un dossier, dans la fenêtre de droite,on met le nom, et on valide en cliquant sur "OK", ou sortir pour annuler.

Pour un fichier, c'est un peu plus compliqué, vu qu'il y a davantage de données à rentrer.
-le 1er edit est le nom qui sera marqué dans le list à gauche.
-le 2ème est pour moi celui où on reporte dans le cas d'un e-mail, celui de l'adresse e-mail.
-dans le 3ème edit, j'ai mets le mot de passe.
-dans le 4ème, celui-ci est prévu pour entrer une information, ou une image JPG ou BMP. Si c'est le chemin d'une image, elle sera affichée.
-Il y a en haut un check. Celui-ci, si il est marqué, on ne pourra afficher que la 1ère ligne. Pour voir le restant, on clique sur le bouton mot de passe, pour l'écrire dans l'edit qui s'ouvre, et on a alors le restant des lignes visible. Il est possible alors de modifier les données. Pour supprimer, le mot de passe est de nouveau demandé. Toutes les données étant criptées, elles sont illisibles dans le fichier correspondant.

Code:
' ==============================================================================
'           PROGRAMME mémoire WEB favorie, de classement de programme,
'               d'aide mémoire, de sauvegarde de mots de passe ...
'                      Panoramic 0.9.29i5  15 février 2019
' ==============================================================================

rem "===========================================================================
dim dis_$  , virt$ :     dis_$ = left$(dir_current$,3)
if disk_exists("z") = 1
   virt$ = "Z:\temp" : '     disque virtuel    }    " emplacement virtuel si il existe
else
   virt$ = left$(dir_current$,3) +"temp"       :rem " normalement c:\temp\
end_if
If dir_exists(virt$) = 0 then dir_make virt$    :rem " création de c:\temp\ éventuel

width 0,300:height 0,screen_y-10 : border_hide 0 :color 0,153,100,0
label clic_rich  , new_dos  , ok10 ,arriere, modifier ,debloc0 ,mdp ,copie16,copie19,sauve20 ,supprime , fini

dim fiche$ , dos_$ , grid$ , mem$ , nc%  , lig%  ,x$,k$ ,r$ ,le% ,f$ , d$ ,co% , mdp% , file$

dos_$= dir_current$
file$ = "sauve_grid.cod"  :' <-=== mettre le nom qui convient

if right$(dos_$,1) <> "" then dos_$ = dos_$ + ""
mem$ = dos_$  :' mémoire de l'emplacement de départ
grid$ = dos_$
' .......
dim nom$ , dossier$  , res%, hnd%, txt$
nom$     = "\f0\highlight0\cf0\fs24\b0 "
dossier$ =  "\f0\highlight1\cf0\fs26\b "
' %@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@ normalement inutile ici @%@%@%@%@%@
dim n$  : n$ =  "\f0\highlight0\cf0\fs24\b0 "
dim hd$ : hd$ = "\f3\highlight3\cf2\fs24\b "+chr$(3)+chr$(6)  :' 
dim md$ : md$ = "\f3\highlight3\cf2\fs20\b "+chr$(25)
dim h$  :  h$ = "\f1\highlight4\cf0\fs20\b 2":'  +chr$(25)
dim pt$ : pt$ = "\f3\highlight3\cf2\fs16\b  "+chr$(7)

' %@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@
open_dialog 5
FORM 10:width 10,600:height 10,160+400 : left 10,300:top 10,60 : border_small 10
   on_close 10,debloc0   : border_hide 10 : color 10,100,40,0 : top 10,0
alpha 11:parent 11,10:caption 11,"entrez le nom":left 11,120:top 11,50
    hide 10
   alpha 12:parent 12,10:left 12,10:top 12,45:caption 12,"Nom :" : font_color 12,255,255,255 :font_size 12,10:font_bold 12
   check 13:parent 13,10:left 13,340:top 13,40:caption 13,"Protégé":hint 13,"demande mot de passe pour ouvrir" +chr$(13)+"Coché: demande mot de passe"+chr$(13)+"décoché: tout afficher"
   edit  15:parent 15,10:left 15,50:top 15,40 : width 15,280 : font_size 15,11:font_bold 15  
   edit  16:parent 16,10:left 16,10:width 16,430:color 16,225,240,242:font_size 16,11:font_bold 16:font_name 16,"Sogoe UI" :top 16,70:text 16,dir_current$            
   button 17:parent 17,10:left 17,100:top 17,10:caption 17,"OK"      : on_click 17,ok10
   button 18:parent 18,10:left 18,10:top 18,10:caption 18,"SORTIR" : on_click 18,ok10 :font_size 18,10:font_bold 18
   edit  19:parent 19,10:left 19,10:top 19,100 :width 19,430 : font_size 19,10:font_bold 19:color 19,225,255,160
  
   edit  20:parent 20,10:left 20,10:top 20,130:width 20,430 : font_size 20,11 : font_bold 20:color 20,255,175,145  
   button 21:parent 21,10:left 21,430:top 21,18:caption 21,"Modifier":height 21,18 :width 21,70 : on_click 21, modifier
   button 22:parent 22,10:left 22,left(21)-160:top 22,18:caption 22,"mot de passe":hide 22 :height 22,18 : on_click 22,mdp  
         hint 22,"Il faut un mot de passe pour débloquer"
   edit  23:parent 23,10:left 23,340:top 23,40:width 23,1  : hide 23 : font_color 23,255,255,255 :' reste invisible
   edit  24:parent 24,10:left 24,340:top 24,40:width 24,150  : hide 24 : font_size 24,11 :hint 24,"taper le mot de passe, et "+chr$(13)+"valder par 'Enter'"+chr$(13)+"Echap pour reprendre"
   button 25:parent 25,10:left 25,510:top 25,18:height 25,18:caption 25,"Supprimer":width 25,70:on_click 25,supprime
   button 30:parent 30,10:left 30,450:top 30,top(16):width 30,35:height 30,18:caption 30,"Copier" : on_click 30,copie16
   button 31:parent 31,10:left 31,450:top 31,top(19):width 31,35:height 31,18:caption 31,"Copier" : on_click 31,copie19
   button 32:parent 32,10:left 32,450:top 32,top(20):width 32,35:height 32,18:caption 32,"Ouvrir" : on_click 32,sauve20
   picture 34:parent 34,10:top 34,170:left 34,10:height 34,280
   ' -------------------------  
button 50:top 50,5:left 50,50:caption 50,"Nouveau dossier"  :on_click 50,new_dos :width 50,90  
picture 51 :width 51,40:height 51,30  
      top 51,0:left 51,05: print_target_is 51 :font_bold 51 :font_name 51,"Wingdings":font_size 51,13 : font_color 51,255,0,0
      color 51,210,220,210 : 2d_target_is 51: 2d_fill_color 0,0,255:2d_fill_color 255,255,160 :2d_pen_width 2
      2d_rectangle 2,1,38,25 :print_locate 10,3:print chr$(197): on_click 51,arriere  
' edit  53:left 53,0:top 53,40:width 53,500     :top 53,0    
button 54:top 54,5:left 54,150:caption 54,"Nouvelle fiche"   :on_click 54,new_dos :width 54,90
picture 55 : left 55,260 : width 55,30 : height 55,30 : color 55,255,200,255 : font_name 55,"Wingdings" : font_size 55,20
   font_color 55,255,0,0 : 2d_target_is 55 : 2d_fill_color 255,255,255 : print_target_is 55 : print_locate 3,3
   print chr$(253) : on_click 55,fini
' ------------------------------------
memo_rich 60:left 60,10:width 60,1000:top 60,32:height 60,height_client(0)-60 : bar_horizontal 60  :cursor_point 60  : on_click 60,clic_rich
memo 61:left 61,220:top 61,70:height 61,1 : width 61,700 : hide 61:' préparation du memo_rich
' -----------------    
rem " vient du programme 'codage/décodage'
dlist 212
dlist 210
dlist 211:' lecture clair
dlist 221:' top 221,485:width 221,width_client(0):height 221,100  :hint 221,221
memo 99:hide 99:bar_both 99
grid 9: hide 9  :' :top 9,300:width 9,1000
panel 62:top 62,33:left 62,width(0)-10:width 62,10:height 62,height(60):color 62,153,100,0
' lancement_____________________________________________________________  
variables()                                        
  file(grid$)
  text 60,text$(61)
END    
' ------------    
fini:
 terminate
return      
' %@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@

SUB file(grid$)  
   grid$ = grid$ + file$
   if file_exists(grid$) = 1 then decodage(grid$)
END_SUB                                                                        
' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%
ok10:
   OK10()  :hide 10: return
' ==============================================================================  
rem "======================================="
rem " cliqué sur le bouton OK de la form 10 "
rem "======================================="
  
SUB OK10()  
   mdp% = 0
   if number_click = 18  :' sortir
      active 17          :' OK
      hide 10 : active 0 : to_foreground 0 : show 0
      repeat : pause 100 : until show(0) = 1 or scancode = 27
      exit_sub
   end_if
   dim_local a$,i% ,c%
   a$ = text$(15)
   if a$ <> ""
      ' text 53,str$(number_current_line)+ "->"+ dir_current$+""
      if right$(dir_current$,1) <> ""
         grid$ = dir_current$ +""
      else
         grid$ = dir_current$
      end_if
      
      if nc%=50  :' bouton nouveau dossier          
         item_add 99, h$+n$+" "+a$+"\par"  : c%=count(99)
         grid_write 9,c%,1,"+"+a$    
         if dir_exists( dos_$+a$) = 0 and message_confirmation_yes_no("Est-ce qu'on créé le dossier: "+ a$ ) = 1
            dir_make dos_$+a$                      
         end_if
         grid_write 9,c%,1,"+" +text$(15)      
      else
         item_add 99,pt$+n$+" "+a$+"\par"  :  c%=count(99)                  
         grid_write 9,c%,1,"-"+a$
         grid_write 9,c%,2,text$(16)
         grid_write 9,c%,3,text$(19)
         grid_write 9,c%,4,text$(20)
         if checked(13) = 1 then grid_write 9,c%,5,1 : else: grid_write 9,c%,5,0
      end_if
      hide 10
      memorich()
      active 0
      pre_codage(dos_$)
   end_if      
   hide 10  : active 0 : to_foreground 0
END_SUB  

' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%

supprime:
   supprime():return
' ------------------  
SUB supprime()
   dim_local a$,i%
   message "Veuillez donner le mot de passe" + chr$(13) + "pour effacer cette fiche"
   gosub mdp :  if k$ <> x$   then message "Effacement de la fiche: Annulée" : exit_sub
   if message_confirmation_yes_no("On efface") = 1
      a$ = grid_read$(9,lig%,4) :' normalement c'est une image        
      if a$ <> "" and file_exists(dos_$+a$) = 1
         if message_confirmation_yes_no("On supprime l'image:"+a$) = 1 then file_delete dos_$+a$
      end_if
      grid_row_delete 9,lig% : clear 60:clear 61:' clear 99  A VOIR POUR AFFICHER MEMO_RICH CORRECT
      memorich()
      pre_codage(dos_$)  
      gosub debloc0
   end_if
END_SUB
' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%
copie16:        
   clipboard_string_copy text$(16) :return
' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%
copie19:
   clipboard_string_copy text$(19) :return
' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%
sauve20:
   filter 5,"Image|*.bmp;*.jpg;*.jpeg"
   f$ = file_name$(5)
   if f$ <> "_" then text 20,f$ : height 10,500 : show 34
   image(f$)
return
' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%

sub image(f$)    : ' merci à (JL35) pour cette sub
   dim_local res%,wi%,hi%, rapport , h%
   h% = height(34)
   DIM_LOCAL fm$: fm$ = virt$ + "x.bmp": ' temporaire, à ajuster
   PICTURE 1099: HIDE 1099: FILE_LOAD 1099,f$: FILE_SAVE 1099,fm$: DELETE 1099
   FILEBIN_OPEN_READ 1,fm$
   FILEBIN_POSITION 1,18: wi% = FILEBIN_READ(1)+256*FILEBIN_READ(1)
   FILEBIN_POSITION 1,22: hi% = FILEBIN_READ(1)+256*FILEBIN_READ(1)  
   FILEBIN_CLOSE 1  :   FILE_DELETE fm$
   rapport = h%/hi% :  width 34,wi%*rapport
   stretch_on 34    :  file_load 34,f$  
end_sub
' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%

mdp:
   show 23 : show 24
   text 23,"" : text 24,"" :set_focus 24
   repeat
      pause 50
      if scancode = 27 then text 23,"" : text 24,""
      if text$(23) <> "" then text 24,string$(len(text$(23)),chr$(149))
      set_focus 23
   until scancode = 13
   k$ = text$(23)
   if k$ = x$
      show 16:show 19:show 20:show 13:height 10,160 : hide 22: else : show 22 :show 30:show 31:show 32
      mdp%=1
   end_if    
   hide 23 : hide 24
return
' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%
debloc0:
   active 17 : hide 10 : active 0 : to_foreground 0 : show 0
      repeat : pause 100 : until show(0) = 1 or scancode = 27
return
' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%
modifier:
   modifier() :return
' --------------------  
SUB modifier()
   ' ne concerne que les fiches, non les dossiers
   grid_write  9,lig%,1,"-"+text$(15)
   grid_write  9,lig%,2,text$(16)
   grid_write  9,lig%,3,text$(19)
   grid_write  9,lig%,4,text$(20)
   if checked(13) = 1 then grid_write 9,lig%,5,1 : else : grid_write 9,lig%,5,0  
   grid$ = dos_$
   pre_codage(grid$)
   gosub debloc0
END_SUB

' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%

' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%
arriere:
   arriere() : return
' ------------------------------------------------------------------------------        
SUB arriere()
   dim_local i% ,j% ,p% , a$  , c$      
   a$ = file_extract_path$(dos_$)          
   if a$ = mem$ then exit_sub :' on est au début du dossier
  
   r$ = a$     :' on enlève le nom du fichier si présent, puis on rétrograde dans le chemin
   a$ = reverse$(a$)  : a$ = right_pos$(a$,instr(a$,"")) : a$ = right_pos$(a$,2)
   a$ = right_pos$(a$,instr(a$,""))  :  a$ = reverse$(a$)  
   dos_$ = a$   :  dir_change a$  
    
   if file_exists(dos_$+file$) = 1
      grid_clear 9,1000,6
   else
      clear 99 : clear 61
      grid_clear 9,1000,6
      clear 60
   end_if
  
   file(dos_$)
   lire_grid()
END_SUB
' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%  

clic_rich:
   clic_rich() : return  
' ----------------------------------
rem "=============================="
rem " CLIC SUR UN ITEM MEMORICH 60 "
rem "=============================="

sub clic_rich()
   dim_local item%,a$ , cur% , sel%  ,i% , u$ ,bl$, tx$ , j% , dossier$  ,j$
   sel% = caret_position(60)
   tx$ = left$(text$(60),sel%)
   ' -----
   lig% = caret_y_position(60)
   a$ = item_read$(60,lig%)  
   width 10,600
   if left$(a$,1)="2"  :  ' dossier  
      dos_$ = dos_$+right_pos$(a$,3) +""
      if right$(dos_$,1) <> "" then dos_$ = dos_$ + ""
      if dir_exists(dos_$) =1 then dir_change dos_$
      
      if file_exists(dos_$) = 1
         grid_clear 9,1000,6
         clear 99 : clear 61 : clear 60
         file(dos_$)
      else
         clear 99 : clear 61
         grid_clear 9,1000,6
         clear 60
      end_if
      
   else
      if left$(a$,2) = " "+chr$(7)      :  ' fichier
         show 10  : inactive 0  : inactive 17 : show 25 : active 21 :set_focus 15
         nc% = 54
         text 15,right_pos$(grid_read$(9,lig%,1),2)
         text 16,grid_read$(9,lig%,2)
         text 19,grid_read$(9,lig%,3)
         text 20,grid_read$(9,lig%,4)              
         show 10   :show 30:show 31:show 32
         bl$=  grid_read$(9,lig%,5)
         if bl$="1"
            mark_on 13 :show 22
            hide 16:hide 19:hide 20: hide 13:height 10,70
         else            
            height 10,160
            mark_off 13 : hide 22 : if text$(20)<> "" and file_exists(text$(20)) = 1 then show 34 : else : hide 34
            show 16:show 19:show 20:show 13:height 10,160  
            if file_exists(text$(20)) = 1 then image(text$(20)) : height 10, 470: width 10,width(34)+20:if width(10) < 600 then width 10,600
         end_if
                            
      end_if
   end_if      
   file(dos_$)
end_sub          
' %@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@  

SUB lire_grid()
   clear 99  :clear 61 : clear 60
   dim_local i%,a$,j% , b$  , c%                                                                                                                                                                                                                                                 : x$="bonjour"
   for i%=1 to 1000
      a$ = grid_read$(9,i%,1)  
      if a$ = "" then exit_for
      b$ = left$(a$,1)
      if b$ = "+"
         item_add 99, h$+ n$+" "+ right_pos$(a$,2)+"\par"
      else
         item_add 99, pt$+n$+" "+ right_pos$(a$,2)   +"\par"  
      end_if    
      if lig% > 0  
         a$ = grid_read$(9,lig%,1)  
         text 15,right_pos$(a$,2)
         a$ = grid_read$(9,lig%,2) : text 16,a$ :' on saute le "-"
         a$ = grid_read$(9,lig%,3) : text 19,a$
         a$ = grid_read$(9,lig%,4) : text 20,a$
         a$ = grid_read$(9,lig%,5)
         if a$ = "1" then mark_on 13: else : mark_off 13
      end_if
   next i%
   memorich()
end_sub
' %@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@

sub memorich()
   clear 61 : ' copie du memorich dans un memo
   entete()
   remplir()              
   CONTENT_COPY 61,60 : ' remplissage du memo_rich
end_sub
' -----------
sub remplir()
   dim_local a$
   item_add 61,text$(99)+"}"
end_sub                                  

' @%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%@%    

new_dos:
   new_dos() : return
SUB new_dos()
   nc% = number_click
   show 10 : inactive 21
   if nc% = 50
      hide 16:hide 19:hide 20:hide 13:hide 22 :hide 30 : hide 25: height 10,100
   else
      hide 22 : show 30 :hide 34 : show 16 : show 19:show 20:show 13:show 22
      text 16,clipboard_string_paste$:height 10,160
   end_if
   text 15,"" : text 19,"" : text 20,""
   inactive 0
END_SUB      
' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%

SUB save_212(f$)
   clear 212 :clear 210:clear 211
   pre_codage(f$)
end_sub              
' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%

SUB retrait_guillemets()    
   dim_local a%,txt$,car$ , v%  , trans$ , approuv$
   clear 210
   if count(212) > 0          
      for a%=1 to count(212)
         txt$ = item_read$(212,a%) +chr$(30)
         if txt$ = "" then txt$=" "
         approuv$ = approuv$ + txt$
         if len(approuv$) > 130
            repeat
               v% = instr(approuv$,chr$(34))
               if v% > 0
                  if v% = 1
                     approuv$ = chr$(1)+right_pos$(approuv$,2)
                  else
                     approuv$ = left$(approuv$,v%-1) + chr$(1) + right_pos$(approuv$,v%+1)
                  end_if
               end_if
            until v% = 0
          
            item_add 210,left$(approuv$,130)
            approuv$ = right_pos$(approuv$,131)            
         end_if        
      next a%
      item_add 210,approuv$
   end_if
END_SUB

' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%
SUB Pre_codage(grid$)
   dim_local a$,i%,j%            
   i% = count(99)
   clear 212
   item_add 212,i%
   item_add 212,6  
   for j% = 1 to i%
      for i% = 1 to 6
         a$ = grid_read$(9,j%,i%)
         item_add 212,a$  
      next i%
   next j%
   codage(grid$)
END_sub

' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%

SUB codage(f$)    
   f$ = f$ + file$
   retrait_guillemets() :' remplacement des guillemets pour éviter que ceux-ci disparaissent si ils entourent le texte.
   dim_local txt$,v%,c$,trans$ ,boucle% , brouillage%
   if count(212) > 0
      brouillage%=0
      clear 211 : clear 221  
      for boucle% = 1 to count(210)
         txt$ = txt$ + item_read$(210,boucle%) +chr$(30)
      next boucle%                                        
      for v% = 1 to len(txt$)                                              :' texte normal
         brouillage%=brouillage%+1 : if brouillage%=24 then brouillage%=1
         brut$ = remp$(brouillage%)  
         c$ = mid$(txt$,v%,1)                                              :' caractère du texte
         ' position dans brut$
         b% = instr(tx$,c$) : if b%=0 then message str$(asc(c$))+" c$="+c$ +"  brouillage%="+str$(brouillage%) +"  boucle%="+str$(boucle%)+"  v%="+str$(v%) +chr$(13)+"txt$="+txt$+chr$(13)+"brut$="+brut$
         ' position à prendre dans brut$
         trans$ = trans$ + mid$(brut$,b%,1)
         if scancode = 27 then stop
         if len(trans$) = 130 then item_add 211,trans$ : trans$ = ""
      next v%
      item_add 211,trans$
      file_save 211,f$
   end_if
END_SUB

' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%
SUB decodage(f$)
   file_load 211,f$
   grid_clear 9,1000,6  : clear 221
   dim_local v%,txt$,boucle%,b%,trans$ ,c$  , brouillage% , k$ , i%,j% , li%,s$    
  
   brouillage% =  0
   if count(211) > 0  
      clear 210 : clear 221        
      trans$=""
      for boucle% =1 to count(211)  
         c$ = item_read$(211,boucle%)
         txt$ = insert$(txt$, c$ ,len(txt$)+1)
      next boucle%
      
      for v% = 1 to len(txt$)
         brouillage%=brouillage%+1 : if brouillage%=24 then brouillage%=1 :' 23 lignes du tableau remp$()
         brut$ = remp$(brouillage%)
        
         c$ = mid$(txt$,v%,1)
         ' on a suivi le texte brouillé
         b% = instr(brut$,c$)  :if b%=0 then message str$(asc(c$)) : item_add 221,trans$
         k$ = mid$(tx$,b%,1)
         if k$= chr$(1) then k$ = chr$(34)
        
         if k$ = chr$(30)
            item_add 221,trans$
            trans$ = ""
         else
            trans$=trans$+k$                              
         end_if
         if scancode = 27 then stop
      next v%            
      item_add 221,trans$      
      i%=item_read$(221,1)
      j% = item_read$(221,2)          
      grid_clear 9,1000,6   : li% = 3 :' saute nb lignes et nb colonnes rensegnier
      
      for v% = 1 to i%
         for i% = 1 to j%
            c$ = item_read$(221,li%)
            grid_write 9,v%,i%,c$ :   li%= li%+1
         next i%
      next v%
      lire_grid()                                                                      
   end_if
END_SUB

' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%

sub entete()
item_add 61,"{\rtf1\ansi\ansicpg1252\deff0\deflang1036{\fonttbl{\f0\fnil\fcharset0 Consolas;}{\f1\fnil\fcharset2 Marlett;}{\f3\fnil\fcharset0 Trebuchet MS;}}"
item_add 61,"{\colortbl ;\red255\green192\blue0;\red0\green0\blue255;\red230\green220\blue200;\red255\green255\blue0;}"
item_add 61,"{\*\generator Msftedit 5.41.21.2510;}\viewkind4\uc1\pard\s1286\slmult1 "  
end_sub

' 0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%0%

SUB variables()
   dim a%,b%
   dim brut$
   dim tx$
   dim remp$(255)
   dim gui$  : gui$ = chr$(1)  
   TX$ = ""
   FOR A% = 1 to 255          
      if a% = 34 or a%=10 or a%=13 or a%=9  :' caractères pouvant poser problème avec Panoramic
      else
        tx$ = tx$ +chr$(a%)
      end_if
   next a%
   ' ces codes ont étés réalisés par la SUB brouillage, qui met dans le presse-papier la partie entre-guillemets
   ' lancer le programme de brouillage la première fois pour avoir son propre brouillage, et remplacer les lignes ci-dessous

remp$(1)="'¤&p€U" + chr$(1) + "$ÿ¿›¼/HÃï—Ñ–×JAñÈœ‚+ G5µ°L³m7g@ÀB;*獙️´ƒûŽ¢”Pd" + chr$(30) + "Þ=_iØK’¦•hº¾Ðo«0yꧨĬÍ3nC9Æ ,âM`V)Û{¸ù18r‡Š}b-^ÒkÖ[zÓð‹Ú£?#Êà|½x!ˆÔl~Ÿ†Õ¹¯ëcut“:DòΞåN¶ÂÏý>Xõ©️a…ü6Zì¥ÜYš\»‰¡<±4„I÷úOÇ.ÁTó2 ·Ýã]®️Fesîj‘v(%Ùw˪éqôSèRW ŒæøE˜ä²ÅöɏfQ­ßáíÌþ"
remp$(2)="\e¢´·…sI)1”Ìá“éþ=üD|l£ÂÃct®️3JghÕZ$*b>n‹a6@²zõ°ÿû¦'j" + chr$(30) + "P¶äœå¼ò߯€Œ×m±’™️o—S}`ð«ÊÅMµº0XŠ:kˆx ˜Á§C»à¸EÍN¡?!F³<„24KL©️â7¿ _ÐH‘Ž¤vª¾pÞ#Ò8{ÆÚ-ôGÇí‚ –ÔiuT(+›ƒ¥VRšÛO5 ;¬YBÄÙd†]WËÀÉëÏ~ÜyØ^ì[w¹óö" + chr$(1) + "Îù•øUÑQ9%q­.çñȽf&îžãÖ,úr/÷ݨAêÓèŸýæ"
remp$(3)="’dü7#ÒŒ;D»Ÿé°Áà«ïÅ Ñ@PfSÄŠ.0rÕ‹‚ˆ€4¯¸ðÛ%=N3Ùƒs—ÌÍaÚB" + chr$(1) + "·gK!íW8yŽ¤þTáøoMäã}À¹ëú:¡6ƪtX‰" + chr$(30) + " iµU5õ_eóu>“îV´†Ã~¥§hÈ-OAÝJ],E ÎœÖÞžwÜè–kÿ½šn1æؾY/GÏÇý¦Ô‡`º¼+÷L…xù*©️Hl^m£?\粄IÂß®️b$Q ÊFqËÐìÉjZ9•(<z{Cp”ô'ö&Ó¶˜v[|¢âñ¨R¬2ê¿)×±³ò­™️û‘›cå"
remp$(4)="ÛñÁö…ã%n‡e 2Ô\¢@m4‰gš§5´ÒOð‹<êí6©️C,›Qáà];Ù–lÍ÷†Mõ„¡±|iœbˆÌ”[L" + chr$(30) + "r#Iǝ:ùûpåÕzºP‘!Fôü0‚’JRŸxy€~Ý£¾ŒXwk-Uä7ž³ƒ{)Š¤Ðéj ïÞÊhÂ^ܶtBWÀ3Å/sÖq&9™️c+»Î½¸ZGEËKȼ×1Ñ ÉÃ`Aþ*>ú¬Y.æýŽTv8²NSØ­Ó=âç¹HóVD$Ϧ°ëÚ諵?—foÄ'¿ø" + chr$(1) + "ßÿ(_î· ˜ìuò¥•a“¯}¨dƪ®️"
remp$(5)="×ErïäG'/RÜÆ´º‘[!¨T8$Õ.ÌÛA¯K7õus¥Ñk˜MµÈŠê›Yã°àO)™️U`P#:Çg¬Î”(x@Ò" + chr$(30) + "bÚâ¹ánšÖ‚3 ’†‰À¶Â¿íÓ6d]|¾" + chr$(1) + "– e1zy{•—Ùðå~2…ëmè“ŸÊq&%j«C4Dé¡Þ\v÷ÃÔ_+ü„}9‡ù­c¦±V§€JWú,¼‹SÁtË=Œ^ò5LÝZiwßñlFÄoŽN®️·-Q»Å渁ˆØ>ÏBƒ;½?0*ôîýöó pìФþÍœ <©️ûÉça³øfIXžH¢ªÿ£h²"
remp$(6)="'£@\Ùöšä®️ j°nÇ»I­¯ÒAwVTÊ_Æ" + chr$(30) + "}dÎ&syi–“8ÄtmNôfŸÏ™️æµÝ¸ç" + chr$(1) + "^¥u©️Q€²F’½÷Y‰.ãèý>b´„$EPZW¹¡p«L2¬Ña0”[øú 6ßû-›ÛXÚ…Ö˜/,BáÉ4¾1k§ó D·=eùqxê)crõ]³`z¼R¶åhïO3UG~loœð*ËÕܺ%ÀÅ͇Ӡ¨|SÃÿgKJ+Hñ;Ž{†È5ÁÞò(¤ŒÂü‘ž?‹7Mˆ9ƒC:ŠÌØ¢‚#àª<—צì•Ô±!îíпëvâéþ"
remp$(7)="õÃ4ÖØ”¥¼ Wh/åz°þˆð0šj-¿Åö&%kÉ ˜‹Gtei‘l?rãC’æ\¢]È„³§Œ€®️ÒEn£úoÀ¹$èÕRóFP(ÐÁ»²@œ…Ô÷½Nƒ“+ÂU‚Š}" + chr$(1) + "ÆDà9›–B2Ä`s.|©️5IYZµ" + chr$(30) + "éH=ù¤¦7îyø¡ýç#xÝ{‰6u‡•LTA­m[ëÑQ Ώg†_f·,ô3va1Úá ËÊ<—)ÌâÇ±ÛŸ;VÏ«^ïÍdº™️´bòK~û'ñžO¸¾ì>ê*XäßcŽq:!ª¬MJíÿü8¯×SpÜÞÙ¶Ów¨"
remp$(8)="˜9YVñDöÝ/]&)ÄcÇ W[^CÈú•Q±2ªE£î5“ûLl 1p y=B~žÕ¤XR" + chr$(1) + ":+æãë\Þ–n…—ÜP©️kŸÏÌ!àìš{}³‚«ÂäN°†ê͸‹Ã`ˆsebq3”€|" + chr$(30) + "×-òŒjÚÉx(ºKÁµø’Ø¡UM;ÿ§Àv4'¨_aJf<$ƒ Æhr@¹âç,Å´½‡õ¦o®️zSœ¬ZíŠÑ›iFG¾ó¢m¼wôßÒ÷ÐïÓ¯Oå·6H7>u­d¿T%„I»èüÙŽ?¥‰A¶ÖùÔt0*á‘#βðÊ.8ËþgÛý™️é"
remp$(9)="r;éØ-Uví1]˜«ŽÍZ&X|JToÀ*}WŒÜ8¥ÈRƒÊºÂ2£øzÌÆa²<k¨å?'ô™️e¹±öñûêÁ+LwlÇác5þd€(HÙÓ¬" + chr$(30) + "$:¡¾Åß©️¿E`QùDæuŠÚ=jK‘Yf›h—ä.>¦B³à¼ã´" + chr$(1) + "Ï4% ëµnìOV»œ~¯ýqÉ^MPigâªC½†{š¤ò“mtpü•¢I ’Ýðs\/è0–·Ò_)§6,óÑúõ7Õ‹!¸Nž@ÄÛÔî️ïG÷3…Îˆ#„FŸ°‰yËÞb‚ S”î[ ÖçÐÿAx¶­×9‡"
remp$(10)="Ô3ìŽ ³5À0ly—dàøH\PÓð¹EQ,CKÅ<*ÈL©️‡êñ" + chr$(1) + "GÎâ˜7õ–!×¢“ùŠ£Ibþ¼uNœ.1·)MÕ¦rÛR6_Âv§qx¥m’D=ÆÝj(ェ¤ ‘¶ZÒº¾›i9çË™️¡ÿUµh»aÙá‰åÖÚO´†ÑäVtn&$ɏFz²°^fJ2ˆòãØs@Wƒk{Ǭcí]e[Ÿ#¸8Ü?B«ÞÍ¿~4Ä‚p';Y”€•ö+ž}ŒëSè ßóû:|…±g„ ÐwôÃý‹¨­%÷`Ì-" + chr$(30) + "ÊÁ®️é¯úAî/XæšÏoT>ü"
remp$(11)=" ?ceËi¶ÕÀ®️åsX…Žö/Å52†T}ÐïEHbõ*1zJ¡»fNk9´îÍ " + chr$(1) + "ªgÃK,’çÌ#û‡ž%O)÷ðÝô]!×'„4|íἿM;_+”oB:nq§‰SÙ¹[¦@œŠRã" + chr$(30) + "äyQxrÁ^LWΈ7Y¾Ö\&˜ m³Øë€G›tº-¢È­<8jADúµÇþÞ²ÚZùdIa¨0‚(hF⟣óÒé=`ß~É‹«.>ìUvVpÔšPwü¸$Óæ•C©️{–ƒ‘Äà6¤Ü¥løê—3ŒÿÆې™️謓э·¯u½ ±òýÏÊ°ñÂ"
remp$(12)="ïº+n•2ŸÍú?Ë_³Œ¼—%[T<&Ñ®️)z­ü‰ò›WöÈæ!=œß–:ݶ5ÌL˜‡ÖRMdÉÿH’ñZÄXa/²¬ ä󫁾,F3Sµàt€P”{" + chr$(30) + "x*qÓlê¢#†e@Ðb“wåÀˆh|iÆ- ¹…ðÛÏíÎ×C£°A9‹î„ý»(fÙp}Uû\oŤô¡¸jQIsŽ´¨c ^6võ1D'" + chr$(1) + "šK™️ë~74Ò]YÔ¥GJB‚ا$ÂumžgÃáVè8ÕªEù0±½ÊÜ>©️Þ·Š¯Nç‘¿é.`Ú÷rƒ â;ìãÁO¦ykÇøþ"
remp$(13)="° N¿|ŒqT†®️ÈXž5Kùî™️¾Z—ãó‹˜rªÉ»+>v$¶…œVÚA<wÔ³øûéËÃI1/ŸG0‡oò’ ¢sâP\`ÜCb?}:7‚Õ[;à6ÖÍ·B×š_f=.Ŭ-m€&ÀÝaLÛd¹•ñ£JjÒØ̏3Q]ÆÇáŽD–ih½èä9Ä@gßô‘4ƒlú{OÎt“÷xM‰«ç^E¨Ð”§¤Á¼ìYÓ)­'Ê#„Þüþ2eSnˆ ¥Ù(R~¸´%ðFU,å" + chr$(1) + "8¡ÑcWu²©️± kpæyï*ëÏ!zõ" + chr$(30) + "¦ºêíµö¯ýŠH›ÿ"
remp$(14)="!,*½õ#¯uÉôk¨c[Ùå|Óûã”f¶è˜ØT‡ù6i7Š^ÌP8€A%­5öFG{" + chr$(1) + "]±¹oµ•$S43xÒ Õ2šú™️é'©️>‘=y1çªòÑÚÁ÷²¦¢0và¾~«æp:Uz`‹Î_¡› ¬d»}9ÆE–?nê‚Ž¸s<\´e— ýÃÅZX†„HVÀ®️ Nʧ×(¼’îˆä°;ü£Q.þ‰ÄDí…Þgº-" + chr$(30) + "Ýh¤)Ô+LwqÛÇjJÈŸrì&ËmbBŒÜï¿WCK¥táßÍ/øÏMÐ✷žRÖóañ@OYlIëƒð³“ÿ"
remp$(15)="ñöê‡6)K0â¾Ð>8|i˜¥ùSná–CÒgP3xayODîԍp^\¦¼ç]1zõBŠ³/†=ïÎ…@¯Æ`´¿Zí” Ö9ÚT«uýÕshÓÄû‚'‹e°Mðw›#oÇ!,­L²¤Ñ£<Ü.óÅã(2‰ :ƒ±5Fªmäc‘U{V}rÛ»€ÀtJéÏëNYš¸ì_Q" + chr$(1) + "ß4„Žkæ¢ÙAlœÊ®️à;H¬Ì~[ Xv¹™️dµqˆbúŒרž½%èÃ-¶ÝE7“jø’&—¡ØÁŸȧGRͺÉ" + chr$(30) + "÷$+•·*ôfÞË åIWþòü?ÿ©️"
remp$(16)="æ,‹ŠpC˜bTö=P‘‡m³5 Ã|Bdt7§ÒìµG<Hè†ÕÇ›QŽaWù4\Ô[V+/©️ØN”kxY–¦zZžÜ(é{߉ꕄ·¥#hÉ_îÂ3ÎøÄg>Lƒû»ú…ýÑS«¯þuë¤62ˆE’" + chr$(1) + "%ŸcÓÚyÿ`$)õe¸n¢ªÈË ÝFÆ9wÞŒl²^XM¡Ï€OR'o½±ñç*j~šsIðD" + chr$(30) + "ºí}Ívf®️-üÖäq×K‚ò™️@—¼i:á?Ìœ­r8 ÊÁ¾Ð°ã¹J.“;¶¨A!£ &0¿UÅåïâÛ]àÙ´ó¬ôÀ1÷"
remp$(17)="œF4À±TßoDŽ“‘à‹­Ýhþ¡èkr˜£Ô돸N™️9Óã–ÍìYH‚!.v¬P›iAÞCeµ†ç8«¿J*-°âg®️UE¶& ”Õ3R©️‡%K§ÜÊÃÒûËw¨Ûîüts‰—GŸÄ7äÁ`BX[n¦,ñ_ú?$01·²³åêÇLÉ2+dmf/Öa>cºùÅÏøx 6õÎIQOyz]ðáu@„}):^b•÷lïªWpZžíM¥V ¾\´S½ƒ#|ý" + chr$(1) + "»" + chr$(30) + "Œ¢’(Ø~Ú €{ÑÙô¹;Ì×¼Ðj5òÿˆ=¯Šæq…ö¤ÆšÂ<'éÈó"
remp$(18)="™️c¨ädšß^Eú-T¯muUνˆ²5HÜB|–2[w\«i‚WŠ»ÔJÝ" + chr$(1) + "G7bgç¸,টÓå’—>¹Éèj!±Ñ)¼Ž‰h‡ñ •*ü9œ¤M£æ÷Ð" + chr$(30) + "=¬%¥“t.s”'A_á…ù³1Í{›]ÕÞêDÛïŒ/OûÀ`Ä„Å¿ 3K†µ#©️îÖ:;CËÈQ¾IeõN n$·(þ4}øS¢Øž냘Ç6<avF¶ ÒÌíRªýqðVZ+ã0¡Yzéx‹­€Ùlp@°×8ôÁP‘yXöÏó&òr®️´Ãk~?ºâÆoÚL§Êÿìf"
remp$(19)="Ûûó”ˆø\¹v" + chr$(30) + "]¾Êú*YH9º—Õ‰F.&b‡Ý¶áà|" + chr$(1) + "Ö€Rfn©️6²ÂOÅŸXh-œ›Óãs~/zE7ÎQ“[}ßéqr×%tJ÷kgµëâx#;_j®️í‘A pü»˜Ñ)¦È™️BI…^Úš5ÐZÁl‚u2C¬Æç§WNå0ªcä+$•ùõKm½þ`Ë­PØ@–¼4>ìw¢:LêôÇ<¡°3'öÿ ÏÌï Žæ¥e!´¸Ùó’Sd·{¨†¯ÉD„Go=Ä‹?ÔÍ8£Œ¤TÀ¿î܏1Þ èUMð±Vy(«Òý,aižŠòñƒ"
remp$(20)="I¡#¢î®️SÛ`oËõúF€G^;CÈÜ­ «E¦&™️ÙØdÞ…ÕÁ¯TËJ‘BU°7¥³!mé’Lˆ(R÷žµ.y<Ò9N|ô%tï\k-r bŒÖâ“" + chr$(30) + "—}ÍhH:ã5±" + chr$(1) + "§fQa‡†]>üDÓOZ0²öºu¹» œêŽÂÇ[vP¼æá„A£WëM´ª›)ùäic$Ï߉½Ô_å+jXÆ@Ÿ2xz8Y6É*©️Ê3?¶ƒpónçĐ¿'•–,sÝVÌw‚˜¾šÐ¤èòK{ ýeàûíg”/¨ðl=Ñì¬q·ñÅŠÎ14×~ÀÚ¸þøÿ"
remp$(21)="ÌaÃc¹`$à(¡T})‘äveú!?¤‡©️B5ê7JY­Ëл% ¯ùŽµîÏåQfñDz*Ø1n8´{¨„9VrÁOtÀïü>j«~ÜK/ì™️Ä®️:x.4¬^ýŸHL˜M_¼" + chr$(1) + "á±·°<¦wòãô6Œ+Õƒ‚é|']¢\óNPiÈF[ÙsW£ÞqÔ×þuÎÊŠ oyXÉ#;õœí† ¸Úh“æ žÒR’âÖm¶–ª-@0èÂbA,2&G¥‰§lzë—gSI¾¿ˆšÆðd”ÛD€k" + chr$(30) + "3…pU=ÅZѽ‹E³•øÓÍö灺ß÷›ÝûCÿ"
remp$(22)="OÿºÇŸ°Ð™️â÷%nï´ð2ãÑ5AGÒɬ }î?r£žNJ®️+‰qÁy\Ƴ([9Eç{c-4·@" + chr$(1) + "$ChêרåøMdYPe.uDkƒW•f'ÈIÞ¼m…Tû ‹ÝªFwK;è¯éB7©️Ó¸paì6gü¿1œ,o0_ßib!z :V‡" + chr$(30) + "ë±Q>&<²Š¡«S¢‘΂Ûց“–¦Ï’8Õ^Ìáóš~òÊù3ñ#j`½µ›sýÂäÜ”)¤tŽ=­ l¥RÀvÅĘþL¹Hˆ€ØËÙ„|§—ZíU¾†öÃ/»Ô¶æ*ÚôŒ]àxÍXúõ"
remp$(23)="°toI¯ŽzDÚTXG/" + chr$(1) + "ƒ'ª¾<«–³uEOÛQÿwíõ]†vÑa¨§÷Ö3•Jïçê%.¹›0¡(òÊ¢´¸‘… S„Áˆgcú^ÞÇ€Œ,AH:)8“Ьá¤dóÙñ½ÕÄm*U2CpÉBè6×~qÌÂþ£®️œ! MhË؝üÜ1 b4ršyÈ\e;}ðεYæϱ?·’àlô@”‚K ûŠ˜|RNž57¥9sŸé¼‰>Ôö-Ý‹ÓkÅi{nÒî¦#²V»_¶`—­ã+WPxÆ¿Íjâù" + chr$(30) + "™️Zåä[&À=LÃßfìýëø©️‡$Fº"
 
END_SUB

En voyant le code affiché, je me demande si des fois des caractères ne sont pas mangés par le programme.

De toute façon je fourni le programme suivant pour créer ses propres codes. Il arrive parfois qu'il y a problème, alors on recommence. Cela fait un petit moment que j'utilise ce type de codage, et une fois validée, je n'ai plus eu un seul problème.

Code:
width 0,screen_x : height 0,500
variables()
memo 1 :full_space 1 : font_size 1,10 : bar_both 1

TX$ = ""
   FOR A% = 1 to 255          
      if a% = 34 or a%=10 or a%=13 or a%=9  :' pouvant poser problème
      else
        tx$ = tx$ +chr$(a%)
      end_if
   next a%

for i% = 1 to 23    
   brouillage()    
   item_add 1,"remp$("+str$(i%)+")="+chr$(34) +clipboard_string_paste$+chr$(34)
next i%

clipboard_string_copy text$(1)

END    
  
============================================================================
SUB brouillage()
dim_local A% ,b% , c$  , u$ , v%  , dat$ , trans$ , txt$  , i$ , w% , j$ ,l%
   for a%=1 to 255
      if a% = 34 or a%=10 or a%=13  or a%=9
      else
        u$ = u$ +chr$(a%)
      end_if
   next a%  
 
   brut$ = ""    
   for a%= 1 to len(tx$)
       c$ = mid$(tx$,a%,1)  
       if u$="" then exit_for                  
       repeat  
          v% = rnd(len(u$))
       until v% > 0 or scancode = 27
      
       i$ = mid$(u$,v%,1)
       if v% > 0    
          if i$ = chr$(1) or i$ = chr$(30)
          else
             brut$ = brut$ + i$
          end_if
          if v% = 1
             u$ = right_pos$(u$,2)
          else
             u$ = left$(u$,v%-1)+right_pos$(u$,v%+1)
          end_if
       end_if
      
       if i$=chr$(1) or i$ = chr$(30)
          l% = asc(i$)
          ' on ajoute i$+ "chr$(34)" + j$ pour ne pas éviter d'avoir une annulation de guillemets si ceux-ci entourent.
          repeat
             w%= rnd(len(u$))
             if w% = 1 or w% = 30 then w%=0 :' SI l%=1, il ne faut pas que w%=30, et l'inverse, donc on reprend
          until w% > 0 or scancode = 27                            
          j$ = mid$(u$,w%,1)                                  
          brut$ = brut$ + chr$(34)+" + chr$(" + str$(l%) + ") + "+chr$(34) + j$
          if w% = 1
             u$ = right_pos$(u$,2)
          else
             u$ = left$(u$,w%-1)+right_pos$(u$,w%+1)
          end_if                        
       end_if
       if scancode = 27 then stop          
   next a%  
   ' message len(u$)
   clipboard_string_copy brut$


 '  rem " la chaine brut$ étant copier, on reporte celle-ci dans remp$(x) ="" dans les guillemets
 '  rem " 23 fois de suite (23 étant un nb premier)
 ' ON copie le contenu du memo, et on le met à la place de celui du programme.
END_SUB
' ===========================================================================
SUB variables()
   dim a%,b%  ,i%,j%
   dim brut$
   dim tx$
   dim remp$(255)
   dim gui$  : gui$ = chr$(1)  
   TX$ = ""
   FOR A% = 1 to 255          
      if a% = 34 or a%=10 or a%=13 or a%=9  :' pouvant poser problème
      else
        tx$ = tx$ +chr$(a%)
      end_if
   next a%
end_sub
' =============================================================================

Edité pour spoiler les images
Revenir en haut Aller en bas
 
gardien des favories WEB, mot de passe, etc
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Racine carrée d’un nombre par l’algorithme de Héron
» GestCompte
» PANORAMIC et informatique de gestion (les tableaux)
» Entrer un mot de passe
» Ou es passé Klaus

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos sources, vos utilitaires à partager-
Sauter vers: