supermotaboy
Messages postés65Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention14 décembre 2005
-
9 oct. 2005 à 20:12
supermotaboy
Messages postés65Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention14 décembre 2005
-
15 oct. 2005 à 15:59
Salut,
J'ai besoin pour un projet de lister les fichiers de dossiers et sous
dossiers (fichiers musicaux). Jusque là tout va bien, les sources pour
faire ça son nombreuses sur ce site. Le probleme vient du fait que
toutes les solutions que j'ai essayé (FSO, utilisation dir et
filelistbox, et autres) ne reconnaissent pas les caractères
étranger.Exemple : 04 - KДДpiФt.mp3 devient 04 - K??pi?t.mp3. et je ne
peux du coup pas l executer, que ce soit en ligne de commande, ou dans
mon cas, l'envoyer a mon prog de lecture audio. Quelqu'un aurait il une
solution?
Le but n'est pas forcément de retrouver le nom a l'identique, mais
juste qu'il soit reconnaissable par n'importe quel autre programme.
cs_Warning
Messages postés516Date d'inscriptionsamedi 3 février 2001StatutMembreDernière intervention24 octobre 20062 10 oct. 2005 à 22:43
Ce probleme très connu (des Asiatiques :p) vient bien de VB6 qui ne supporte pas l'UNICODE. Si tu veux utiliser les chaines de types unicode il faut utiliser les fonctions de chaine de caractère qui finissent par W comme ChrW(valUnicode). De même pour les API, il te faudra par exemple utiliser:
Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameW" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
au lieu de
Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
(le A final remplacé par W).
Enfin, si tu veux afficher des caractères de ce type dans ta form, il faudra malheureusement utiliser uniquement les contrôles Microsoft Forms 2.0 Object Library en rajoutant la reference ActiveX bien entendu.
supermotaboy
Messages postés65Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention14 décembre 2005 9 oct. 2005 à 21:23
oui mais ça me donne une chaine de caractère vide (enfin en utilisant
le nom donné par fso) J'y avais pensais aussi et deja essayé, désolé
d'avoir oublier de le marquer.
LTourist
Vous n’avez pas trouvé la réponse que vous recherchez ?
supermotaboy
Messages postés65Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention14 décembre 2005 9 oct. 2005 à 21:51
Désolé pour tous ces messages a la suite : J'ai regardé et les
programmes qui arrivent sans probleme a lire ce fichier (wmp et
foobar2000) modifie le non de fichier en Kääpiöt. Je sais pas si ça
peut aider pour mettre sur la voie
supermotaboy
Messages postés65Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention14 décembre 2005 10 oct. 2005 à 18:56
Sans vouloir te contredire, ces caractères apparaissent correctement
sous win, donc les polices sont prises en charges non? Il n'y a que vb
qui pose probleme et quelques autres programmes, les autres
transforment les cararctères réticent en des caractères compréhensible
par win. Mais si je les vois sous win, alors il supporte le Cirilic non?
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 11 oct. 2005 à 06:27
Warning : utiliser les contrôles du MS Form 2, c'est bien, mais comment veux tu déployer ton application après ???
Les MS Form 2 sont soumis à licence, et il n'est donc pas possible de
déployer une application utilisant ces contrôles sans avoir acheté la
licence d'utilisation de ces contrôles qui sont vendus avec la version
développeur d'Office, qui est bien chère !
_____________________________________________________________________
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
supermotaboy
Messages postés65Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention14 décembre 2005 11 oct. 2005 à 18:58
Merci de la solution Warning!! Cette astuce fontionnent-elle pour
toutes les fonctions utilisant les chaines de caractères? En ce qui
concerne la diffusion pour le Form 2.0, je ne devrais normalement pas
avoir de probleme, puisque cette application se destine dans un premier
temps a une portée purement personnelle (pour un projet de pc jukebox
totalement indépendant avec ecran LCD Graphique et telecommande). Si je
peux l'utiliser pour concevoir, je peux alors l'utiliser sur ce meme pc
non? Je ne pense pas forcement avoir besoin de les afficher, mais juste
de les stocker en variables tout au plus, est ce possible sans les Form
2.0?
supermotaboy
Messages postés65Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention14 décembre 2005 12 oct. 2005 à 21:41
merci pour le lien Waening, tres utile...Mais je ne comprends pas : si
je souhaite juste les utiliser en tant que variables, je fais comment
alors??? Et si je veux les afficher, l'histoire de license???
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 12 oct. 2005 à 21:48
C'est quand même culoté de la part de Microsoft de préconisé d'utiliser leurs contrôles sous licence !
supermotaboy : il suffit que tu ai une référence vers les ms forms pour
que la licence soit demandée et que tu ne puisse pas déployer ton prog
sur un autre pc non équipé d'office.
Les licences sur le MS FORM sont simples : tu as le droit de l'utiliser
en local (sur ton poste) si tu as Office, mais tu ne peux pas les
distribuer avec ton application => les clients doivent
OBLIGATOIREMENT avoir office d'installé pour que ton prog puisse
fonctionner :(
C'est pour cà que je déconseille fortement d'utiliser les MS Form dans
ses projets, j'ai déjà eu ce problème pour mon viewer d'api lorsque
j'ai voulu déployer la première version alpha, et je peux te dire :
devoir revoir toute ta conception à cause d'une license que tu n'a pas
le droit de distribuer, ca calme !
_____________________________________________________________________
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) tout en français : www.ProgOtoP.com/popapi/
supermotaboy
Messages postés65Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention14 décembre 2005 12 oct. 2005 à 22:07
Je trouve bizarre dans ce cas de fournir les librairies et de permettre
de dévelloper dessus sans avoir office d'installé. D'au autre coté un
develloppeur ne doit pas forcément avoir tous les produits microsoft
pour pouvoir dévelloper il est vrai. Et donc j'en ai besoin ou pas si
je veux les assigner a des variables?
supermotaboy
Messages postés65Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention14 décembre 2005 14 oct. 2005 à 19:29
Bah oui mais ça me permet pas d obtenir la bonne chaine de caractère.
D'autre part, j'ai trouvé un exemple de listage de fichier par api, et
j'ai rajouté w a la fin, et ça n'avait pas l'air de fonctionner, je
vias réessayer...Je vous tiens au courant
supermotaboy
Messages postés65Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention14 décembre 2005 14 oct. 2005 à 19:40
Je confirme que les fonctions findfirstfile et findnextfile n 'existe
pas avec W a la fin.... Et vu que les Forms 2.0 ne comporte pas de
DirBox ou autre, je ne vois pas comment faire.... :(
supermotaboy
Messages postés65Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention14 décembre 2005 15 oct. 2005 à 15:59
alors ça, ça c'est bien beaucoup gentil, merci beaucoup!!! Pourtant
quand je mettais w a la fin, aucun fichier n'etait trouvé (-1 tout le
temps)... Bon je vais regarder ça de plus pres, encore merci!! Et je
pense qu'il n 'y aura pas que moi que ça va arranger!!!
Par contre maintenant j'ai un second probleme a résoudre, auxquels je n
avais pas epnsé. Une fois le chemin récupérer, le nom de fichier est
utilisé pour ouvrir un fichier (dans le cas présent mp3, mais peut
aussi etre ogg ou mpc) pour récuperer ses tags. Seulement pour ça, une
instruction Open est utilisée, et bien sur la fonction ne retourne rien
puisque open ne supporte pas le unicode. Y a t'il un moyen de procéder
ou dois abandonner?