begin process at 2008 07 21 02:01:37
1 213 553 membres
22 nouveaux aujourd'hui
14 167 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

API DISKUTILS / DISKMONITOR V1.1.6 - MULTI-MONITEUR D'UNITÉS DE STOCKAGE


Information sur la source

Catégorie :Fichier / Disque Classé sous : diskutils diskmonitor, disque cdrom, dvdrom usb, fichier png, ressource Niveau : Débutant Date de création : 06/05/2008 Date de mise à jour : 14/05/2008 17:26:08 Vu / téléchargé: 2 480 / 323

Note :
10 / 10 - par 3 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (24)
Ajouter un commentaire et/ou une note

Description

Hophop, il y avait longtemps que j'avais pas mis une sources,
et en plus, je me permet de poste un code que j'ai dépoussiéré dernièrement... :D

DiskMonitor c'est quoi donc ?

C'est un moniteur comme son nom l'indique, qui affiche la capacité des différentes unités de stockage présente sur notre système (disques locaux, disques monté en réseaux, partition, clef usb, cdrom, etc).
C'est l'un des programmes qui fait partis de ma suite de petits outils système du même accabit, (ZeroFont, DHex, ScreeMire etc), suite qui se nome "^Tools Suit" ... original non ? (je devais pas etre trés inspiré)

C'est bien sur, aussi un programme de demo pour mon API DiskUtils.

DiskUtils c'est quoi donc ?

C'est une unité qui contient de nombreuses choses qui permettent de facilement manipuler les informations sur les unités de stockage présente. Capacité totale, restante, utilisée, type du disque, système de fichiers, numéro de série etc.


Dépoussiéré ? pourquoi ça ?

En fait ce programme date de fin 2006 et est longtemps resté dans mon disque dur (parfois utilisé concrètement), mais l'idée m'est venue de le remettre a jours suite a une question sur le forum.
donc voila voila, trêve de bavardages passons au code :)

Conclusion

Je suis encore actuellement en train de le dépoussiérer et de l'améliorer,
beaucoup de choses reste a faire, notamment le commentage des sources, l'ajout d'une aide, quelques optimisations, renomage de composants etc...

je mets niveau Initié car si l'unité DiskUtils est assé simple d'utilisation, il n'en reste pas moins que le programme contient des acrobaties codesque qui nécessite quand même un niveau mieux que debutant.



Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

13 mai 2008 04:21:27 :
version 1.1.5 (2008/05/13) <change log> ajouté liste de sélection des disques a scanner /// ajouté sauvegarde de la dite liste /// fixé le message d'erreur des unités CD/DVDRom vide /// amélioré le look de la boite d'information des disques /// amélioré le comportement de l'interface /// changé le type currency pour int64 /// ajouté le theme XP /// déplacé les vars globales dans la zone privée de la fiche principale /// renommés la plupart des composants
14 mai 2008 17:25:07 :
version 1.1.6 /// moved SetErrorMode in TDisk class GetInfos method /// added method for mouse-over auto-selection on list items /// moved PNG resources management from Main and InfosForm units > see ResPack /// added ResPack unit for manage PNG resources /// improved Drives configuration list
  • signaler à un administrateur
    Commentaire de f0xi le 06/05/2008 13:53:36 administrateur CS

    pour ceux qui ne veulent pas se prendre la tête a compiler "mon code"
    l'executable est present dans le zip, dans le repertoire "exec"

    il suffit de lire le fichier readme et de suivre les instructions ;)

    si vous n'avez pas installer les composants Internet il vous faut importer le composant WebBrowser a la con ... oui j'ai eu un peu la flemme de faire mieux que ça :)
    en plus il ne sert qu'a ceux qui sont observateur ... tetete j'en dis pas plus.

  • signaler à un administrateur
    Commentaire de cirec le 06/05/2008 14:31:45 administrateur CS 10/10

    Wouaou

    c'est super joli en plus ^^

    j'ai pas examiné le code (pas si vite ) mais je te fais confiance

    c'est un superbe boulot ... (F0xi en SP2) hahaha ;)

    pour le problème du cdrom il y a

    Procedure WMDeviceChange(Var Msg: TMessage); message WM_DEVICECHANGE;


    procedure TForm1.WMDeviceChange(var Msg: TMessage);
    Const
      CD_IN = $8000;
      CD_OUT = $8004;
    Begin

      Inherited;
      Case Msg.wParam Of
        CD_IN  : ;//ShowMessage('CD in');
        CD_OUT  :;// ShowMessage('CD out');
      End
    End;

    voilà je ne sais pas si c'est ce que tu voulais mais peut être que ...

    Bravo

  • signaler à un administrateur
    Commentaire de cantador le 06/05/2008 14:50:43

    cirec t'as pas dit bjr à foxi..
    bonjour foxi,

    le message d'entrée est un peu chiant..
    et c'est assez long à s'ouvrir..
    (mais c'est peut-être normal)
    une petite chose total des disques locaux : 53%
                     total local drive        : 52.7%
    sinon beau design..
    Qt au code, on peut te faire confiance.
    tu es déjà noté donc..

  • signaler à un administrateur
    Commentaire de cirec le 06/05/2008 14:58:39 administrateur CS

    @Cantador:
    on n'est pas sur le forum là ;)

    "le message d'entrée est un peu chiant.."
    pas vu ^^

    "et c'est assez long à s'ouvrir.."
    chez moi c'est direct et pourtant j'ai un vieux coucou avec 2 DD partagé en 5 partitions plus 2 CDRom ?

    t'as quoi un 386 ... mdr

  • signaler à un administrateur
    Commentaire de f0xi le 06/05/2008 15:37:37 administrateur CS

    Coucou les gens :)

    alors mmm ...

    @cirec :
    "F0xi en SP2" : oui, depuis un moment! tout ça a cause de ma carte graphique que ça venais même pas du fait que j'etais en SP1 d'abord.
    la j'attend le retour des tests du SP3 ...

    pour le CDRom je verais... car l'explorateur windows n'affiche pas cette erreur alors ça doit etre un truc comme ça je pense.

    @cantador
    "le message d'entrée est un peu chiant" ??! heu quel message d'entrée ?
    y'a un message d'entrée ? j'ai rien codé de tel pourtant.

    "c'est assez long à s'ouvrir" les performances dependent totalement des performances de ton PC, de tes disques dur, du fait des clef USB 1.0 branchée lors du lancement, des CD pourris dans le CD/DVDrom (ça ça te bouffe facile 30 a 60 secondes) ou encore des disques reseaux disponible sur un reseaux surchargé.
    bref ... tout ça n'est pas dependant du programme.
    chez moi j'ai deja fait des tests avec les 26 lecteurs remplis bilan plus de 2To de capa repartis sur disque dur de tout genre (SATA, SATA2, UDMA) et aucun probleme sur du reseaux 100Mbps.


    pour le code justement, faut regarder par contre, y'a encore pas mal de reparation a faire et surtout y'a les changelog dans les sources du projet ...
    et y'a quelques surprises a decouvrir... mais je vous laisser chercher.

  • signaler à un administrateur
    Commentaire de f0xi le 06/05/2008 15:44:07 administrateur CS

    total des disques locaux : 53%
    total local drive        : 52.7%


    ah ça ça vient des arrondis ... faut que je modifie tout ça de toute façon, surtout que j'utilise le type currency qui n'est pas reputé pour sa fiabilitée contrairement a ce que dit l'aide delphi.

    donc tout vas passer en Int64 (comme ça l'est deja en partie) et avec les modifs des calculs (y'en a partout) ça devrait etre plus stable, fiable, rapide et precis.

  • signaler à un administrateur
    Commentaire de cantador le 06/05/2008 16:19:07

    @Cirec:
    on n'est pas sur le forum là ;)
    pour moi c'est kif kif..
    @foxi:
    j'ai fait le test sur un vieux Dell et le lancement me testait le floppy !
    sans clé USB, sans CD dans le lecteur, bref sans rien
    maintenant çà met 2'.


  • signaler à un administrateur
    Commentaire de cantador le 06/05/2008 16:22:35

    désolé 2"

  • signaler à un administrateur
    Commentaire de f0xi le 06/05/2008 18:51:32 administrateur CS

    2 pouces ????!

    ça te mets 2 pouces ou ?

    alors 2 pouces = 5.08cm
    soit la vitesse de la lumiere L=29 979 245 800 cm/s
    ce qui nous donne donc  = 169 450.56036066124118439297095326 femtosecondes

    ce qui est pas mal non ?



  • signaler à un administrateur
    Commentaire de JulioDelphi le 06/05/2008 19:05:04 administrateur CS

    Je me permets de te soumettre quelques options !
    - Le choix de scanner ou pas certains lecteurs, je ne veux pas scanner mon lecteur CD ni ma clé USB par exemple.
    - Il serait bien que le prog adapte sa taille selon le nombre de lecteurs trouvés pour éviter d'avoir une moche scrollbar verticale.

    Sympa l'EASTEREGG x) Deezer.com tu es fan ou c'est de toi ? =)

  • signaler à un administrateur
    Commentaire de cantador le 06/05/2008 20:50:54

    @foxi:
    purée, çà déconne..
    c'est 12" (douze pouces)

    c'est donc le P...!

    bon courage

  • signaler à un administrateur
    Commentaire de mmmrrr le 09/05/2008 10:36:05

    Bonjour,
    Je suis étonné de trouver un exécutable dans le Zip,
    j'avais cru comprendre que c' étai interdit et que tout zip contenant un exécutable était supprimé ???

  • signaler à un administrateur
    Commentaire de systmd le 10/05/2008 13:12:39 10/10

    Bonjour,
    Superbe petit programme , avec look trés réussi.
    Pour éviter l'erreur des lecteurs de disquette au démarrage j'ai modifié dans la procédure Rescan1Clickcomme comme suit:
    Au lieu de : for x := 1 to 26 do
    Mettre     : for x := 3 to 26 do

    Il manque plus que la température  ...  ;o)

    Je met 10/10

  • signaler à un administrateur
    Commentaire de cedricbi le 11/05/2008 10:28:45

    Bonjour f0xi !
    Programme très sympa. Et pour une fois que quelqu'un travail le design de son programme, ça fait plaisir.

    @SYSTMD : Le problème, c'est que aujourd'hui, on peut assigner n'importe quelle lettre à n'importe quel lecteur ou partition, donc on est pas sur que les lecteurs A et B soient des lecteurs disquettes.

    Et je mets... mmmm, je sais pas, faut que je regarde le code..

  • signaler à un administrateur
    Commentaire de cedricbi le 11/05/2008 11:04:06 10/10

    Ben, au final, je crois qu'un "petit" 10 est bien mérité. Le code est limpide, fluide, clair, enfin tout bien quoi.

    Juste une remarque : pourquoi Disk, GSZFM, iTCAP, et les autres sont des variables globales (je n'aime pas les variables globales). Disk devrait être créé et détruit à chaque entrée et sortie de procédure en ayant besoin, GSZFM devrait être un variable privée de TfrmMain, de même pour iTCAP, iFCAP, etc...).
    Encore une chose pour ces six dernières variables, je pense qu'il serait préférable de les mettre en Int64, lors du Rescan1Click, les additionner sans convertions d'unité (c'est à dire simplement : iTCAP := iTCAP + Disk.SizeTotal) puis de convertir l'unité uniquement à l'affichage (effectivement, le mode d'affichage n'a pas a changer le fonctionnement interne du programme).


    Voila

  • signaler à un administrateur
    Commentaire de systmd le 11/05/2008 18:08:47

    Bonjour,
    @ cedricbi effectivement, mais c'est plutôt rare.

    J'ai donc modifier la procédure avec SetErrorMode  pour éviter le message d'erreur du démarrage comme suit :

    procedure TFrmMain.Rescan1Click(Sender: TObject);
    var x : integer;
       Oem: Cardinal;  {<-----Modification}
    begin
      Listbox1.Clear;
      Listbox1.Items.Add('*');
      Listbox1.Items.Add('#');

      iTCAP := 0;
      iFCAP := 0;
      iUCAP := 0;

      oTCAP := 0;
      oFCAP := 0;
      oUCAP := 0;

      for x := 1 to 26 do
      begin
       Oem :=SetErrorMode(SEM_FAILCRITICALERRORS);{<-----Modification}
        Disk.DiskNumber := x;
        if Disk.DiskExist then
         begin
          Listbox1.Items.Add(format('%s',[Disk.DiskLetter]));
          if Disk.DriveType = 3 then
           begin
            iTCAP := iTCAP + DiskUtils.DivSizeTo(Disk.SizeTotal,dsGiga);
            iFCAP := iFCAP + DiskUtils.DivSizeTo(Disk.SizeFree,dsGiga);
            iUCAP := iUCAP + DiskUtils.DivSizeTo(Disk.SizeUsed,dsGiga);
          end
          else
          if Disk.DriveType = 4 then
           begin
            oTCAP := oTCAP + DiskUtils.DivSizeTo(Disk.SizeTotal,dsGiga);
            oFCAP := oFCAP + DiskUtils.DivSizeTo(Disk.SizeFree,dsGiga);
            oUCAP := oUCAP + DiskUtils.DivSizeTo(Disk.SizeUsed,dsGiga);
          end;
        end;
       SetErrorMode(Oem);  {<-----Modification}
      end;

      ListBox1.Height := ListBox1.Count * 54;
      Self.Constraints.MaxWidth := Self.Width;
    end;

  • signaler à un administrateur
    Commentaire de f0xi le 13/05/2008 04:25:35 administrateur CS

    ajouté fichier .CFG et .DOF version LIGHT pour les repertoires du projet

  • signaler à un administrateur
    Commentaire de systmd le 13/05/2008 19:26:39

    Bonsoir F0XI

    J'ai rajouté
    procedure TFrmMain.ListBox1MouseMove(Sender: TObject; Shift: TShiftState;  X, Y: Integer);
    var MousePos: TPoint;
    begin
    MousePos.X:=X;
    MousePos.Y:=Y;
    ListBox1.ItemIndex:=ListBox1.ItemAtPos(MousePos,True);
    end;

    Ca permet d'avoir le focus directement sur un disque et donc le bon popupmenu au click droit(Information du disque) .

  • signaler à un administrateur
    Commentaire de f0xi le 14/05/2008 18:36:35 administrateur CS

    @mmmrrr :
    Il est possible de le faire sous certaines conditions, uniquement. (comme la condition d'être admin :) privilège oblige)
    non bien sur, il s'agit surtout de :
    - etre sur que le fichier n'est pas corrompus
    - de savoir comment distribuer ce fichier correctement
    - de savoir etre raisonnable selon la taille de ce fichier
    - d'ajouter un readme au fichier etc
    - d'être admin ou membre reconnus comme "fiable" niveau sources (un exe dans une premiere ou deuxieme source, même bonne, serait mal vus et corrigé/supprimer immediatement)
    - que l'utilisateur soit au courant des risques d'executer un tel fichier.

    voila tout. même si on préfère éviter de parler de privilège il s'agit pourtant bien de ça, puisque seul quelques membres sont officieusement autorisé a le faire, contrairement aux autres.


    @systmd :
    "Pour éviter l'erreur des lecteurs de disquette au démarrage"
    -> plus la peine depuis l'introduction de la liste des lecteurs a scanner.

    "avec SetErrorMode  pour éviter le message d'erreur"
    -> Bien vus! ça te donne l'occasion de figurer dans les remerciements
    SetErrorMode a été introduit directement dans la classe TDisk et ne figure donc plus dans cette procédure.

    "Ca permet d'avoir le focus directement sur un disque et donc le bon popupmenu au click"
    -> T'as vraiment de bonne idée, suggestion officiellement introduite.


  • signaler à un administrateur
    Commentaire de amictor le 14/05/2008 18:46:39

    Bonjour

    Je ne sais pas pourquoi mais sur mon PV Vista Sp1, le fichier Zip dernière version du 14/05 ne peut pas être lu DU FAIT D'UNE ERREUR DE FORMAT.
    Quelqu'un a-t-il eu un problème similaire?

    Merci d'avance
    Amictor

  • signaler à un administrateur
    Commentaire de cantador le 14/05/2008 21:33:11

    bonjour amictor,
    fallait pas prendre vista..

    foxi,
    ton avatar..
    tu fais un concours d'os à moelle avec cirec..

  • signaler à un administrateur
    Commentaire de f0xi le 15/05/2008 15:21:57 administrateur CS

    @Amictor :

    "ne peut pas être lu DU FAIT D'UNE ERREUR DE FORMAT"

    avec quoi essaye tu de le decompresser ?
    Winzip ? Winrar ? 7Zip ? ou le systeme Zip d'origine de windows ?

  • signaler à un administrateur
    Commentaire de amictor le 16/05/2008 18:08:10

    Bonjour

    J'ai essay? de de d?compresser avec 7zip, winzip 11.1 l'utilitaire vista et deux utilitaires que j'ai cr?? jadis sur la base des dll. M?me r?sultat erreur de format exprim? sous des formes diverses

    Merci de me dire comment faire. C'est la premi?re anomalie de ce type avec ma configuration actuelle malgr? un usage fr?quent des fichiers zip.

    A+
    Amictor

  • signaler à un administrateur
    Commentaire de amictor le 17/05/2008 22:55:20

    Bonjour

    J'ai pu récupérer le fichier ZIP grâce à PKZIPFIX

    A+

    Amictor

Ajouter un commentaire

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode