Fichiers de la 3D
Fichiers de la 3D
Bonjour,
Je souhaite que PB (je suis bien dans le sujet Suggestions et améliorations) puisse corriger et améliorer un demi-bug concernant les fichiers sur la 3D.
Pourquoi demi ? Parce qu'on ne peut pas vraiment dire que cela est quelque chose de vraiment buggé mais si on réfléchit bien, ce mini-bug peut planter le système.
De quoi s'agit-il ?
Faites le test suivant :
Créer un dossier avec le nom : "Mon jeu préféré".
Vous remarquez que dans le nom il y a des accents (ééé).
Mettez-y un programme créé avec PB.
1) Les fichiers exploités par la 3D ne sont pas reconnus.
2) Cela peut parfois planter le programme.
Même chose si vous mettez un accent (ééèîö, etc.) dans le nom du fichier exploité par la 3D.
Et je ne pense pas que Fred puisse me dire, ce coup ci, qu'il n'y a pas de solution pour ce problème.
Je crois savoir (même sûr), que l'instruction IncludePath("---") accepte sans problème les fichiers avec les accents. Il serait temps que ce soit également le cas en ce qui concerne la 3D.
Sûrement que ce post sera verrouillé.
Je souhaite que PB (je suis bien dans le sujet Suggestions et améliorations) puisse corriger et améliorer un demi-bug concernant les fichiers sur la 3D.
Pourquoi demi ? Parce qu'on ne peut pas vraiment dire que cela est quelque chose de vraiment buggé mais si on réfléchit bien, ce mini-bug peut planter le système.
De quoi s'agit-il ?
Faites le test suivant :
Créer un dossier avec le nom : "Mon jeu préféré".
Vous remarquez que dans le nom il y a des accents (ééé).
Mettez-y un programme créé avec PB.
1) Les fichiers exploités par la 3D ne sont pas reconnus.
2) Cela peut parfois planter le programme.
Même chose si vous mettez un accent (ééèîö, etc.) dans le nom du fichier exploité par la 3D.
Et je ne pense pas que Fred puisse me dire, ce coup ci, qu'il n'y a pas de solution pour ce problème.
Je crois savoir (même sûr), que l'instruction IncludePath("---") accepte sans problème les fichiers avec les accents. Il serait temps que ce soit également le cas en ce qui concerne la 3D.
Sûrement que ce post sera verrouillé.
Re: Fichiers de la 3D
C'est vrai que ça fait un moment que tu réclames cette correction. Je ne sais pas ce qu'elle entraine comme travail pour la team mais je doute que ce soit un gros morceau.
Par contre je radote encore un peu mais une des règles de bases en info depuis toujours est de ne pas mettre d'accents pour les noms de fichiers ou dossiers. Parce que oui tu as des soucis avec PB mais tu en auras surement avec d'autres logiciels. Ne serait-ce qu'en cas de problème de disque dur, si tu lances une récupération avec un soft comme recuva, il y a des chances pour ça chie. Idem pour les codes html si le document n'est pas en unicode, il faut se taper la conversion é=é etc.. Tant que l'unicode n'est pas utilisé et correctement interprété de partout, évitez les accents pour nommer vos fichiers et dossiers, c'est pas la mer à boire. Et si tu diffuses logiciel PB avec un dossier de datas que tu appelles "données", je me dis que les non francophones selon leur os vont avoir un beau caractère inconnu.
Par contre je radote encore un peu mais une des règles de bases en info depuis toujours est de ne pas mettre d'accents pour les noms de fichiers ou dossiers. Parce que oui tu as des soucis avec PB mais tu en auras surement avec d'autres logiciels. Ne serait-ce qu'en cas de problème de disque dur, si tu lances une récupération avec un soft comme recuva, il y a des chances pour ça chie. Idem pour les codes html si le document n'est pas en unicode, il faut se taper la conversion é=é etc.. Tant que l'unicode n'est pas utilisé et correctement interprété de partout, évitez les accents pour nommer vos fichiers et dossiers, c'est pas la mer à boire. Et si tu diffuses logiciel PB avec un dossier de datas que tu appelles "données", je me dis que les non francophones selon leur os vont avoir un beau caractère inconnu.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Fichiers de la 3D
je pense qu'il souligne le fait que si tu publies un jeu, une personne non avertie le rangeras peut-être dans un de ses dossiers perso, et râleras parce que ça ne marcheras pas !
_________________________________________________
Mon site : CeriseCode (Attention Chantier perpétuel )
Mon site : CeriseCode (Attention Chantier perpétuel )
Re: Fichiers de la 3D
Mais je n'en doute pas
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Re: Fichiers de la 3D
Ar-S a écrit : ...une des règles de bases en info depuis toujours est de ne pas mettre d'accents pour les noms de fichiers ou dossiers...
+1
Elevé au MSX !
Re: Fichiers de la 3D
Tu as essayé avec la version courte du nom de fichier ? Voir http://msdn.microsoft.com/en-us/library ... s.85).aspx
Re: Fichiers de la 3D
C'est sans doute un bug d'Ogre
Vu sur le forum d'ogre
Vu sur le forum d'ogre
Ogre has a bug that prevents it from running from folders with special symbols in path - we found this bug when Live Interior 3D failed to start for French user with "e with grave accent" letter in his name and therefore in his home folder path, and apps from Apple App Store are installed right there.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Re: Fichiers de la 3D
Bonjour à tous,
Merci à tous pour vos réponses respectives.
A comtois :
Effectivement, cela semble un bug d'Ogre, et il est peu probable que PB puisse faire quelque chose.
Mais comment faire pour qu'Ogre corrige le bug ?
A graph100 :
100 % en ligne avec ce que je pense.
Si je publie un programme, une personne non avertie pensera que ce jeu ne fonctionne pas.
A tous les autres :
Comment pouvez-vous être autant de mauvaise foi !
Si Windows accepte les accents dans les fichiers, cela est donc quelque chose de normal que de mettre des accents (sauf, bien sûr les caractères non-autorisés, qui seront de toute façon refusé quand on saisira le nom).
Et, en ce qui concerne les jeux, cela s'adresse à des personnes non averties pour la plupart, qui mettront des accents dans le nom de leur répertoire.
Et quand ces personnes verront que le programme ne fonctionne pas, elles l'élimineront de leur ordinateur.
Et diront que le programme est buggé.
Tout le monde ne connaît pas l'informatique comme c'est le cas des gens qui sont ici.
Merci à tous pour vos réponses respectives.
A comtois :
Effectivement, cela semble un bug d'Ogre, et il est peu probable que PB puisse faire quelque chose.
Mais comment faire pour qu'Ogre corrige le bug ?
A graph100 :
100 % en ligne avec ce que je pense.
Si je publie un programme, une personne non avertie pensera que ce jeu ne fonctionne pas.
A tous les autres :
Comment pouvez-vous être autant de mauvaise foi !
Si Windows accepte les accents dans les fichiers, cela est donc quelque chose de normal que de mettre des accents (sauf, bien sûr les caractères non-autorisés, qui seront de toute façon refusé quand on saisira le nom).
Et, en ce qui concerne les jeux, cela s'adresse à des personnes non averties pour la plupart, qui mettront des accents dans le nom de leur répertoire.
Et quand ces personnes verront que le programme ne fonctionne pas, elles l'élimineront de leur ordinateur.
Et diront que le programme est buggé.
Tout le monde ne connaît pas l'informatique comme c'est le cas des gens qui sont ici.
Re: Fichiers de la 3D
heu !! réveilles toi , regarde juste sur google :pat a écrit : A tous les autres :
Comment pouvez-vous être autant de mauvaise foi !
Si Windows accepte les accents dans les fichiers, cela est donc quelque chose de normal que de mettre des accents (sauf, bien sûr les caractères non-autorisés, qui seront de toute façon refusé quand on saisira le nom).
https://www.google.fr/search?q=l%27empl ... al&spell=1
tu verra que tu n'es pas le seul a rencontrer des problèmes d'accents sur Windows, Linux,etc ..
c'est une évidence, les systèmes d'exploitations sont anglo saxon , et ils n'utilisent pas d'accents a la base !
le fait de passer un OS en Français, ne va pas arranger tout les problemes ..
simplement parceque a la base, les OS sont conçut pour ne pas avoir d'accents !
ecris a Micromoux , ils feront peut etre quelques chose pour les Futur OS ...
du reste , je me demande toujours comment font les israéliens, les arabes, les allemands, les norvegiens etc ...
ha bah oui ... ils font comme nous , ils n'utilisent pas d'accents dans le nom des dossiers,fichiers .. etc ..
voir meme ... qu'ils n'utilisent pas d'espaces ! ils preferent utiliser le signe "_" étonnant non ?
sont trop bizarre ces gens
Re: Fichiers de la 3D
Hey Pat, keep cool... D'abord, on le sait que c'est un bug d'Ogre, sinon Fred l'aurait corrigé depuis belle lurette. Je t'ai demandé si tu avais regardé du côté des noms de fichiers courts, et bien sûr, le lien de chez Microsoft que je t'avais donné ne passe pas sur le forum. Oui, c'est encore la faute de Microsoft, with their stupid way to handle filenames for decades, and I don't speak about their bloatware and garbageous code. The so stupid Microsoft links and websites are not better.
Voici le lien court pour aller jeter un oeil sur les fonctions qui permettent de transformer les chemins longs en chemins courts (version DOS), c'est à dire sans toute la clique d'accents et autres trucs non gérés correctement par Windows (et oui, c'est bien Windows le coupable, ça fonctionne sur les autres OS depuis belle lurette aussi) :
http://lc.cx/NUy
Le lien réel (enlève l'espace) : http: //msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx
Et voici la fonction, GetShortPathName(), http://lc.cx/NUt , dont un exemple est donné (bien sûr) sur la page de GetFullPathName() : http://urls.fr/w7h
Malheureusement... !!! Microsoft a crû bon de *permettre* (LOL) à certains sysops de ne pas autoriser les noms courts sur leurs systèmes. Du coup cette astuce peut ne pas fonctionner et on se retrouve au point de départ.
Conclusion : quand on code sur un OS assez ancien comme Windows, ou qu'on utilise des API codées par des centaines de programmeurs (et souvent avec les pieds), il faut se tenir paré à tout un tas de petites incompatibilités, des petites choses qui ne devraient jamais arriver, mais qui arrivent fatalement. Ici, tu sais qu'il y a un souci avec les noms accentués, donc tu dois prévenir les utilisateurs, et tout simplement ne pas leur permettre d'installer dans un tel dossier. Ce sera beaucoup mieux que ces programmes qu'on a tous vu, qui s'installent n'importe comment, et qui laissent traîner des dossiers aux noms tronqués n'importe où.
Voici le lien court pour aller jeter un oeil sur les fonctions qui permettent de transformer les chemins longs en chemins courts (version DOS), c'est à dire sans toute la clique d'accents et autres trucs non gérés correctement par Windows (et oui, c'est bien Windows le coupable, ça fonctionne sur les autres OS depuis belle lurette aussi) :
http://lc.cx/NUy
Le lien réel (enlève l'espace) : http: //msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx
Et voici la fonction, GetShortPathName(), http://lc.cx/NUt , dont un exemple est donné (bien sûr) sur la page de GetFullPathName() : http://urls.fr/w7h
Malheureusement... !!! Microsoft a crû bon de *permettre* (LOL) à certains sysops de ne pas autoriser les noms courts sur leurs systèmes. Du coup cette astuce peut ne pas fonctionner et on se retrouve au point de départ.
Conclusion : quand on code sur un OS assez ancien comme Windows, ou qu'on utilise des API codées par des centaines de programmeurs (et souvent avec les pieds), il faut se tenir paré à tout un tas de petites incompatibilités, des petites choses qui ne devraient jamais arriver, mais qui arrivent fatalement. Ici, tu sais qu'il y a un souci avec les noms accentués, donc tu dois prévenir les utilisateurs, et tout simplement ne pas leur permettre d'installer dans un tel dossier. Ce sera beaucoup mieux que ces programmes qu'on a tous vu, qui s'installent n'importe comment, et qui laissent traîner des dossiers aux noms tronqués n'importe où.
Re: Fichiers de la 3D
Bonjour,
J'ai fait la procedure de conversion des nom long vers court cela ce passe ici (http://www.pbfrance.com/?url=source&cmd=viewer&val=23), apres on clique sur le bouton "Code-Source" orange.
Cordialement,
GallyHC
J'ai fait la procedure de conversion des nom long vers court cela ce passe ici (http://www.pbfrance.com/?url=source&cmd=viewer&val=23), apres on clique sur le bouton "Code-Source" orange.
Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Re: Fichiers de la 3D
Merci GallyHC ! Ca ne fonctionnait pas ici, j'ai corrigé un peu, si ça ne te dérange pas :
Code : Tout sélectionner
; ****************************************************************************
; By GallyHC : http://www.pbfrance.com/?url=source&cmd=viewer&val=23
; ****************************************************************************
#MAX_PATH_LENGTH = 256
; ****************************************************************************
; ****************************************************************************
Procedure.s getShortPath(sPath.s)
; ROUTINE DE RECHERCHE DES NOMS COURTS D'UN PATH.
Define result.i
Define tmpShortPath.s{#MAX_PATH_LENGTH}
result = FileSize(sPath)
If result <> -1
result = GetShortPathName_(sPath, @tmpShortPath, #MAX_PATH_LENGTH)
If result > 0
ProcedureReturn Mid(tmpShortPath, 1, result)
EndIf
Else
Debug "Can't open " + sPath
EndIf
EndProcedure
; ****************************************************************************
; ****************************************************************************
;
; EXEMPLE AVEC "C:\Windows\System32\GroupPolicy\User".
;
Filename.s = "C:\Windows\System32\GroupPolicy\User"
Debug getShortPath(Filename)
Re: Fichiers de la 3D
Bonjour,
@DJes > pas de problème je prend toute les corrections . je vais même mettre a jour sur le site.
Cordialement,
GallyHC
PS : pas con cela :
Je vais même surement l'ajouter en automatique sur PBFrance .
@DJes > pas de problème je prend toute les corrections . je vais même mettre a jour sur le site.
Cordialement,
GallyHC
PS : pas con cela :
Code : Tout sélectionner
; ****************************************************************************
; By GallyHC : http://www.pbfrance.com/?url=source&cmd=viewer&val=23
; ****************************************************************************
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Re: Fichiers de la 3D
J'ai essayé de rendre la procédure la plus robuste possible.
Attention, si on utilise un chemin avec lecteur (c:\chemin...) alors #MAX_PATH_LENGTH =260, voir le code ci-dessous.
M.
Attention, si on utilise un chemin avec lecteur (c:\chemin...) alors #MAX_PATH_LENGTH =260, voir le code ci-dessous.
Code : Tout sélectionner
; ****************************************************************************
; ****************************************************************************
Procedure.s getShortPath(sPath.s)
; ROUTINE DE RECHERCHE DES NOMS COURTS D'UN PATH.
Protected Longueur.q
Protected tmpShortPath.s{260} ; D'après la doc de microsoft = x:\ + 256 + 0 = 260 caractères
;http://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx#maxpath
If FileSize(sPath) = -2 ; Est-ce bien un chemin ?
Longueur=GetShortPathName_(sPath, 0, 0) ;Longueur du chemin
If Longueur < 261
If GetShortPathName_(sPath, @tmpShortPath, Longueur) > 0
ProcedureReturn Mid(tmpShortPath, 1, Longueur)
Else
ProcedureReturn "" ; Ne devrait jamais arriver jusqu'ici, mais bon...
EndIf ;if >0
Else
MessageRequester("Attention", "Les noms de chemins supérieurs à 260 caractères ne sont pas pris en compte. Veuillez utiliser Unicode.")
ProcedureReturn ""
EndIf ; If Longueur < 261
Else
MessageRequester("Attention", "Ceci n'est pas un Chemin : " + sPath )
ProcedureReturn ""
EndIf ;If FileSize(sPath) = -2
EndProcedure
; ****************************************************************************
; ****************************************************************************
;
; EXEMPLE AVEC "C:\Windows\System32\GroupPolicy\User".
;
Path.s = "C:\Windows\System32\GroupPolicy\User"
Debug Path
Debug getShortPath(Path)
Debug"--------------------------------------------------------------"
Path.s = "C:\Windows\System32\GroupPolicy\User\exemple.exe"
Debug Path
Debug getShortPath(Path)