dim i% ,j% ,v% ,vc% ,m$ ,MdP$ ,Modif%
dim T1$ ,T2$ ,T3$ ,T4$ ,T5$ ,T6$ ,T7$ ,T8$ ,T9$ ,T10$ ,T11$ ,T12$ ,T13$ ,T14$ ,T15$ ,T16$
label Annul,Valid,Init,Site ,Adre ,Iden ,Mpas ,Come ,Ajou ,Supp ,Cnec
label Mont ,Desc ,Quit ,ChMP ,Enrg ,Aide ,Apro
' ***** CONTROLE EXISTANCE ET CHARGEMENT DU FICHIER DE DONNEES *****
caption 0,"Sites WEB" :dlist 1
' Décryptage et chargement du fichier si existant (merci JL35)
if file_exists("SitesWeb.dat")=1
filebin_open_read 1,"SitesWeb.dat" :filebin_open_write 2,"f"
j%=1
for i%=1 to filebin_size(1)
filebin_read 1,v%
vc%=bin_xor(v%,asc(mid$("CléDeCryptage",j%,1)))
filebin_write 2,vc%
j%=j%+1 :if j%>len("CléDeCryptage") then j%=1
next i%
filebin_close 1 :filebin_close 2 :file_add 1,"f" :file_delete "f"
' Sinon saut à l'initialisation directement
else :goto init
end_if
' ************ FENETRE DE VERIFICATION DU MOT DE PASSE ************
' Création de la fenêtre
width 0,195 :height 0,160 :left 0,(screen_x-width(0))/2 :top 0,(screen_y-height(0))/2 :border_small 0 :on_close 0,Quit
alpha 2 :left 2,35 : top 2, 20 : caption 2,"Entrez le mot de passe"
edit 3 :left 3,50 :top 3,45 :width 3,80 :secret_on 3 :font_bold 3 :set_focus 3
button 4 :left 4,30 :top 4,80 :width 4,50 :caption 4,"Annuler" :on_click 4,Annul
button 5 :left 5,100 :top 5,80 :width 5,50 :caption 5,"Valider" :on_click 5,Valid
end
' Quitter sur action bouton Annuler
Annul:
terminate
' Vérification du mot de passe pour initialisation
Valid:
MdP$=item_read$(1,count(1))
if text$(3)=MdP$
delete 2 :delete 3 :delete 4 :hide 5 :goto Init
else :text 3,"" :set_focus 3 :end
end_if
' ************************ INITIALISATION ************************
Init:
width 0,520 :height 0,320 :left 0,(screen_x-width(0))/2 :top 0,(screen_y-height(0))/2 :border_normal 0
' Création du menu et des étiquettes
main_menu 10
sub_menu 11 :parent 11,10 :caption 11,"Fichier"
sub_menu 12 :parent 12,11 :caption 12,"Changer mot de passe" :on_click 12,ChMP
sub_menu 13 :parent 13,11 :caption 13,"Enregistrer" :on_click 13,Enrg
sub_menu 14 :parent 14,11 :caption 14,"Quitter" :on_click 14,Quit
sub_menu 15 :parent 15,10 :caption 15,"?"
sub_menu 16 :parent 16,15 :caption 16,"Aide" :on_click 16,Aide
sub_menu 17 :parent 17,15 :caption 17,"A propos" :on_click 17,Apro
alpha 31 :left 31,95 :top 31,15 :caption 31,"Sites"
alpha 32 :left 32,335 :top 32,15 :caption 32,"Adresse"
alpha 33 :left 33,330 :top 33,60 :caption 33,"Identifiant"
alpha 34 :left 34,240 :top 34,118 :caption 34,"Mot de passe"
alpha 35 :left 35,320 :top 35,150 :caption 35,"Commentaire"
' Création de la liste des sites et des listes cachées
list 41 :left 41,27 :top 41,30 :width 41,170 :height 41,157 :on_click 41,Site :on_double_click 41,Cnec
dlist 42 :dlist 43 :dlist 44 :dlist 45
' Remplissage des 5 listes
if count(1)>0
for i%=1 to count(1)-5 step 5
item_add 41,item_read$(1,i%)
item_add 42,item_read$(1,i%+1)
item_add 43,item_read$(1,i%+2)
item_add 44,item_read$(1,i%+3)
item_add 45,item_read$(1,i%+4)
next i%
clear 1
end_if
' Création des fenêtres de donnéed et des boutons
edit 52 :left 52,225 :top 52,30 :width 52,250 :inactive 52 :on_change 52,Adre
edit 53 :left 53,225 :top 53,75 :width 53,250 :inactive 53 :on_change 53,Iden
edit 54 :left 54,325 :top 54,115 :width 54,150 :inactive 54 :on_change 54,Mpas
edit 55 :left 55,225 :top 55,165 :width 55,250 :inactive 55 :on_change 55,Come
button 61 :left 61,27 :top 61,210 :caption 61,"Ajouter" :on_click 61,Ajou
button 62 :left 62,120 :top 62,210 :caption 62,"Supprimer" :inactive 62 :on_click 62,Supp
button 63 :left 63,250 :top 63,210 :caption 63,"Se connecter" :inactive 63 :width 63,100 :on_click 63,Cnec
button 64 :left 64,197 :top 64,106 :caption 64,"<" :width 64,15 :inactive 64 :on_click 64,Mont
button 65 :left 65,197 :top 65,131 :caption 65,">" :width 65,15 :inactive 65 :on_click 65,Desc
button 66 :left 66,400 :top 66,210 :caption 66,"Quitter" :on_click 66,Quit
end
' ******************** ACTIONS SUR LES OBJETS ********************
' Sélection du site à afficher
Site:
i%=Modif%
text 52,item_read$(42,item_index(41))
text 53,item_read$(43,item_index(41))
text 54,item_read$(44,item_index(41))
text 55,item_read$(45,item_index(41))
for j%=52 to 55 :active j% :next j%
for j%=62 to 65 :active j% :next j%
Modif%=i% :return
' Modification de l'adresse du site sélectionné
Adre:
if item_index(41)=0 then return
item_insert 42,item_index(41),text$(52)
item_delete 42,item_index(41)+1
Modif%=1 :return
' Modification de l'identifiant du site sélectionné
Iden:
if item_index(41)=0 then return
item_insert 43,item_index(41),text$(53)
item_delete 43,item_index(41)+1
Modif%=1 :return
' Modification du mot de passe du site sélectionné
Mpas:
if item_index(41)=0 then return
item_insert 44,item_index(41),text$(54)
item_delete 44,item_index(41)+1
Modif%=1 :return
' Modification du commentaire du site sélectionné
Come:
if item_index(41)=0 then return
item_insert 45,item_index(41),text$(55)
item_delete 45,item_index(41)+1
Modif%=1 :return
' Bouton "Ajouter" un site
Ajou:
if message_input("Sites Web","Entrez le nom du nouveau site","")=0 then end
if len(trim$(message_text$))<3 then end
item_add 41,message_text$ :file_save 41,"f" :clear 41 :file_load 41,"f" :file_delete "f"
for j%=42 to 45 :item_add j%,"" :next j%
for j%=52 to 55 :inactive j% :text j%,"" :next j%
for j%=62 to 65 :inactive j% :next j%
Modif%=1 :return
' Bouton "Supprimer" un site
Supp:
if message_warning_yes_no("Supprimer le site "+item_read$(41,item_index(41))+" ?")=1
i%=item_index(41)
for j%=41 to 45 :item_delete j%,i% :next j%
for j%=52 to 55 :inactive j% :text j%,"" :next j%
for j%=62 to 65 :inactive j% :next j%
Modif%=1
end_if
end
' Bouton "Se connecter" à un site
Cnec:
execute text$(52) :clipboard_string_copy text$(53) :end
' Bouton "<" remonter la sélection
Mont:
if item_index(41)<2 then return
i%=item_index(41)
for j%=41 to 45
item_insert j%,i%+1,item_read$(j%,i%-1) :item_delete j%,i%-1
next j%
Modif%=1 :return
' Bouton ">" descendre la sélection
Desc:
if item_index(41)=count(41) then return
i%=item_index(41)
for j%=41 to 45
item_insert j%,i%,item_read$(j%,i%+1) :item_delete j%,i%+2
next j%
Modif%=1 :return
' Bouton et option menu "Quitter"
Quit:
if Modif%=1
if message_warning_yes_no("Enregistrer les modifications avant de quitter ?")=1 then gosub Enrg :terminate
end_if
terminate
' Option menu "Changer mot de passe"
ChMP:
if message_input("Sites Web","Entrez le nouvau le mot de passe"+chr$(13)+"minimum 6 caractères","")=0 then end
if len(trim$(message_text$))>5 then m$=message_text$ :else :end
if message_input("Sites Web","Confirmez le nouvau le mot de passe","")=0 then end
if message_text$=m$ then MdP$=message_text$ :else :end
Modif%=1 :return
' Option menu "Enregistrer" de sauvegarde et cryptage des données
Enrg:
if MdP$="" then gosub ChMP
for i%=1 to count(41)
for j%=41 to 45 :item_add 1,item_read$(j%,i%) :next j%
next i%
item_add 1,MdP$ :file_save 1,"f" :file_delete "SitesWeb.dat"
filebin_open_read 1,"f" :filebin_open_write 2,"SitesWeb.dat"
j%=1
for i%=1 to filebin_size(1)
filebin_read 1,v%
vc%=bin_xor(v%,asc(mid$("CléDeCryptage",j%,1)))
filebin_write 2,vc%
j%=j%+1 :if j%>len("CléDeCryptage") then j%=1
next i%
filebin_close 1 :filebin_close 2 :file_delete "f"
clear 1 :Modif%=0 :return
' Option menu "Aide"
Aide:
T1$="'SitesWeb.exe' permet de collecter les adresses, identifiants et mots de passe"+chr$(13)
T2$="de site internet dans un fichier crypté 'SitesWeb.dat' créé par le programme."+chr$(13)
T3$="Pour créer une adresse de site, cliquer sur le bouton 'Ajouter' et entrez son"+chr$(13)
T4$="nom dans la fenêtre qui s'affiche. Après validation il apparait dans la liste."+chr$(13)
T5$="Quand vous sélectionnez un nom de site dans la liste vous pouvez :"+chr$(13)
T6$="- modifier son adresse (URL), votre identifiant, mot de passe, commentaire"+chr$(13)
T7$="- l'enlever de la liste en cliquant sur le bouton 'Supprimer'"+chr$(13)
T8$="- le monter ou le descendre dans la liste avec les boutons '<' et '>'"+chr$(13)
T9$="- ouvrir sa page selon l'adresse indiqué, avec le bouton 'Se connecter', votre"+chr$(13)
T10$="identifiant est alors copié dans le presse-papier et vous pouvez le coller dans"+chr$(13)
T11$="la fenêtre correspondante sur le site (Ctrl+C). La connection peut s'effectuer"+chr$(13)
T12$="aussi par le double-clic sur le nom du site"+chr$(13)
T13$="Options du menu :"+chr$(13)
T14$="- Enregistrer -> sauvegarde de vos modifications. A la création de la base de"+chr$(13)
T15$="données vous devez rentrer un mot de passe"+chr$(13)
T16$="- Changer mot de passe -> minimum conseillé 8 caractères"
message T1$+T2$+chr$(13)+T3$+T4$+chr$(13)+T5$+T6$+T7$+T8$+T9$+T10$+T11$+T12$+chr$(13)+T13$+T14$+T15$+T16$
end
' Option menu "A propos"
Apro:
message " SITES WEB ver.1 jan 2013"+chr$(13)+"Réalisé en basic PANORAMIC"+chr$(13)+"
cfmr@netcourrier.com"
end