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
» Compilateur FBPano
par jean_debord Aujourd'hui à 10:54

» demande pour recuperer un text speciale
par pascal10000 Hier à 22:04

» Casse-tête : Echanger les positions des cavaliers
par papydall Hier à 19:51

» KGF_dll - nouvelles versions
par Klaus Hier à 14:29

» Amélioration de la commande HINT
par papydall Mer 19 Juil 2017 - 3:30

» TEST SUR SHAPE
par papydall Mer 19 Juil 2017 - 1:17

» Un challenge à relever
par papydall Mar 18 Juil 2017 - 21:25

» Astuce : Indenter plusieurs lignes de code à la fois
par papydall Mar 18 Juil 2017 - 1:32

» Suggestion pour le forum
par papydall Lun 17 Juil 2017 - 20:28

» Truver les handles des onglets de Panoramic Editor
par Klaus Lun 17 Juil 2017 - 18:20

» Synedit_Editor - nouvelles versions
par Klaus Lun 17 Juil 2017 - 13:46

» Détermine si oui ou non un objet est PARENT d'un autre objet
par Klaus Dim 16 Juil 2017 - 11:58

» Une autre façon de terminer une application.
par papydall Dim 16 Juil 2017 - 3:53

» Déterminer le Handle de l’objet ayant le focus
par papydall Dim 16 Juil 2017 - 3:15

» Déterminer le HANDLE du Bureau
par papydall Dim 16 Juil 2017 - 1:59

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Juillet 2017
LunMarMerJeuVenSamDim
     12
3456789
10111213141516
17181920212223
24252627282930
31      
CalendrierCalendrier

Partagez | 
 

 Noms de fichiers courts aisément !

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

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Noms de fichiers courts aisément !   Mer 9 Nov 2011 - 4:45

Ca y est - mon site évolue à nouveau !

Il y a un nouvel utilitaire dans la rubrique Panoramic, Page suivante: obtenir les noms courts de tous les fichiers, y compris leur chemin d'accès ! Et ça marche dans tous les cas ! Il y a un petit programme Panoramic qui utilise un utilitaire écrit par moi en Visual Basic 4 (fourni dans la distribution). Cet utilitaire peut aussi être appelé directement, soit en interactif, soit en mode batch. Dans tous les cas, on se trouve avec le nom court affiché à l'écran ET copié dans le presse-papier ! Il n'y a plus qu'à le coller dans le source du programme. Pour aller chercher L'éditeur Panoramic, ResHack et tous les autres outils...

Petit souci provisoire sur le site: après avoir cliqué sur Page suivante, il faut recharger (raffraichir) la page pour voir apparaître la troisième ligne dans le pavé de droite :
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Nardo26

avatar

Nombre de messages : 2294
Age : 49
Localisation : Valence
Date d'inscription : 02/07/2010

MessageSujet: Re: Noms de fichiers courts aisément !   Mer 9 Nov 2011 - 9:28

Hello Klaus ! Very Happy

Oooops ! Je n'avais pas vu l'ouverture de ce sujet... Embarassed
Voir ma réponse : ICI ! Wink

Juste une petite question, vu que tu as fais pas mal de recherche sur ce sujet : tu utilises ExtractShortPathName() de delphi (que j'utilise dans ma dll Utils) ou GetShortPathNameA de Kernel32 ? (a moins que ce soit la même chose?)

PS :
- J'ai pas rencontré de pb de rafraichissement sur ton site...

- En faisant des recherches je suis tombé sur ceci... cela serait peut être intéressant de l'implémenter dans ton utilitaire, non ? Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://nardo26.lescigales.org
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Noms de fichiers courts aisément !   Mer 9 Nov 2011 - 12:13

C'est fait ev Visual Basic 4. Voici le code:
Code:
'
Private Sub Form_Load()

Dim cmd As String
Dim retval As Integer

cmd = Command()
If Len(cmd) > 0 Then
    retval = Shell("cmd /c echo " + GetShortName(cmd) + ">C:\sfn_83.dat", 0)
    End
End If

End Sub
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
Jicehel

avatar

Nombre de messages : 5841
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Noms de fichiers courts aisément !   Mer 9 Nov 2011 - 12:29

Merci Klaus (tu as vu j'ai fais attention, je n'ais pas mis jack Embarassed ), content de voir que tu es de retour à 100% maintenant avec tes propositions de solutions aux problèmes techniques rencontrés ^^


Dernière édition par Jicehel le Mer 9 Nov 2011 - 14:43, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Noms de fichiers courts aisément !   Mer 9 Nov 2011 - 14:21

Voilà - la modif proposée par Nardo26 est faite: le fichier temporaire est déposé en C:\temp\SFN_83.dat et non plus en C:\SFN_83.dat. On peut télécharger la nouvelle version sur mon site.

Attention: ne pas oublier de réactualiser la page apès son chargement, sinon, on ne verra pas la ligne ! Petit inconvénient temporaire...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



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

MessageSujet: Re: Noms de fichiers courts aisément !   Mer 9 Nov 2011 - 16:51

Bien ton utilitaire Klaus, mais mon avis personnel sera un peu plus nuancé:
- il faut toujours faire appel à un programme externe (en l'occurence SFN.exe) qui doit suivre le module Panoramic, je cherche personnellement une solution intégrée au source, qui serait autonome.
- pour SFN.exe, pourquoi passer par un fichier résultat, et ne pas mettre directement le résultat dans le clipboard, facilement accessible depuis Panoramic ? ça oblige à une E/S fichier, lequel fichier doit être connu et de SFN et du programme Panoramic, (en fait imposé par SFN), c'est donc un peu contraignant.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5841
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Noms de fichiers courts aisément !   Mer 9 Nov 2011 - 18:09

JL35, tout simplement par ce qu'il y a plus d'idées dans 2 têtes que dans une, à mon avis ^^.
Klaus a beau avoir plein d'idées géniales, il n'en n'a pas le monopole et c'est tant mieux, sinon à mon avis, il s'ennuirait. Very Happy


Dernière édition par Jicehel le Jeu 10 Nov 2011 - 0:08, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
JL35



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

MessageSujet: Re: Noms de fichiers courts aisément !   Mer 9 Nov 2011 - 22:44

Pour continuer dans la saga des noms courts, voici ma dernière production: un fichier de commande .vbs, intégré au programme Panoramic, et qui donne le résultat dans le clipboard, donc pas besoin de fichier de manoeuvre.
Le seul fichier créé est le script lui-même (en plus d'un petit fichier interne qui lui est supprimé), à voir s'il faut le supprimer après usage.
On peut d'ailleurs garder le script créé pour s'en servir en ligne de commande, résultat toujours dans le presse-papier.
C'est un peu tordu, mais ça marche.

Il n'y a pas de contrôle d'existence du path donné en paramètre, il faudrait faire ce contrôle avant l'appel au script, et en fait ce qui nous arrange c'est que les FILE_EXISTS et DIR_EXISTS fonctionnent avec des espaces dans les noms, donc on peut faire le test sur le nom long.
Bien mettre le paramètre donné (nom long) entre quotes (ce n'est pas de la boucherie...).

Voilà, avec son test (changer éventuellement p$):
Code:

DIM scr$, q$, script$: q$ = CHR$(34): scr$ = "Short2Clip.vbs"
' ****************************************************************************
' noms de variables scr$ et script$ à faire évoluer s'il y a plusieurs scripts
' ****************************************************************************
DATA "Short2Clip.vbs"
DATA "' ** Path court -> pp à partir du path long (en paramètre, entre quotes)"
DATA "Dim oFSO,oFl,stLong"
DATA "Set oFSO = CreateObject("+q$+"Scripting.FileSystemObject"+q$+")"
DATA "stLong = wscript.Arguments(0) '* Paramètre: Path long"
DATA "If oFSO.FileExists(stLong) Then"
DATA "  Set oFl = oFSO.GetFile(stLong)"
DATA "  With CreateObject("+q$+"Scripting.FileSystemObject"+q$+")"
DATA "  With .CreateTextFile("+q$+"Child.vbs"+q$+")"
DATA "  .WriteLine "+q$+"CreateObject("+q$+q$+"WScript.Shell"+q$+q$+").SendKeys "+q$+q$+"^c{ENTER}"+q$+q$+q$
DATA "  .Close"
DATA "  End With"
DATA "  CreateObject("+q$+"WScript.Shell"+q$+").Run "+q$+"Child.vbs"+q$+""
DATA "  Dummy = InputBox("+q$+""+q$+","+q$+""+q$+" , oFl.ShortPath)"
DATA "  .DeleteFile "+q$+"Child.vbs"+q$+""
DATA " End With"
DATA "End If"
DATA "f"
READ script$
WHILE script$ <> scr$: READ script$: END_WHILE: ' rephasage sur les datas
FILE_OPEN_WRITE 9, "C:\Temp\" + scr$
    READ script$
    WHILE script$ <> "f"
        FILE_WRITELN 9, script$
        READ script$
    END_WHILE
FILE_CLOSE 9
script$ = "C:\Temp\" + scr$: ' script à exécuter

DIM p$, c$
p$ = "C:\Program Files (x86)\Panoramic Editor\Panoramic_Editor.exe": print p$
EXECUTE_WAIT "Wscript.exe " + script$ + " " + q$+p$+q$
p$ = CLIPBOARD_STRING_PASTE$: print p$
End

Qu'en penses-tu Klaus ? c'est bien plus lourd que ton système, mais c'est intégré.
Y a-t'il quelque chose de simple en VB pour envoyer le résultat dans le clipboard ? ce n'est pas prévu en vbs, ici c'est un artifice.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Noms de fichiers courts aisément !   Mer 9 Nov 2011 - 23:49

Suis-je bête ! Evidemment il faut passer par le clipboard ! Le plus fort, c'est que je le fais: SFN.EXE le place d'office dans le cliboard en mode interactif ce que j'ai documenté, mais ne le fait pas en mode batch, et je me demande bien où j'avais la tête pour pondre une pareille aberration ! Ce sera corrigé rapidement, et il n'y aura plus de fichier temporaire.

En ce qui concerne ton script, je l'ai essayé, et voici ce que je récolte:


Si tu as une idée pour le faire marcher...

Est-ce que tu "calcules" le nom court ou est-ce que tu le demandes au système ? Voici un cas concret sur mon système (répertoire de publication de mon site web):
nom long: C:\Sites\Panoramic\EN_hlp_DLL_divers.60.html
nom court: C:\Sites\PANORA~1\EN0AE0~1.HTM
tu vois que ce n'est pas toujours les 6 premiers caractères suivis d'une tilde suivie d'un chiffre...
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



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

MessageSujet: Re: Noms de fichiers courts aisément !   Jeu 10 Nov 2011 - 0:27

Ah non ce n'est pas moi qui calcule le nom court, ce serait trop simple (si ça marchait !), il est renvoyé par une fonction de vbscript.
Je vais essayer ton exemple, pour voir.

Quant à ton erreur, aucune idée à priori, je ne suis pas spécialiste et je fais tout ça de façon plutôt empirique, par analogie avec des exemples trouvés ici ou là... je regarde en tout cas.

Pour ton exemple, pour (j'ai créé le fichier)
C:\Langages\Panoramic\EN_hlp_DLL_divers.60.html
il me rend
C:\Langages\PANORA~1\EN_HLP~1.HTM
et je peux utiliser ce nom-là, ça marche (le DIR /X renvoie d'ailleurs le même nom).
En effet, ça ne rend pas la même chose d'un PC à l'autre, le nom court rendu dépend de l'environnement.

Pour l'erreur, il semblerait que ce soit un bug connu sous Windows XP: http://support.microsoft.com/kb/311269/fr
désolé ...
Et ce sera tout pour ce soir, bonne nuit !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Klaus

avatar

Nombre de messages : 10062
Age : 68
Localisation : Ile de France
Date d'inscription : 29/12/2009

MessageSujet: Re: Noms de fichiers courts aisément !   Jeu 10 Nov 2011 - 1:34

@JL35: merci pour le lien vers MS. J'ai essayé leur correction, mais pour l'instant, sans résultat. Je continue à chercher.

Mon site est intégralement réparé - plus besoin de raffraichir la page. Et le programme est modifié: il n'y a plus de fichier temporaire. Tout passe par le presse-papier.

EDIT 10/11/2011 à 00:07

J'ai trouvé d'où vient l'erreur avec ton script: il fallait faire la commande
Code:
regsvr32 c:\windows\system32\scrrun.dll
et ton script marche.

Et il produit le même résultat que mon programme. Donc, c'est au choix: on trimballe un petit exécutable externe qui marche dans tous les cas, ou on s'assure que la DLL d'exécution des scripts vbs est bien enregistrée - c'est selon. En tout cas, je garde ton programme, ne serait-ce que pour le côté didactique et pour avoir une plus large palette de solution. Bravo, JL35 !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
JL35



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

MessageSujet: Re: Noms de fichiers courts aisément !   Jeu 10 Nov 2011 - 12:27

C'est toi le plus fort Klaus (c'est sympa de se congratuler !), tu as trouvé la solution pour les scripts, ce n'était pas très clair chez microsoft. Et avec ça on peut espérer que ça marchera pour tous les autres scripts vbs.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5841
Age : 44
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: Noms de fichiers courts aisément !   Jeu 10 Nov 2011 - 12:49

De toute façon le quatuor infernal Cosmos70 - JL35 - Klaus - Nardo26 est redoutable et plein de ressources ^^
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Noms de fichiers courts aisément !   

Revenir en haut Aller en bas
 
Noms de fichiers courts aisément !
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Remplacer tous les espaces par _ dans les noms des fichiers
» [ résolu ] retrouver aisément les membres inscrits sur son forum via une adresse HotmailL, Yahoo, msn.com, aol, live, ymail.com, rocketmail.com
» [Résolu] Elément PUPS
» Un scanneur de malwares en complément : PrevX SCI
» Hébergement gratuit images photos fichiers

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: Activité des sites créés par les Panoramiciens. :: Le site de Klaus-
Sauter vers: