FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» Simuler l’appui de n’importe quelle touche.
par papydall Hier à 23:54

» Le Forum est en vacances.
par JL35 Hier à 21:20

» Une autre façon de terminer une application.
par JL35 Mar 22 Aoû 2017 - 14:27

» Compilateur FBPano
par Mike Lun 21 Aoû 2017 - 23:17

» Pb 20 (en analyse): plantage à l'appel d'un SUB
par Jack Lun 21 Aoû 2017 - 21:58

» Pb 19 (en analyse): libellé d'erreur dans des IF imbriqués
par Jack Lun 21 Aoû 2017 - 21:55

» Copier / coller du texte à partir de la fenêtre de commandes
par jean_debord Lun 21 Aoû 2017 - 9:46

» COMPILATEUR V 0.9 beta 8 du 18 aout 2017
par papydall Lun 21 Aoû 2017 - 5:01

» Mettre en windows en veille
par papydall Lun 21 Aoû 2017 - 4:15

» Stretch_on ne stretch plus...
par papydall Dim 20 Aoû 2017 - 15:22

» Pb 18 (en analyse): RESTORE_LABEL avec DATA à la fin
par Jack Dim 20 Aoû 2017 - 13:21

» Problème de traitement des opérateurs avec le compilateur.
par Pedro Alvarez Sam 19 Aoû 2017 - 20:01

» Pb 17 (résolu): ITEM_SELECT ne fonctionne pas
par Jack Jeu 17 Aoû 2017 - 19:26

» un nouveau editeur panobasic
par Jean Claude Jeu 17 Aoû 2017 - 10:18

» Le compilateur.
par Pedro Alvarez Jeu 17 Aoû 2017 - 8:36

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Août 2017
LunMarMerJeuVenSamDim
 123456
78910111213
14151617181920
21222324252627
28293031   
CalendrierCalendrier

Partagez | 
 

 GetLogicalDrives

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
papydall

avatar

Nombre de messages : 5523
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: GetLogicalDrives   Dim 18 Mai 2014 - 2:04

Pour déterminer l’existence d’un disque sur le PC, Panoramic dispose de la fonction DISK_EXISTS()
Mais de quel type de disque s’agit-il ? Fixe, amovible, CD-Rom, USB , … ?
La documentation de Panoramic n’en dit pas un mot.

Pour savoir, lancez ce code et comparez l’affichage.

Code:

rem ============================================================================
rem               GetLogicalDrives
rem ============================================================================
rem Déterminer la liste des lecteurs logiques disponibles sur le PC.
rem Un appel à la fonction GetLogicalDrives de la kernel.dll renvoie une valeur
rem décimale.
rem Cette valeur décimale correspond à une valeur en binaire sur 32 bits.
rem Le bit le moins significatif (le 1er bit à partir de la droite) correspond
rem au lecteur A:\, le bit suivant correspond au lecteur B:\ et aisi de suite.
rem Le 26ème bit correspond au lecteur Z:\.
rem Les bits de 27 à 32 sont forcement à zéro.
rem ----------------------------------------------------------------------------
rem Pour déterminer quels sont les bits à 1, on utilse la fonction BIN_AND(v1,v2).
rem Avec v1 = la valeur de retour de GetLogicalDrives
rem et   v2 = 2 à la puissance le numéro du bit à tester.
rem Si le résultat de BIN_AND(v1,v2) est positif, cela prouve que le bit à tester
rem est mis à 1 et que le lecteur qui lui correspond existe.
rem ============================================================================
dim ret%,lecteur,driv$
width 0,1000
alpha 1 : left 1,10   : font_name 1,"Script MT Bold" : font_size 1,16 : font_color 1,0,0,255
alpha 2 : left 2,500  : font_name 2,"Script MT Bold" : font_size 2,16 : font_color 2,0,0,255
dll_on "kernel32.dll"
ret% = dll_call0("GetLogicalDrives")
driv$ = "Liste des lecteurs logiques disponibles sur le PC."+chr$(13)+ chr$(13)
driv$ = driv$ + "Par GetLogicalDrives de kernell.dll" + chr$(13)+chr$(13)
for lecteur = 0 to 25
    if bin_and(ret%,power(2,lecteur))> 0
       driv$ =  driv$ + string$(30," ") +chr$(65+lecteur) + ":\ existe " + chr$(13)
    end_if
next lecteur
caption 1,driv$


dll_off
rem ============================================================================

driv$ = "Liste des lecteurs logiques disponibles sur le PC."+chr$(13)+ chr$(13)
driv$ = driv$ + "Par la fonction disk_exists de Panoramic" + chr$(13) + chr$(13)
for lecteur = 0 to 25
    if disk_exists (chr$(65+lecteur)) > 0
        driv$ =  driv$ + string$(30," ") +chr$(65+lecteur) + ":\ existe " + chr$(13)
    end_if
next lecteur
caption 2,driv$
rem ============================================================================
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
JL35



Nombre de messages : 5928
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: GetLogicalDrives   Dim 18 Mai 2014 - 11:16

Merci papydall pour cette très intéressante fonction !
Et pour ne plus avoir cette désagréable erreur systématique qu'il faut valider pour un disque inexistant, en panoramic.

Je me la mets sous le coude pour me faire une petite sub, qui donnera optionnellement le label du disque éventuellement monté.
Très bien pour les explorateurs de fichiers.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: GetLogicalDrives   Dim 18 Mai 2014 - 11:27

Je vous rappelle qu'Ygeronimi garde les procédures très utile sur le site du journal, je dis ça comme ça...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



Nombre de messages : 5928
Localisation : 77
Date d'inscription : 29/11/2007

MessageSujet: Re: GetLogicalDrives   Dim 18 Mai 2014 - 11:58

Embarassed j'ai un peu tendance à l'oublier...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5849
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: GetLogicalDrives   Dim 18 Mai 2014 - 12:13

C'est pas grave non plus... On fait ça entre amis juste pour partager entre nous et pour les gens qui veulent nous rejoindre et par ce que l'on a un endroit où les retrouver facilement.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

Nombre de messages : 5523
Age : 67
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

MessageSujet: Re: GetLogicalDrives   Dim 18 Mai 2014 - 16:28

Bien.
Bon début de journée : un JL35 satisfait de la très intéressante fonction que Papydall a partagé ; un Jicehel dont la mémoire est toujours bonne pour nous rappeler  ce qu’on a tendance à oublier et un Bignono qui m’a discerné le titre de  king (dans un autre post) et qui,  lui aussi, a intégré la très intéressante fonction GetLogicalDrives  Smile 

Que peut-on espérer de plus pour débuter sa journée de retraité en retraite ?, car il existe des retraités qui ne sont pas encore en retraite !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
jjn4

avatar

Nombre de messages : 1594
Date d'inscription : 13/09/2009

MessageSujet: Re: GetLogicalDrives   Dim 18 Mai 2014 - 17:37

Eh oui, c'est terrible, ça !
 rendeer  alien  rendeer 
Ah, et au fait, mes félicitations
aussi pour cette belle exploration !
 cheers  alien  cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://jjn4.e-monsite.com
Contenu sponsorisé




MessageSujet: Re: GetLogicalDrives   

Revenir en haut Aller en bas
 
GetLogicalDrives
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» GetLogicalDrives

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC 32 bits :: Vos sources, vos utilitaires à partager-
Sauter vers: