CRÉER UNE APPLICATION MULTILANGUE (.INI) V 1.1.5

fbrt Messages postés 39 Date d'inscription lundi 25 février 2002 Statut Membre Dernière intervention 16 avril 2005 - 15 avril 2002 à 13:45
cs_mickei Messages postés 15 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 3 octobre 2007 - 5 avril 2007 à 15:55
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/2948-creer-une-application-multilangue-ini-v-1-1-5

cs_mickei Messages postés 15 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 3 octobre 2007
5 avril 2007 à 15:55
En fait ca ne ferait cela (suppression des champs ds le fichier default) que quand je n'ai aucune langue de choisie.
cs_mickei Messages postés 15 Date d'inscription vendredi 10 janvier 2003 Statut Membre Dernière intervention 3 octobre 2007
5 avril 2007 à 15:45
Vraiment super comme code, j'ai mis 9 car perso j'ai un petit soucis quand danss mon code je modifie les captions de mes contrôles.
Je me sers de LoadMsgLanguage avec : XXX.caption = LoadMsgLanguage("dsd")
sauf que lors de la création du fichier il se passe une couille, dsd est égale à vide ds le fichier même si j'ai fait la sauvegarde avec une valeur par défaut.
En gros ton code ne différencie pas une attribution du caption par défaut et quand on fait la modification de façon dynamique dans le programme.
Pour contourner le problème j'ai utilisé une variable.
greffierjc Messages postés 13 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 21 novembre 2009
6 juin 2006 à 12:46
Bonjour,

Merci, quand même de votre réponse.

Amicalement.

Greffier.
Icem@n Messages postés 34 Date d'inscription jeudi 29 juin 2000 Statut Membre Dernière intervention 27 octobre 2003
6 juin 2006 à 12:05
Bonjour,
déjà merci pour vos nombreux commentaires ;)

C17 >
Je ne sais ce qu'il est des limites des Fichiers INI je ne les ai pas encore atteinte ;), mais une solution serais alors de splitter en plusieurs fichiers ini, par exemple par Formulaire ... ;)

greffierjc >
Je n'ai jamais reporté ça en VBA, et je doute que ce soit utilisable sans de nombreuse modification ...

BàV,
Icem@n
greffierjc Messages postés 13 Date d'inscription vendredi 21 mars 2003 Statut Membre Dernière intervention 21 novembre 2009
6 juin 2006 à 11:55
Bonjour,

Tout le monde vous félicite, mois aussi, c'est un papy qui vous le dit. Mais j'aimerais que vous me disiez si votre programmation peut s'appliquer à un programme access en séquence VBA, et si vous l'aviez déjà fait.
Dans le cas contraire comment adapter votre programmation aux formulaires d'access.

Merci, pour votre réponse.

Greffier.
cs_C17 Messages postés 25 Date d'inscription mercredi 24 juillet 2002 Statut Membre Dernière intervention 7 juillet 2004
1 mai 2005 à 14:33
C'est génial, mais si je me trompe, on est limité en espace avec un fichier INI?

ça risque pas de poser problèmes avec des grosses applications?
Icem@n Messages postés 34 Date d'inscription jeudi 29 juin 2000 Statut Membre Dernière intervention 27 octobre 2003
1 sept. 2004 à 08:08
En effet, judicieuse remarque ;)
A l'époque cette partie du programme a été récupérée sur le net et vu qu'elle marchait je ne me suis pas posé de question..
Mais si le temps me le permet, je vérifierais et ferrais les modifications adéquates.

BaT,
Icem@n
cs_liquide Messages postés 1016 Date d'inscription samedi 22 mars 2003 Statut Membre Dernière intervention 24 juin 2008
31 août 2004 à 22:16
franchement, c'est bien.
je viens de me mettre a regarder les api utilisées car je n'avais pas eu trop le temps avant.

bien sur il ya d'autres sources, mais bon j'ai téléchargé la tienne, va savoir pourquoi.

j'ai une seule chose qui m'a dérangée dans le code, c'est tout a fait bénin mais bon.
J'explique:
- dans la function INIProfileRead tu mets:
n = GetPrivateProfileString(lpKeyName, strNomCle, strDonneeDefault, lpReturnedString, nSize, lpFileName)

- n renvois le nombre de caracteres du buffer
- ensuite dans la meme procédure il y a la condition de "calcul" de la chaine réelle, puisque ca longueur est a 128 avec :
If n <> 0 Then
lpReturnedString = Left$(lpReturnedString, InStr(lpReturnedString, Chr$(0)) - 1)
Else

----- Hors si n <> 0 , c'est qu'il renvoit la longueur réelle de la chaine. c'est pour cela que j'ai l'impression que le retour "lpReturnedString " possede une formule bien compliquée.
j'aurais plutot mis : lpReturnedString =Mid$(lpReturnedString, 1, n)

En espérant que je ne me trompe pas, car je n'ai pas fais le tour complet des ces API
cs_LuTo Messages postés 102 Date d'inscription mercredi 9 janvier 2002 Statut Membre Dernière intervention 6 juin 2010
20 févr. 2004 à 05:54
Excellent. Et super efficace.
Icem@n Messages postés 34 Date d'inscription jeudi 29 juin 2000 Statut Membre Dernière intervention 27 octobre 2003
18 juin 2002 à 08:40
Regarde dans le zip de la source, il y a un petit exemple qui montre l'utilisation ... ;-) (que tu peux d'ailleurs voir à l'oeuvre dans la "Capture")
Bonne Prog ;-)
daddam Messages postés 6 Date d'inscription dimanche 1 avril 2001 Statut Membre Dernière intervention 23 mars 2006
17 juin 2002 à 17:39
Bonjour,
peux-tu m'envoyer un projet Vb comme exemple
Merci
fbrt Messages postés 39 Date d'inscription lundi 25 février 2002 Statut Membre Dernière intervention 16 avril 2005
16 avril 2002 à 10:02
Je l'ai essayé : tout simplement génial. Pour rajouter une langue, il y a juste un fichier a rajouter.
fbrt Messages postés 39 Date d'inscription lundi 25 février 2002 Statut Membre Dernière intervention 16 avril 2005
15 avril 2002 à 13:45
Je ne l'ai pas encore testé mais c'est exactement ce dont j'avais besoin. Bravo.
Rejoignez-nous