FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Gestion d'un système client-serveur.
Bug EXECUTE/EXECUTE_WAIT Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
Bug EXECUTE/EXECUTE_WAIT Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
Bug EXECUTE/EXECUTE_WAIT Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
Bug EXECUTE/EXECUTE_WAIT Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
Bug EXECUTE/EXECUTE_WAIT Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
Bug EXECUTE/EXECUTE_WAIT Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
Bug EXECUTE/EXECUTE_WAIT Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
Bug EXECUTE/EXECUTE_WAIT Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
Bug EXECUTE/EXECUTE_WAIT Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
Bug EXECUTE/EXECUTE_WAIT Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
Bug EXECUTE/EXECUTE_WAIT Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
Bug EXECUTE/EXECUTE_WAIT Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
Bug EXECUTE/EXECUTE_WAIT Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
Bug EXECUTE/EXECUTE_WAIT Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
Bug EXECUTE/EXECUTE_WAIT Emptypar Jack Mar 30 Avr 2024 - 20:40

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Mai 2024
LunMarMerJeuVenSamDim
  12345
6789101112
13141516171819
20212223242526
2728293031  
CalendrierCalendrier
Le deal à ne pas rater :
Cartes Pokémon EV6.5 : où trouver le Bundle Lot 6 Boosters Fable ...
Voir le deal

 

 Bug EXECUTE/EXECUTE_WAIT

Aller en bas 
4 participants
AuteurMessage
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Bug EXECUTE/EXECUTE_WAIT Empty
MessageSujet: Bug EXECUTE/EXECUTE_WAIT   Bug EXECUTE/EXECUTE_WAIT EmptyMar 9 Fév 2016 - 21:36

Bonjour à tous

Bien qu'il n'y ait pas d'erreur dans le chemin, les espaces dans les noms absolus de fichier à exécuter provoque l'affichage de ce message "windows ne trouve pas..."  puis l'erreur(97):
Code:

execute_wait "C:\Program Files\Panoramic Editor\PANORAMIC0927i5.exe " :' ---> erreur!

execute_wait "PANORAMIC0927i5.exe " :' ---> ok

execute C:\Program Files\Panoramic Editor\PANORAMIC0927i5.exe " :' ---> pas d'erreur signalé, mais la commande n'est pas éxécuté

execute "PANORAMIC0927i5.exe " :' ---> ok
Revenir en haut Aller en bas
papydall

papydall


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

Bug EXECUTE/EXECUTE_WAIT Empty
MessageSujet: Re: Bug EXECUTE/EXECUTE_WAIT   Bug EXECUTE/EXECUTE_WAIT EmptyMar 9 Fév 2016 - 22:24

Il est connu que la commande execute_wait  n’aime pas les espaces dans les noms des fichiers.
Il faut donc remplacer  ces espaces par un autre caractère  (par exemple le caractère underscore  _)
J’ai posté un code pour faire cela, c’est à cet endroit

Voici le code en question

Code:

rem ============================================================================
rem Renommer tous les fichiers d un dossier dont les noms comportent des espaces
rem en les remplaçant par le caractère de soulignement _ (underscore)
rem Par exemple  :
rem Le fichier   : "Mon fichier test.bas"
rem sera renommé :  "Mon_fichier_test.bas"
rem ============================================================================
' Pour tester :
' créer un dossier de travail sur le bureau : "Mon Dossier" par exemple
' y copier quelques fichiers (pour servir de test) dont les noms comportent des espaces
' Par exemple :
' "Mon fichier avec espace.txt"
' "Mon second fichier 1 2 3 .bas"
' Appeler la sub : Renomme_Fichiers("C:\Users\acer\Desktop\Mon Dossier")
' Vos fichiers devront être renommés en :
' "Mon_fichier_avec_espace.txt"
' "Mon_second_fichier_1_2_3.bas
rem ============================================================================
rem NB : Ce script renomme seulement les fichiers, pas les dossiers !
rem ============================================================================

Renomme_Fichiers("C:\Users\acer\Desktop\Nouveau dossier") : ' Adapter le chemin

end
rem ============================================================================
' Script pour remplacer les espaces dans les noms des fichiers par le caractère
' de soulignement _ (underscore)
SUB Renomme_Fichiers(dossier$)
    dim_local src$,q$
    if dir_exists("C:\temp") = 0 then dir_make "C:\temp"
    if dir_exists(dossier$) = 0
       message "Le dossier : " + dossier$ + " n'existe pas !" + chr$(13) + "Veuillez vérifier son chemin"
       exit_sub
    end_if
    src$ = "C:\temp\rename.bat" : q$ = chr$(34)
    FILE_OPEN_WRITE 9999,src$
    FILE_WRITELN 9999,"@echo off"
    FILE_WRITELN 9999,"setlocal enabledelayedexpansion"
    FILE_WRITELN 9999,"for /r " +q$ + dossier$ + q$ + " %%a in (*.*) do ("
    FILE_WRITELN 9999,"set "+q$+"path=%%~nxa"+q$
    FILE_WRITELN 9999,"set "+q$+"path=!path: =_!"+q$
    FILE_WRITELN 9999,"move /y "+q$+"%%~a"+q$+" "+q$+"%%~dpa!path!"+q$
    FILE_WRITELN 9999,")"
    FILE_CLOSE 9999
    EXECUTE_WAIT src$
    FILE_DELETE src$
END_SUB
rem ============================================================================
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

Bug EXECUTE/EXECUTE_WAIT Empty
MessageSujet: Re: Bug EXECUTE/EXECUTE_WAIT   Bug EXECUTE/EXECUTE_WAIT EmptyMar 9 Fév 2016 - 22:36

Il est exact qu'il ne faut pas d'espaces dans les noms de fichier, EXECUTE considère qu'un espace est un séparateur d'arguments.
On peut encadrer le nom du fichier par des quotes = CHR$(34), mais ça ne marche pas toujours.

@papydall, certes mon ami on peut changer le nom des fichiers, mais ce n'est pas toujours possible ni souhaitable !
Le mieux à mon sens est de convertir le nom du fichier en nom court (format 8.1), et seulement pour le donner comme argument à la commande.
Par exemple:
Code:
SUB FileShort(f$)
' Conversion du chemin du fichier f$ en nom court sans espaces, résultat dans le clipboard
EXECUTE_WAIT "cmd /c for %A in ("+CHR$(34)+f$+CHR$(34)+") do @echo %~sA | clip"
CLIPBOARD_STRING_COPY LEFT$(CLIPBOARD_STRING_PASTE$, LEN(CLIPBOARD_STRING_PASTE$)-3)
END_SUB
Revenir en haut Aller en bas
papydall

papydall


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

Bug EXECUTE/EXECUTE_WAIT Empty
MessageSujet: Re: Bug EXECUTE/EXECUTE_WAIT   Bug EXECUTE/EXECUTE_WAIT EmptyMar 9 Fév 2016 - 22:45

C’est à ces petits détails qu’on reconnait le pro (comme JL35) de l’amateur (comme Papydall) lol!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

Bug EXECUTE/EXECUTE_WAIT Empty
MessageSujet: Re: Bug EXECUTE/EXECUTE_WAIT   Bug EXECUTE/EXECUTE_WAIT EmptyMar 9 Fév 2016 - 23:37

Oui papydall, mais parfois s'il n'est pas sûr de lui le pro s'tâte (à mon âge...)
Revenir en haut Aller en bas
silverman

silverman


Nombre de messages : 968
Age : 51
Localisation : Picardie
Date d'inscription : 18/03/2015

Bug EXECUTE/EXECUTE_WAIT Empty
MessageSujet: Re: Bug EXECUTE/EXECUTE_WAIT   Bug EXECUTE/EXECUTE_WAIT EmptyMar 9 Fév 2016 - 23:49

Merci pour vos solutions! Very Happy

@JL35
ta sub ne fonctionne pas chez moi, je suis sous XP et 'CLIP' n'est pas reconnu

J'ai réussi à me dépanner en copiant directement l'éxécutable concerné dans le repertoire de mon projet, mais ça reste quand même un bug, c'est pour ça que je l'ai signalé.
Revenir en haut Aller en bas
JL35




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

Bug EXECUTE/EXECUTE_WAIT Empty
MessageSujet: Re: Bug EXECUTE/EXECUTE_WAIT   Bug EXECUTE/EXECUTE_WAIT EmptyMer 10 Fév 2016 - 0:06

Effectivement, le clip n'est pas encore en standard dans XP.
Autre solution:
Code:
SUB Nomcourt(Path$)
' Conversion de Path long en Path court (sans espace) -> clipboard
DIM_LOCAL nc_fbat$,nc_tmp$,nc_court$,q$,c$
q$ = CHR$(34)
nc_fbat$ = "C:\TEMP\Nomcourt.bat": nc_tmp$ = "C:\TEMP\temp.tmp"
FILE_OPEN_WRITE 9, nc_fbat$
FILE_WRITELN 9, "@echo off"
FILE_WRITELN 9, "for %%A in ("+q$+Path$+q$+") do echo.%%~sfA >"+nc_tmp$
FILE_CLOSE 9
EXECUTE_WAIT nc_fbat$
FILE_OPEN_READ 9, nc_tmp$
FILE_READLN 9, c$
FILE_CLOSE 9: FILE_DELETE nc_tmp$: FILE_DELETE nc_fbat$
CLIPBOARD_STRING_COPY c$
END_SUB
Revenir en haut Aller en bas
papydall

papydall


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

Bug EXECUTE/EXECUTE_WAIT Empty
MessageSujet: Re: Bug EXECUTE/EXECUTE_WAIT   Bug EXECUTE/EXECUTE_WAIT EmptyMer 10 Fév 2016 - 0:10

Silverman a écrit:
ta sub ne fonctionne pas chez moi, je suis sous XP et 'CLIP' n'est pas reconnu

CLIP.EXE est une commande fort utile qui sert à rediriger la sortie d’une commande de l’invite de commande vers le clipboard.
Elle existe depuis Windows vista (pas sur XP).
Je te recommande de la télécharger à partir de mon Webdav : fichier clip.exe et l’enregistrer dans le dossier C:\WINDOWS\system32.



Les paramètres d'accès à mon webdan sont dans ma signature.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
JL35




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

Bug EXECUTE/EXECUTE_WAIT Empty
MessageSujet: Re: Bug EXECUTE/EXECUTE_WAIT   Bug EXECUTE/EXECUTE_WAIT EmptyMer 10 Fév 2016 - 0:16

C'est vrai que c'est rudement utile, je m'en sers tout le temps, c'est bien plus pratique (et rationnel) que de créer des fichiers temporaires.
Revenir en haut Aller en bas
Klaus

Klaus


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

Bug EXECUTE/EXECUTE_WAIT Empty
MessageSujet: Re: Bug EXECUTE/EXECUTE_WAIT   Bug EXECUTE/EXECUTE_WAIT EmptyMer 10 Fév 2016 - 0:17

Voici un extrait de la doc de KGF.dll:
Code:
dim res%, nom_long$, nom_court$
dll_on "KGF.dll"
open_dialog 1
nom_long$ = file_name$(1)
if nom_long$="_" then return
nom_court$ = string$(255," ")
res% = dll_call2("GetShortName",adr(nom_long$),adr(nom_court$))
if res%>0
  message "Erreur en conversion"
else
  nom_court$ = trim$(nom_court$)
  message "nom court="+nom_court$
end_if
La fonction GetShortName est dans KGF.dll depuis longtemps, et on trouve sa description dans la rubrique des fonctions diverses. Elle fait appel à une API de Windows et marche dans tous les cas, ce qui n'est pas évident pour les routines fabriquées en Panoramic pur, car la complexité est énorme, et le nom court généré dépend des noms de fichiers présents dans le ou les dossiers, pas uniquement du nom du fichier lui-même. Il en est de même pour la réduction à 8 caractères du nom des dossiers, etc. Je ne voudrais pas rentrer ici dans des discussions techniques sur les règles de conversion, mais lorsqu'on cherche on peu sur le net, ou dans la doc MicroSoft sur MSDN etc, on commence à avoir une idée de la complexité de la chose. C'est pourquoi il n'y a que deux solutions réellement viables: celle de JL35 ou l'API de Windows, donc KGF.dll. Tout le reste se résume à des solutions partielles de cas particuliers.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


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

Bug EXECUTE/EXECUTE_WAIT Empty
MessageSujet: Re: Bug EXECUTE/EXECUTE_WAIT   Bug EXECUTE/EXECUTE_WAIT EmptyMer 10 Fév 2016 - 0:52

Les 3 règles d’or pour nommer un fichier sont   ici
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





Bug EXECUTE/EXECUTE_WAIT Empty
MessageSujet: Re: Bug EXECUTE/EXECUTE_WAIT   Bug EXECUTE/EXECUTE_WAIT Empty

Revenir en haut Aller en bas
 
Bug EXECUTE/EXECUTE_WAIT
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» execute n'execute pas un exe
» commande execute
» EXECUTE / EXECUTE_WAIT
» Make_exe.exe / commande EXECUTE
» EXECUTE....wait

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Un problème avec PANORAMIC?-
Sauter vers: