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.
ShortName$(F) [Cloturé] Emptypar Klaus Ven 17 Mai 2024 - 14:02

» item_index(résolu)
ShortName$(F) [Cloturé] Emptypar jjn4 Mar 14 Mai 2024 - 19:38

» Bataille terrestre
ShortName$(F) [Cloturé] Emptypar jjn4 Lun 13 Mai 2024 - 15:01

» SineCube
ShortName$(F) [Cloturé] Emptypar Marc Sam 11 Mai 2024 - 12:38

» Editeur EliP 6 : Le Tiny éditeur avec 25 onglets de travail
ShortName$(F) [Cloturé] Emptypar Marc Sam 11 Mai 2024 - 12:22

» Philharmusique
ShortName$(F) [Cloturé] Emptypar jjn4 Ven 10 Mai 2024 - 13:58

» PANORAMIC V 1
ShortName$(F) [Cloturé] Emptypar papydall Jeu 9 Mai 2024 - 3:22

» select intégrés [résolu]
ShortName$(F) [Cloturé] Emptypar jjn4 Mer 8 Mai 2024 - 17:00

» number_mouse_up
ShortName$(F) [Cloturé] Emptypar jjn4 Mer 8 Mai 2024 - 11:59

» Aide de PANORAMIC
ShortName$(F) [Cloturé] Emptypar jjn4 Mer 8 Mai 2024 - 11:16

» trop de fichiers en cours
ShortName$(F) [Cloturé] Emptypar lepetitmarocain Mer 8 Mai 2024 - 10:43

» Je teste PANORAMIC V 1 beta 1
ShortName$(F) [Cloturé] Emptypar papydall Mer 8 Mai 2024 - 4:17

» bouton dans autre form que 0(résolu)
ShortName$(F) [Cloturé] Emptypar leclode Lun 6 Mai 2024 - 13:59

» KGF_dll - nouvelles versions
ShortName$(F) [Cloturé] Emptypar Klaus Lun 6 Mai 2024 - 11:41

» @Jack
ShortName$(F) [Cloturé] 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 du moment : -21%
LEGO® Icons 10329 Les Plantes Miniatures, ...
Voir le deal
39.59 €

 

 ShortName$(F) [Cloturé]

Aller en bas 
+2
Jack
Yannick
6 participants

SHORTNAME$(F) vous intéresse t il ?
Oui
ShortName$(F) [Cloturé] Vote_lcap100%ShortName$(F) [Cloturé] Vote_rcap
 100% [ 1 ]
Non
ShortName$(F) [Cloturé] Vote_lcap0%ShortName$(F) [Cloturé] Vote_rcap
 0% [ 0 ]
Ne se prononce pas
ShortName$(F) [Cloturé] Vote_lcap0%ShortName$(F) [Cloturé] Vote_rcap
 0% [ 0 ]
Total des votes : 1
 
Sondage clos

AuteurMessage
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

ShortName$(F) [Cloturé] Empty
MessageSujet: ShortName$(F) [Cloturé]   ShortName$(F) [Cloturé] EmptyMar 20 Juin 2017 - 12:12

Bonjour Jack,

Voilà quelque temps que l' on est confronté à des soucis de Nom Long / Nom court
pour les fichiers.
Plusieurs solutions sont disponibles pour Windows mais voilà que se pose le souci
de portabilité d' un programme.

Si je veux que mon programme soit utilisable sur Mac PC ou Androïd, il doit être 
Tout Panoramic ( ex : un éditeur ).

Se pourrait il d' avoir une Variable système ShortName$(F) renvoyant le nom court d' un fichier
quelque soit l' OS ?
A moins que ce ne soit qu' un problème lié à Windows.


Dernière édition par Yannick le Mer 21 Juin 2017 - 10:43, édité 1 fois
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

ShortName$(F) [Cloturé] Empty
MessageSujet: Re: ShortName$(F) [Cloturé]   ShortName$(F) [Cloturé] EmptyMar 20 Juin 2017 - 13:33

Ce que tu demandes n'est pas une variable mais une fonction.
Tu as déjà 4 fonctions sur les noms de fichier.

En supposant que f$ vaut c:\repertoire\fichier.txt

FILE_EXTRACT_DISK$(f$) retourne c:
FILE_EXTRACT_EXTENSION$(f$) retourne .txt
FILE_EXTRACT_NAME$(f$) retourne fichier.txt
FILE_EXTRACT_PATH$(f$) retourne c:\repertoire\

Je ne comprend pas très bien ta question, mais je pense que la 3ème fonction FILE_EXTRACT_NAME$() répond à ta demande car elle extrait un nom relatif à partir d'un nom absolu de fichier.

_________________
ShortName$(F) [Cloturé] Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

ShortName$(F) [Cloturé] Empty
MessageSujet: re   ShortName$(F) [Cloturé] EmptyMar 20 Juin 2017 - 13:55

@ Jack,

Le problème vient des noms de fichier longs du type "Mon fichier de calcul.txt" avec des espaces dans le nom.
Et, si on peut maitriser les noms de dossier ou de fichier que l' on distribue, on ne maitrise pas ceux présents
sur l' ordi de l' utilisateur ex : "C:\Users\Jean Claude\".

si j' ai un chemin du type : "C:\Users\Jean Claude\Desktop\mon_fichier.txt"
et que j' essaie de le lancer par execute ou execute_wait, j' ai droit à un message de fichier introuvable :
"C:\Users\Jean"

D' où la nécessité d' avoir le nom court.

la sub de papydall fonctionne sur Windows mais pas sûr que cela soit valable sur Mac ou Androïd.
A moins que le problème ne soit que sur Windows.

sub de Papydall :
Code:
rem ============================================================================
rem          Nom_Court        Papydall
rem ============================================================================
dim fcourt$
Nom_Court("C:\Users\Jean Claude\Desktop\DSC05026.JPG") : ' chemin à adapter
message fcourt$
if fcourt$ <> "" then execute_wait fcourt$
end
rem ============================================================================
SUB Nom_Court(f$)
    if file_exists(f$) > 0
      execute_wait "cmd /c for %i in ("+chr$(34)+f$+chr$(34)+") do echo.%~sfi |clip"
      fcourt$ = clipboard_string_paste$
    else
      message "Ce fichier n'existe pas!" + chr$(13)+"Vérifier votre chemin"
    END_IF
END_SUB
rem ============================================================================

Oups ... j' ai dit variable et c' est une fonction...méa culpa, je fais des noeuds.
Revenir en haut Aller en bas
Jean Claude

Jean Claude


Nombre de messages : 5950
Age : 69
Localisation : 83 Var
Date d'inscription : 07/05/2009

ShortName$(F) [Cloturé] Empty
MessageSujet: Re: ShortName$(F) [Cloturé]   ShortName$(F) [Cloturé] EmptyMer 21 Juin 2017 - 8:29

@Yannick,

je viens de regarder la To Do List que Jack à publier.

il y a notamment ceci: - correction du bug signalé sur les passages de paramètres avec EXECUTE et EXECUTE_WAIT. Cette correction est une modification lourde qui va prendre du temps qui est dans les priorités hautes.
Je ne suis pas certain de le justesse de ce que je vais dire, mais je tente.... Very Happy
Le problème "des noms courts" serait bien résolu avec la correction du bug évoqué ci-dessus. Question

A+
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2386
Date d'inscription : 28/05/2007

ShortName$(F) [Cloturé] Empty
MessageSujet: Re: ShortName$(F) [Cloturé]   ShortName$(F) [Cloturé] EmptyMer 21 Juin 2017 - 9:28

Jean Claude a écrit:
Le problème "des noms courts" serait bien résolu avec la correction du bug évoqué ci-dessus.

Tout à fait.
Lorsque Yannick a posé sa question sur les "noms longs" et les "noms courts" d'un fichier, j'ai d'abord cru qu'il appellait "nom long" le nom absolu d'un fichier (car il contient le path et le nom) et "nom court" le nom relatif (qui est plus court que le nom absolu car il ne contient pas le path).

Je viens seulement de comprendre qu'il appelle "nom long" un nom de fichier qui contient des espaces, et "nom court" un nom de fichier qui ne contient pas d'espaces !

Je confirme que EXECUTE et EXECUTE_WAIT pourront utiliser des noms de fichier avec ou sans espace.
Cette correction est très lourde car elle implique un changement du compilateur (celui qui sert à compiler Panoramic) avec tout le flot des problèmes qui en découle... car avec ce nouveau compilateur, la syntaxe a un peu changé.
Par exemple les commandes SEPARATOR_IS_POINT et SEPARATOR_IS_COMMA ne se programment plus de la même façon.
Certaines fonctions mathématiques comme POWER, HCOS et HSIN ne sont plus dans la même bibliothèque et ne s'utilisent plus de la même façon.
Certains objets ne sont plus les mêmes, par exemple, le ON_CLICK ne fonctionne plus sur le HVIEWER, l'objet SERIAL est loin d'être recodé, car l'ancien ne fonctionne plus du tout, le SYNEDIT n'est plus le même, le CHART non plus, etc, etc.
Le plus touché est la 3D avec le chaînage, les textures et les couleurs des objets ... car la biliothèque 3D que j'utilisais depuis le début de Panoramic ne fonctionne plus. Elle a évolué et beaucoup de choses ont changé...
Mais tout cela une fois terminé sera "transparent" pour l'utilisateur ...

_________________
ShortName$(F) [Cloturé] Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

ShortName$(F) [Cloturé] Empty
MessageSujet: re   ShortName$(F) [Cloturé] EmptyMer 21 Juin 2017 - 10:42

@ Jack,

J' ai fait une pose pour mes yeux hier soir et ce matin j' ai vu ton post avec la todo_list.
affraid affraid affraid
J' ai quelques boites de Paracetamol  en rab...
lol!

Tu dis que l' objet Synedit n' est pas le même, c' est ce que j' avais vu en téléchargeant Tokyo.
Et là, c' est un mal pour un bien. Cela offrira plus de possibilité avec cet objet et notamment le repli des lignes.
Laughing 
Pour ce qui est du souci de ce post, si ce changement résout le problème, bingo !
je patienterai, pas de souci.

En tout cas, merci pour ta réponse.
Le sujet est donc clos.
Revenir en haut Aller en bas
Klaus

Klaus


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

ShortName$(F) [Cloturé] Empty
MessageSujet: Re: ShortName$(F) [Cloturé]   ShortName$(F) [Cloturé] EmptyMer 21 Juin 2017 - 11:00

@Jack:
Citation :
Je confirme que EXECUTE et EXECUTE_WAIT pourront utiliser des noms de fichier avec ou sans espace.
Cette correction est très lourde car elle implique un changement du compilateur (celui qui sert à compiler Panoramic) avec tout le flot des problèmes qui en découle... car avec ce nouveau compilateur, la syntaxe a un peu changé.
Par exemple les commandes SEPARATOR_IS_PO

Je suis étonné, car le l'ai fait facilement dans KGF.dll, via une API de Windows. Cela donne la fonction suivante dans KGF.Dll:
Code:
res% = DLL_call2("GetShortName",adr(long$),adr(court$))

Le code source est le suivant:
Code:
function GetShortName(inp:pchar; out:integer):integer; stdcall; export;
var
  fil: string;
  ATmp: array[0..255] of Char;
  pstr: ^string;
begin
  try
    result := 1;
    fil := pchar(pstring(inp)^);
    if GetShortPathName(PChar(fil),ATmp,SizeOf(ATmp)-1)=0 then exit;
    fil := StrPas(ATmp);
    pstr := @fil;
    CopyTextToPanoramic(integer(pstr),0,out);
  finally
  end;
  result := 0;
end;
exports GetShortName;

On appelle cette fonction de la manière suivante, en Panoramic:
Code:
dim res%, court$, long$
long$ = C:\Mon dossier avec espaces\Mon fichier avec espaces.txt"
court$ = string$(255," ")
res% = DLL_call2("GetShortName",adr(long$),adr(court$))
court$ = trim$(court$)
et le tour est joué.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

ShortName$(F) [Cloturé] Empty
MessageSujet: re   ShortName$(F) [Cloturé] EmptyMer 21 Juin 2017 - 11:21

@ Klaus,

Cela réponds tout à fait pour Windows.
Et quand je fais un programme pour moi en priorité qui suis avec cet OS, j' utilise KGF
pour une multitude de ses fonctions dont celle ci.

Là il s' agissait d' avoir une fonction portable tout OS ( Win,Mac,Androïd) pour que
Execute et Execute_Wait fonctionne correctement.
D' ailleur, je n' ai pas eu de réponse à savoir si ce souci entre noms longs et courts
étaient uniquement lié à Windows ou si il y avait le même sur les autres OS.

Jack à répondu que ce souci n' existerait plus à la correction de ces deux commandes
qu' il doit adapté à un nouveau compilateur.
Quand il dit que la correction est lourde, c' est que de nombreux objets,commandes et fonctions ont changé avec ce nouveau compilateur.

Peut être auras tu toi aussi des surprises avec les fonctions de Kgf sur des objets Panoramic.
Wink
Revenir en haut Aller en bas
Klaus

Klaus


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

ShortName$(F) [Cloturé] Empty
MessageSujet: Re: ShortName$(F) [Cloturé]   ShortName$(F) [Cloturé] EmptyMer 21 Juin 2017 - 12:53

Citation :
Là il s' agissait d' avoir une fonction portable tout OS ( Win,Mac,Androïd) pour que
Execute et Execute_Wait fonctionne correctement.
Je pense que c'est un faux problème. La difficulté des noms longs ou courts est propre à Windows et n'existe pas pour les autres systèmes.

Mais il faut bien garder à l'esprit que la syntaxe des arborescences des dossiers et fichiers sous d'aures systèmes est différente. Il y aura peut-être d'autres problèmes dans ce contexte, mais les noms longs/courts sont propres à Windows (toutes versions).

KGF.dll est spécifique à Windows. La grande majorité des fonctions n'ont un sens que sous Windows.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

ShortName$(F) [Cloturé] Empty
MessageSujet: re   ShortName$(F) [Cloturé] EmptyMer 21 Juin 2017 - 13:34

Nous sommes tout à fait d' accord.
Et, je te remercie d' avoir répondu à question.
Maintenant je sais que ce pb de nom long ou court est lié à Windows.
Il se pose maintenant une question.

Comment informer le programme qu' il est utilisé sous un OS ou un autre ?

Prenons ce cas de nom long/court.
on peut placer une condition sur l' OS pour le re-conditionnement des noms de fichiers
ex :

if OS$=Win
  dll_on kgf$
  .....
end_if

Encore faut il pouvoir renseigner la variable OS$....

Dans la doc, la variable Environment$ renvoi l' environnement pour lequel Panoramic a été créé mais que faire de celle ci si le programme ne sait pas dans lequel il est ?
scratch
Revenir en haut Aller en bas
Klaus

Klaus


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

ShortName$(F) [Cloturé] Empty
MessageSujet: Re: ShortName$(F) [Cloturé]   ShortName$(F) [Cloturé] EmptyMer 21 Juin 2017 - 13:58

Tel que je vois l'utilisation de cette variable, ce serait comme ceci:
Code:

if environment$="CLASSIC"
  ' ici, on est sous Windows...
else
  '' ici, on est dans un autre système, sans savoir lequel...
end_if
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

ShortName$(F) [Cloturé] Empty
MessageSujet: re   ShortName$(F) [Cloturé] EmptyMer 21 Juin 2017 - 14:09

Je crois que l' on va attendre une explication de Jack...Suspect
Laughing
Revenir en haut Aller en bas
silverman

silverman


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

ShortName$(F) [Cloturé] Empty
MessageSujet: Re: ShortName$(F) [Cloturé]   ShortName$(F) [Cloturé] EmptyMer 21 Juin 2017 - 14:24

Dans un ancien post de Jack:
SYSTEM$ : retourne le système d'exploitation utilisé par PANORAMIC ("WINDOWS" ou "ANDROID" ou "MACOS")
ENVIRONMENT$ : retourne l'environnement pour lequel PANORAMIC a été créé ("CLASSIC" pour Windows, "MULTIPLF" pour un environnement multi-plateforme Windows/Android/MAC OS))
Revenir en haut Aller en bas
Yannick




Nombre de messages : 8611
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

ShortName$(F) [Cloturé] Empty
MessageSujet: re   ShortName$(F) [Cloturé] EmptyMer 21 Juin 2017 - 14:38

Merci Silverman.

Comme quoi, j' ai la mémoire courte... Embarassed
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

ShortName$(F) [Cloturé] Empty
MessageSujet: Re: ShortName$(F) [Cloturé]   ShortName$(F) [Cloturé] EmptyMer 21 Juin 2017 - 15:19

Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Contenu sponsorisé





ShortName$(F) [Cloturé] Empty
MessageSujet: Re: ShortName$(F) [Cloturé]   ShortName$(F) [Cloturé] Empty

Revenir en haut Aller en bas
 
ShortName$(F) [Cloturé]
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC :: Vos souhaits d'amélioration de Panoramic-
Sauter vers: