Ce sujet est résolu.
12 | |||||
Auteur | Messages | ||||
---|---|---|---|---|---|
Foromus | #1 Posté le 14/8/2014 à 09:08:26 | ||||
Bonjour, A première vue, ça peut peut-être surprendre... Comme je suis en train de faire un petit programme de sauvegarde, j'aimerais pouvoir afficher à l'utilisateur le fait qu'il ait un média de connecté ou non. Naturellement, j'ai pensé à la formule : If exist(/media/...) Then ceci ou cela, mais le problème, c'est que dans ce répertoire, j'ai toujours deux sous-répertoire indélogeables qui sont Floppy et Floppy0. Et par ailleurs, si je branche un média pour la première fois, je ne sais pas qui il sera. Donc, mon souhait se résume à ceci : 1) Si mon appli n'a jamais eu à enregistrer un média externe dédié, elle doit me signaler que : Aucun média externe n'est connecté ni monté, ou, Le média machin est connecté et monté. 2) Si mon appli a déjà enregistré un média externe dédié, elle doit me signaler que le média est présent, monté ou absent. Si il est monté, elle devra aussi dire si le media présent est différent de celui référencé. Pour le 2), je pense que je pourrais trouver en cherchant un peu, ça me semble accessible. Pour le 1), je ne vois pas trop, à moins de faire un listing du répertoire /media, d'éliminer les floppy embarrassants et voir si il reste quelque chose. Là, je ne sais pas trop faire, et du reste, même si je n'exporterai jamais mon appli (trop simple !), je dois partir du principe que sur un autre machine, les floppy ne seront peut-être pas là... Voilà, j'espère avoir été clair.... | |||||
Jack | #2 Posté le 14/8/2014 à 11:56:19 | ||||
Pour la sauvegarde tu peux passer par un dirchooser que tu initialiseras avec la commande suivante : Dialog.Path = "/media" Bien sur le media devra être monté avant l'activation du dirchooser. Pour un code démocratique nationalisons Gambas. | |||||
Reivillo | #3 Posté le 15/8/2014 à 13:09:07 | ||||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | Bonjour Foromus. Toujours dans du Gambash, on peut voir peut-être avec celà...
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||||
Foromus | #4 Posté le 15/8/2014 à 19:35:10 | ||||
Bonjour à tous, Finalement, je m'en suis sorti assez simplement. Partant du principe que le premier pointage doit obligatoirement être /media, j'enregistre tout simplement le chemin (que je dois utiliser après), et je contrôle que left$(chemin,6) = "/media", et si ce n'est pas le cas, je bloque... A première vue, ça marche... Merci pour les suggestions, à retenir pour d'autres circonstances, peut-être... | |||||
Foromus | #5 Posté le 17/8/2014 à 11:43:29 | ||||
Bonjour à tous, A propos du media externe : Un blocage tout à fait normal au cours de la copie (mais je ne l'ai pas fait exprès...) Quand le media est trop petit pour recevoir la source, il y a problème. Dans ce cas, comment je m'en tire ? Je n'ai pas la possibilité - dans mon cas - de mesurer le volume de la source car je n'ai, en mémoire, que les chemins, et encore, que ceux de départ (donc, pas les sous-répertoires). A moins que Gambas - qui me surprend toujours par ses richesses que je découvre au fur et à mesure, ne dispose d'une commande particulière qui indique le volume, un peu comme sous Linux, avec le choix "Propriétés", et qui donne, et le volume occupé, et le volume restant libre, que ce soit pour un répertoire ou un volume quelconque. Avec un tel outil, il serait alors très simple de faire une mesure avant copie, et de bloquer celle-ci si la chose risque de déborder. Qu'en pensez-vous ?... En annexe et hors sujet : Comment je bloque un volet d'un TabStrip, si ce qu'il contient n'a pas à être sollicité quand cela est fait à mauvais escient ? Merci ! | |||||
vuott | #6 Posté le 17/8/2014 à 14:37:29 | ||||
Ne cedere ineluctabili possimus | Voilà, j'espère avoir été clair.... Only Gambas functions......
« Vita non suavis esse potest, nec Mors amara. » | ||||
Jack | #7 Posté le 17/8/2014 à 16:37:11 | ||||
Comment je bloque un volet d'un TabStrip, si ce qu'il contient n'a pas à être sollicité quand cela est fait à mauvais escient ? En faisant un contrôle sur l'index du tabstrip ? (sur le numero 2 par exemple)
Pour un code démocratique nationalisons Gambas. | |||||
Foromus | #8 Posté le 18/8/2014 à 08:40:10 | ||||
Pour la sauvegarde tu peux passer par un dirchooser que tu initialiseras avec la commande suivante : Bonjour, J'ai un peu tourné la formule dans tous les sens, je ne suis arrivé à aucun résultat intéressant, si ce n'est un refus de code... Sachant que dans mon formulaire, j'ai deux chooser (1 & 2), que je ne veux traiter ici que le second, ma formule "Dialog.Path = "/media" ", je la mets où ?... Merci ! | |||||
Jack | #9 Posté le 18/8/2014 à 18:15:23 | ||||
Ok, je m'exprime mal et je suis hors sujet donc je reprend à zéro. pour selectionner une directory ou un fichier le plus simple c'est de passer par une classe nommée Dialog http://gambasdoc.org/help/comp/gb.form.dialog/dialog?fr Voilà comment se servir de cette classe qui t'affranchi du dirchooser. Soit deux textbox et deux boutons dans ta form : Le premier va te servir pour sélectionner un répertoire et le second pour sélectionner un fichier texte. A toi d'adapter la fonction filefilter en fonction de tes besoins concernant le type de fichiers a sélectionner. NB : Tu peux mettre plusieurs types de fichiers bien sur.
Pour un code démocratique nationalisons Gambas. | |||||
Reivillo | #10 Posté le 19/8/2014 à 11:29:28 | ||||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | Bonjour. @ Jack. Pourquoi as-tu créé une Function FileFilter() la ligne 16
par
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||||
Jack | #11 Posté le 19/8/2014 à 12:33:37 | ||||
Tu as complètement raison mais j'aime bien faire mumuse avec le code. Pour un code démocratique nationalisons Gambas. | |||||
Foromus | #12 Posté le 19/8/2014 à 13:38:43 | ||||
Moi je dis que c'est bien. | |||||
Jack | #13 Posté le 19/8/2014 à 14:23:20 | ||||
Je déconnais un peu, malgré tout, l'intérêt réside dans une application aux multiples appels. Pour un code démocratique nationalisons Gambas. | |||||
Reivillo | #14 Posté le 19/8/2014 à 15:02:25 | ||||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | Je déconnais un peu, malgré tout, l'intérêt réside dans une application aux multiples appels. Alors là! J'aurai du m'abstenir de faire cette remarque...Sorry Sur ce, Je retourne m'occuper de mes Oignons. Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||||
Foromus | #15 Posté le 19/8/2014 à 21:07:14 | ||||
Bonjour à tous, Voilà, je pense être arrivé au but recherché. Merci à tous pour votre aide fort précieuse ! | |||||
12 |