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

f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 - 6 mai 2008 à 13:53
amictor Messages postés 11 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 24 juillet 2008 - 17 mai 2008 à 22:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46569-api-diskutils-diskmonitor-v1-1-6-multi-moniteur-d-unites-de-stockage

amictor Messages postés 11 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 24 juillet 2008
17 mai 2008 à 22:55
Bonjour

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

A+

Amictor
amictor Messages postés 11 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 24 juillet 2008
16 mai 2008 à 18:08
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
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
15 mai 2008 à 15:21
@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 ?
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
14 mai 2008 à 21:33
bonjour amictor,
fallait pas prendre vista..

foxi,
ton avatar..
tu fais un concours d'os à moelle avec cirec..
amictor Messages postés 11 Date d'inscription mardi 19 octobre 2004 Statut Membre Dernière intervention 24 juillet 2008
14 mai 2008 à 18:46
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
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
14 mai 2008 à 18:36
@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.
cs_systmd Messages postés 41 Date d'inscription mercredi 25 février 2004 Statut Membre Dernière intervention 29 août 2012
13 mai 2008 à 19:26
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) .
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
13 mai 2008 à 04:25
ajouté fichier .CFG et .DOF version LIGHT pour les repertoires du projet
cs_systmd Messages postés 41 Date d'inscription mercredi 25 février 2004 Statut Membre Dernière intervention 29 août 2012
11 mai 2008 à 18:08
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;
cedricbi Messages postés 185 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 21 mars 2011
11 mai 2008 à 11:04
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
cedricbi Messages postés 185 Date d'inscription mercredi 18 décembre 2002 Statut Membre Dernière intervention 21 mars 2011
11 mai 2008 à 10:28
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..
cs_systmd Messages postés 41 Date d'inscription mercredi 25 février 2004 Statut Membre Dernière intervention 29 août 2012
10 mai 2008 à 13:12
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
mmmrrr Messages postés 10 Date d'inscription vendredi 19 mars 2004 Statut Membre Dernière intervention 9 mars 2009
9 mai 2008 à 10:36
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é ???
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
6 mai 2008 à 20:50
@foxi:
purée, çà déconne..
c'est 12" (douze pouces)

c'est donc le P...!

bon courage
JulioDelphi Messages postés 2226 Date d'inscription dimanche 5 octobre 2003 Statut Membre Dernière intervention 18 novembre 2010 14
6 mai 2008 à 19:05
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 ? =)
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
6 mai 2008 à 18:51
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 ?
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
6 mai 2008 à 16:22
désolé 2"
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
6 mai 2008 à 16:19
@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'.
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
6 mai 2008 à 15:44
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.
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
6 mai 2008 à 15:37
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.
Utilisateur anonyme
6 mai 2008 à 14:58
@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
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
6 mai 2008 à 14:50
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..
Utilisateur anonyme
6 mai 2008 à 14:31
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
f0xi Messages postés 4205 Date d'inscription samedi 16 octobre 2004 Statut Modérateur Dernière intervention 12 mars 2022 35
6 mai 2008 à 13:53
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.