Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| question concernant DIR_DIALOG | |
| | Auteur | Message |
---|
Invité Invité
| Sujet: Re: question concernant DIR_DIALOG Jeu 17 Fév 2011 - 18:37 | |
| Et bien voilà, c'est gagné. Merci |
| | | Invité Invité
| Sujet: Re: question concernant DIR_DIALOG Jeu 17 Fév 2011 - 19:44 | |
| Je fais le teste avec ta dll, ne sachant pas au final quel procédé je vais choisir. J'ai remarqué une chose: lorsqu'on a le retour du dossier de la dll, le programme est réduit. - Code:
-
' teste choix dossier label chemin ,accepte
dim racine$,dossier$,res%,mode% width 0,800:height 0,400:left 0,screen_x/2-400:top 0,screen_y/2-200:caption 0,"installation" color 0,0,0,255:font_color 0,255,255,0:font_size 0,12
alpha 1:top 1,50:left 1,100: font_size 1,30 :font_italic 1:font_bold 1:font_name 1,"Cooper Black" caption 1,"Installation du programme"+chr$(13)+" Archivage de documents" alpha 2:top 2,150:left 2,100:font_color 2,255,255,255:font_size 2,14:caption 2,"le programme s'installe:" edit 3:top 3,180:left 3,100:width 3,500:font_color 3,0,0,0 text 3,"C:\Archivage" button 5:top 5,180:left 5,650:width 5,30:font_bold 5:font_size 5,18:caption 5,"..._" on_click 5,chemin button 6:top 6,250:left 6,650:caption 6,"accepte":on_click 6,accepte end chemin: dll_on "KGF.dll" racine$ = "C:\" : mode%=0 : ' klaus dossier$ = string$(255," ") : ' klaus res% = DLL_call4("FolderSelect",adr(racine$),adr(dossier$),len(dossier$),mode%) text 3,dossier$ dll_off return
accepte: return
Ensuite il serait bien de pouvoir si cela est possible, et je crois que le teste du programme le montre, ce serait de pouvoir placer la boite dialogue où on le souhaite. Quant penses-tu? De toute façon j'ai une solution de rechange. Merci de ton attention. Je suis en train de penser: serez t-il possible de récupérer les noms courts directement pour mettre l'adresse d'une instruction execute ? |
| | | Nardo26
Nombre de messages : 2294 Age : 56 Localisation : Valence Date d'inscription : 02/07/2010
| Sujet: Re: question concernant DIR_DIALOG Jeu 17 Fév 2011 - 22:01 | |
| A mon avis, il vaut mieux conserver les chemins longs au niveau des dll, quitte à passer par un intermédiaire (ou un flag supplementaire lors de l'appel à la dll) pour obtenir les chemins courts. Je ne sais plus si c'est Klaus ou JL35 mais quelqu'un avait donné une astuce pour convertir en chemin court... Ca me fait penser qu'il faudrait peut être rajouter un test dans Delphi concernant les chaines de caractères pour s'assurer que la chaine n'est pas vide, au quel cas la fonction renvoie zéro en valeur de retour.... (faut bien qu'elle serve à quelque chose, cette valeur de retour ! ) | |
| | | Invité Invité
| Sujet: Re: question concernant DIR_DIALOG Jeu 17 Fév 2011 - 22:59 | |
| C'est Klaus qui a fait un programme pour avoir des noms courts. C'est très pratique pour la construction d'un programme, en tant que "programmeur". Mais dans un programme d'installation, l'envie n'est pas de demander au "client" (vilain mot), de faire le travail de conversion.
Il pourrait y avoir un flag de réception, on récupère soit le mot long ou court. Reste que ce travail, je ne veux pas l'imposer à Klaus qui se dévoue beaucoup à nos demandes. Je pense qu'il me faudra un mot court, et dans mon cas c'est l'emplacement d'appel au scanner, mais si un programme est installé en program files, on connait déjà cette partie là ("C:\PROGRA~1\). Reste qu'il n'y est pas d'espaces dans le reste.
Je sais que je suis en train de me donner beaucoup de mal pour ce programme, qui certainement n'intéresse que moi, mais c'est plus un pari envers moi-même que l’intérêt du programme. De plus si cela fonctionne, ce pourrait servir d'exemple pour d'autre type de programme, certainement plus intéressant que le mien.
Chaque fois que l'on met un programme sur le forum, il y a toujours quelqu'un qui a un problème pour une raison ou une autre. Le but est de mettre au point un bon système de transfert, comme ont les programmes du commerce.
En ce qui concerne le scanneur, j'utilise un programme que j'ai téléchargé. Mais j'ai trouvé dans "systeme32" ce programme qui peut-être un point de départ: "wiaacmgr.exe". C'est l'assistant du scanneur ou d'un appareil numérique. Je suppose que tout le monde a ce programme. Il pourrait servir de programme par défaut dans un premier temps, et là pas besoin du chemin complet. |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: question concernant DIR_DIALOG Jeu 17 Fév 2011 - 23:20 | |
| @Cosmos70: 1. Pour les noms courts, le mieux serait d'enchaîner un deuxième appel de fonction DLL pour convertir le nom nom obtenu en nom court. Mais as-tu vraiment besoin d'un nom court ? Ne peux-tu pas passer le nom long de la manière suivante: - Code:
-
nom_du_fichier_complet$ = chr$(34)+dossier$+nom_du_fichier$"+chr$(34)
Une telle construction passe comme paramètre dans un fichier de commandes *.bat. 2. On n'a aucune influence sur le placement de la fenêtre du dialogue de recherche de répertoire. C'est une foncion windows dont le placement est automatique. 3. Je n'ai pas constaté de minimisation du programme au retour de l'appel de ma DLL. La variable de retour est bien chargée et le résultat s'affiche, le programme restant affiché en mode normal... | |
| | | Invité Invité
| Sujet: Re: question concernant DIR_DIALOG Jeu 17 Fév 2011 - 23:30 | |
| Tu as une bonne idée pour les noms noms. Comme tu vois, je ne pense pas à tout, à partir du moment que cela marche. Pour le retour de la dll, chez moi, le programme disparait, et je dois le ressortir en cliquant sur l'icône dans la barre de tâche, et ça c'est un problème important. Je viens d'essayer plusieurs programmes selon ta méthode, et cela ne marche pas. Un exemple: - Code:
-
dim prg$:prg$=chr$(34)+"C:\Program Files\aida\aida32.exe"+chr$(34) message file_exists(prg$) execute_wait prg$
|
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: question concernant DIR_DIALOG Ven 18 Fév 2011 - 1:24 | |
| Effectivement, les commandes EXECUTE et EXECUTE_WAIT ont besoin du nom court, bien que ce ne soit pas documenté. Dommage, mais il n'y a pas d'autre solution que d'appeler la fonction de calcul du nom court. | |
| | | Contenu sponsorisé
| Sujet: Re: question concernant DIR_DIALOG | |
| |
| | | | question concernant DIR_DIALOG | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |