Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1682 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Problème ensemble d'exploration (TDriveCombobox, TDirectoryListBox...)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème ensemble d'exploration (TDriveCombobox, TDirectoryListBox...)

n°985681
benjones
Posté le 18-02-2005 à 09:05:16  profilanswer
 

Bonjour à tous !
J'ai un soucis. Je suis en train de faire une zone d'exploration composée d'un TDriveCombobox, TDirectoryListBox, TFileListBox, FilterCombobox.
Or, lorsque je sélectionne le lecteur D (mon lecteur CD) dans le TDriveCombobox, l'appli plante (sans doute dut au fait que ce lecteur soit vide ).
Comme faire pour vérifier si le lecteur est vide ?
Merci !


---------------
Avec Linux, je fais ce que je veux! Avec Windows, je fais ... ce que je peux...
mood
Publicité
Posté le 18-02-2005 à 09:05:16  profilanswer
 

n°985861
benjones
Posté le 18-02-2005 à 11:10:01  profilanswer
 

Ya personne ici ?? ;)
J'ai trouvé une fonction ki vérifie si le lecteur contient un disque :
 
function DiskInDrive(const Drive: Char): Boolean;
var
  DrvNum: Byte;
  EMode: Word;
begin
  Result := False;
  DrvNum := Ord(Drive);
  if DrvNum >= Ord('a') then
    Dec(DrvNum, $20);
  EMode := SetErrorMode(SEM_FAILCRITICALERRORS);
  try
    if DiskSize(DrvNum - $40) <> -1 then
      Result := True
  finally
    SetErrorMode(EMode);
  end;
end;
 
Ensuit, sur L'évènement OnChange de ma TDriveCombobox je met :
 
 
 drivezone.DirList:=nil;
 
 try
    if not DiskInDrive(drivezone.drive)
    then begin
    showmessage('Le lecteur '+drivezone.drive+': est vide');
    end;
  finally
    drivezone.DirList:=arbre;
   end;
 
Cependant, J'ai à chauqe PREMIER clique sur un lecteur vide un message d'erreur Windows Erreur E/S et seulement ensuite si je reclique SANS CHANGER DE LECTEUR sur mon lecteur vide, j'ai ma boite de dialogue de remplacement, Pouvez vous m'aider ?
 
Merci


---------------
Avec Linux, je fais ce que je veux! Avec Windows, je fais ... ce que je peux...
n°985866
antp
Super Administrateur
Champion des excuses bidons
Posté le 18-02-2005 à 11:11:07  profilanswer
 

Comment ça "plante" ? Si c'est juste une Exception qui est lancée, il faut la récupérer avec un try/except.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°985867
antp
Super Administrateur
Champion des excuses bidons
Posté le 18-02-2005 à 11:12:32  profilanswer
 

Ces composants ce sont des machins datant de Windows 3.1, ça donne un look assez vieillot quand même :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Problème ensemble d'exploration (TDriveCombobox, TDirectoryListBox...)

 

Sujets relatifs
Probleme html très facile a résoudre (mais je trouve pas snif)probleme de code
Probleme de structureProblème de reception socket
Makefile : problème avec les wildcard %problème de comparaison.. apparemment
problème fichier en PERLproblème avec fonction FOREACH
Problème de Procedure avec liste chainée et fichierprobleme d'insertion dans Mysql avec easyphp
Plus de sujets relatifs à : Problème ensemble d'exploration (TDriveCombobox, TDirectoryListBox...)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR