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 !

Sujet : [Delphi] Erreur Pas de disque dans le lecteur [ Divers / Débutant(e) ] (Tavounet)

vendredi 16 mai 2008 à 13:46:41 | [Delphi] Erreur Pas de disque dans le lecteur

Tavounet

Bonjour,

J'ai un petit problème en programmation d'un logiciel en Delphi, je réalise le programme de façon à le lancer à partir d'un CD, j'ai donc créé une procédure de test afin de "capter" la lettre du lecteur où se trouve le CD.

Cependant, lorsqu'il n'y a pas de CD dans le lecteur, il me met une erreur "Pas de Disque" avec trois boutons, Continuer, Recommencer et Annuler.

J'aurais aimé ignorer cette erreur mais apparemment Delphi reste bloqué à la ligne qui génére l'erreur.

Code : if FileExists('e:\Txt\FichDetect0123.txt') then Lecteur:='e';

Merci d' avance pour vos réponses =)

vendredi 16 mai 2008 à 14:52:57 | Re : [Delphi] Erreur Pas de disque dans le lecteur

Francky23012301

Membre Club
Salut,

if FileExists('e:\Txt\FichDetect0123.txt') then Lecteur:='e';
// <----- le beug est surement ici.

Donc si on réfléchit 5 min : Si le fichier  'e:\Txt\FichDetect0123.txt' existe alors  Lecteur:='e'; Mais si le fichier n'existe pas, qu'est ce qui passe ? Bien dans ton code rien : le reste de ta procédure continue d'avoir lieu. Donc effectivement si le fichier existe pas et que tu n'as pas arreté ta procédure, tu vas avoir droit à un beug.

Solution possible :
if FileExists('e:\Txt\FichDetect0123.txt') then Lecteur:='e'
Else Exit;



vendredi 16 mai 2008 à 18:22:20 | Re : [Delphi] Erreur Pas de disque dans le lecteur

Guillemouze

je pense pas que ce soit ca le probleme francky.
Son probleme vient du fait que la fonction FileExists de l'API windows ne retourne pas tant que l'utilisateur n'a pas inseré un cd ou cliqué sur abandonner.

Le probleme reel est de savoir si l'appel de fileExist va afficher un message qui fait qu'elle ne retournera pas avant une intervention de l'utilisateur. En gros, existe-il un fonction pour savoir si un lecteur est present.

samedi 17 mai 2008 à 06:40:03 | Re : [Delphi] Erreur Pas de disque dans le lecteur

f0xi

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !


voir :

ParamStr(0)
ExtractFileDrive
ExtractFileExt
ExtractFilePath

Un programme s'executant sur un CD (donc autonome, donc ne necessitant pas d'install) doit se foutre totalement de a partir de quoi il est lancé.
que ce soit un disque dur, une clef usb, un cd, en reseaux etc.

sinon regarde ma source DiskMon.
http://www.delphifr.com/codes/API-DISKUTILS-DISKMONITOR-V1-MULTI-MONITEUR-UNITES-STOCKAGE_46569.aspx




samedi 17 mai 2008 à 11:05:56 | Re : [Delphi] Erreur Pas de disque dans le lecteur

cirec

Membre Club Administrateur CodeS-SourceS
Salut,

sous XP Pro SP2
la fonction FileExists ne bloque pas si le lecteur est vide ... elle renvoie juste False ....

au lieu de se poser des questions .... un petit teste répondrait plus rapidement à vos interrogations

 
@+
Cirec


samedi 17 mai 2008 à 15:25:03 | Re : [Delphi] Erreur Pas de disque dans le lecteur

Guillemouze

<HorsSujet>
c'est quoi cette nouvelle mode des tetes de mort?
</HorsSujet>

samedi 17 mai 2008 à 16:01:03 | Re : [Delphi] Erreur Pas de disque dans le lecteur

cirec

Membre Club Administrateur CodeS-SourceS
ce n'est que pure coïncidence

il n'y a pas eut de concertations à ce sujet

 
@+
Cirec


samedi 17 mai 2008 à 19:58:19 | Re : [Delphi] Erreur Pas de disque dans le lecteur

f0xi

Membre Club Administrateur CodeS-SourceS

"c'est quoi cette nouvelle mode des tetes de mort?"

voir reponse de Cirec.

c'est une pure coïncidence.

Cirec c'est fait un avatar perso.
Mauricio a mis la tete de mort d'Albator je crois
et moi c'est le drapeau de pirate de Luffy dans One Piece.

Aucun n'est donc lié.




lundi 19 mai 2008 à 11:16:58 | Re : [Delphi] Erreur Pas de disque dans le lecteur

Tavounet

En réponse à Francky : Je ne pouvais pas faire un exit si le fichier n'existait pas car je testais toutes les lettres.

Réponse à f0xi : Parfait, je me suis servi de ParamStr(0) et du ExtractFileDrive, ça réduit déjà mon code d'une vingtaine de ligne =p

Les tests après reboot sont à venir, je tiens au courant ^^

 

Merci de vos réponses




Cette discussion est classé dans : erreur, delphi, cd, lecteur, disque


Répondre à ce message

Sujets en rapport avec ce message

Installation Pack 2 Delphi 6 [ par JPL1 ] Bonjour à tous,J'essaie d'installé le pack 2 sur delphi 6 et j'ai un message d'erreur"Erreur lors de la copie de fichiers(Erreur -132)" Dans le fichie creer un executable avec installshield [ par islem2007 ] svp  jai realisé une application en delphi 7 et j ai voulu creer un executable pour mon projet avec installshield mais a l'execution de mon programme VTOC virtuelle [ par KIMI1632 ] Kimi1632salut, je voudrait simuler la présence d' CD/DVD dans mon lecteur qui bloque s'il est vide,  voilà a quoi je pense 1- faire une routine qui éc delphi/Mysql erreur faut ajouter une colonne non blob a la table [ par haouestarik ] bonjour,je developpe une application delphi/Mysqlj'ai crée dans ma table un champs appelé 'photo' type BLOBsur ma fiche j'ai utilisé un DBIMAGE mais a


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 1,279 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.