Page 3 sur 3

Publié : ven. 13/janv./2006 23:49
par Jacobus
file_byte =filesize % 4
Ca risque de te donner un file_byte égal à zéro si filesize est divisible par 4, non?

Publié : ven. 13/janv./2006 23:57
par Dorian
Jacobus a écrit :
file_byte =filesize % 4
Ca risque de te donner un file_byte égal à zéro si filesize est divisible par 4, non?
Bah dans ce cas il suffit d'un petit if et puis c'est réglé :oops:

Publié : sam. 14/janv./2006 12:47
par gansta93
Merci pr la réponse. :-D

Publié : sam. 14/janv./2006 14:49
par Flype

Code : Tout sélectionner

Procedure ShredB()
  WriteByte(Random($FF))
EndProcedure

Procedure ShredW()
  WriteWord(Random($FFFF))
EndProcedure

Procedure ShredL()
  WriteLong(Random($FFFFFFFF))
EndProcedure

Procedure ShredFile(filesize)
  For i = 1 To filesize Step 4 
    ShredL() 
  Next
  Select (filesize % 4)
    Case 1: ShredB()
    Case 2: ShredW()
    Case 3: ShredW():ShredB()
  EndSelect
EndProcedure
ca devrait faire l'affaire, non ?

Publié : sam. 14/janv./2006 20:40
par Jacobus
Je viens de tester et je dois dire que c'est excellent.

Ce qui me surprend c'est que ce soit plus rapide au travers d'une procédure. Je pensais, au contraire, que l'appel de procédure aurait ralenti le processus et en plus même la charge CPU est moins importante. 8O

Pour voir de visu avec les yeux la progression de ré-écriture
On ajoute une ProgressBar que l'on nomme par exemple #ProgBarPointeur dans la fenêtre et on affiche le résultat récupéré par la fonction Loc()

Code : Tout sélectionner

For i = 1 To filesize Step 4 
     ShredL() 
     Pointeur.f = Val(Str(Loc()))/filesize*100
     SetGadgetState(#progbarPointeur,Pointeur)
   Next 
On a ainsi la progression temps réel en plus de l'avancement général.

Publié : sam. 14/janv./2006 21:02
par Flype
ce serait bien que 'Ouvrir un répertoire' se souvienne du dernier ouvert. :roll:

Publié : sam. 14/janv./2006 21:21
par Jacobus
@Flype : Oui, je prépare une version avec plusieurs options utilisateur qui devrait le rendre beaucoup plus convivial que la beta présentée.


Adapter la Progressbar du pointeur en fonction de la taille du fichier :
En reprenant le source initial et en modifiant en fonction des choix de chacun (notamment l'emplacement de la barre)

Code : Tout sélectionner

;Déclarer en global la variable avec une valeur initiale
Global ValMax_progress
ValMax_progress = 100

;la progressbar avec valeurs initiales dans la fenêtre.
ProgressBarGadget(#progbarPointeur, 5,120,475,15,0,ValMax_progress,#PB_ProgressBar_Smooth)

;Dans la boucle ( Case #Menu_ShredIt ) 
;modifier cette partie :

For np = 1 To Passes 

     OpenFile(0,FileToShred$)

        filesize=Lof() 
 
          ValMax_progress = filesize ; adapte la valeur de la progressbar à la taille du fichier.
              
          ShredFile(filesize) ; on utilise la procedure de Flype modifiée comme dans mon post précédent.

          e = Eof(0)

           If e<>0
              SetGadgetText(#Text_eof_compte, Str(np)+"  fois")
           Else 
              SetGadgetText(#Text_eof_compte, "ERREUR!")
              np = Passes 
           EndIf  

      CloseFile(0)

         pourcentage.f = np/Passes*100
         SetGadgetState(#progbarShred,pourcentage)
         Etat = GetGadgetState(#progbarShred)
         SetGadgetText(#textNBpasses," Ecrasement en cours ...  :  "  +Str(Etat)+ " %    PATIENTEZ SVP")
         Beep_(400,100)
         UC_Mem_use()
Next np
...la suite du code

@+

Publié : sam. 21/janv./2006 20:20
par Jacobus
:D Salut, voici la version 1 finale.
Vous pouvez la télécharger ici :PureShredder01
Zip de 178 ko, exécutable seul, version française et anglaise.
Pas d'installation, un dossier simple à placer où vous voulez et créer un raccourci sur le bureau si vous préférez.
Un fichier d'aide est inclus si vous avez des doutes.

Je n'ai pas inclus la sélection multiple dans cette version, mais j'y viendrai plus tard, c'est vrai que pour les petits fichiers cela peut être utile.
L'aide anglaise j'ai pas le temps pour le moment, mais si des anglophones veulent s'y coller... et en même temps me dire si je n'ai pas commis trop d'erreurs dans la langue de Shakespeare.

Vos réflexions sont toujours les bienvenues.
Merci à tous les testeurs et participants.

@+ Jacobus.

Publié : lun. 20/mars/2006 21:20
par Jacobus
Salut à tous
PureShredder est devenu WolfoRan Shredder
ici >> http://www.wolforan.fr

J'ai refais un site pour le distribuer en shareware d'évaluation avec d'autres logiciels qui feront une suite au final.

Vous pouvez essayer le prog en évaluation et si il vous convainc, envoyez moi un mp avec vos coordonnées, si ça vous intéresse je vous enverrai un lien de téléchargement de la version non bridée en retour, et gratuitement pour les membres du forum. :)

Voilà, c'est ma tentative d'incursion dans le monde cruel de la vente de logs qui j'espère se poursuivra. Si vous voulez mettre un lien vers mon site sur vos pages, ben allez-y et merci.

voilà voilà...
@+ Jacobus

Publié : mar. 21/mars/2006 8:18
par Golfy
Perso, j'aurais procédé comme suit :

Allocation d'un buffer de 4096 octets en RAM
Ecriture aléatoire de LONG et BYTE à l'intérieur
Ecriture de la chaine contenue dans le buffer dans le fichier (en fonction de sa taille bien sur).

:!: Il faut modifier le buffer à chaque écriture, sinon sur un fichier de 4x4096 octets ont peux retrouver le motif.

Ainsi il me semble que l'écriture d'une chaine de 4096 octets est plus rapide que l'écriture 4 octets en boucle.

L'écriture en mémoire du buffer est quasiment instantanée.

Pour la vente, c'est le code source que je vendrais à ta place :
* si j'utilise un soft de destruction de fichier, je veux savoir ce qu'il fait (voir même le compiler moi-même pour être sûr qu'il n'y ait pas de fonctions cachées)
* Les organismes "sensibles" aiment bien les open-sources (Gantt Project, Open Office, etc.) ce qui n'empèche pas de mettre une licence GNU ou un truc comme ça pour protéger ton travail et demander une rémunération.

Bon courage ! :)

Publié : mar. 21/mars/2006 19:28
par Jacobus
Idée intéressante en effet, l'écriture de paquets de 4ko rendrait le tout beaucoup plus rapide. Une solution à étudier, merci.
PB4 apporte pas mal de nouveautés qui devrait permettre une bonne accélération des procédures. A voir avec la version finale.

Pour le reste tu parles en pro, informaticien développeur, ce qui n'est pas le cas de tout le monde. L'utilisateur lambda serait bien désappointé :( avec un kit de shredder... bien que je comprenne le principe sécuritaire que tu évoques.