Aide sur fichier INI

cs_SEB73460 Messages postés 271 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 novembre 2022 - 23 nov. 2007 à 17:36
cs_SEB73460 Messages postés 271 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 novembre 2022 - 24 nov. 2007 à 06:33
Bonsoir,

Je souhaiterai faire une appli multilangue ( francais,anglais ) en vb.net
j'ai regarder sur le forum et j'ai vu que c'est realisable avec un fichier .ini

Est-ce que quelqu'un pourrai m'aider à creer ce fichier pour pouvoir changer la langue de mes Label ?

je ne sais pas trop comment m'y prendre, je debute

Merci pour votre aide
A+

3 réponses

mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
23 nov. 2007 à 20:15
Bonjour,

Je suppose que tu veux écrire ton fichier en binaire (après, que tu mettes l'extension .ini, en .dat, ou en ce que tu veux, ça ne change pas grand chose, du moment que ton programme le code de la même façon).

pour ouvrir ton fichier, fais

FileName= LadresseDeTonFichier
fic=FreeFile  'ça prend un fichier libre
Open FileName for Binary as #fic   'ouvre ton fichier

'pour prendre qqch dans le fichier, fais:
Get #fic,Position,VariableDeReception
'pour écrire qqch, fais:
Put #fic,Position,VariableDorigine

ensuite, fais  close #fic    pour fermer ton fichier.

Remarques importantes:
tu ne peux naviguer dans ton fichier que si tu fais:
seek #fic,Position
(et après tu peux prendre le truc que tu veux, ou écrire ce que tu veux:
get (ou put) #fic,Position,Variable
)

Ensuite, très important: en binaire, tu sauves des types: integer, single, long, string*32  (il faut définir la longueur de la chaine, c'est très important, c'est ce qui définit la place que ça va prendre sur le fichier), ou n'importe quel type que tu crées.

deux exemples:
tu sauvegardes plusieurs chaines de 30 caractères à la suite:
tu fais:

dim sTemp as string*30   (la présence du 30, est très importante, comme je l'ai dit plus haut)
filename= CeQueTuVeux
fic=freefile
open filename for binary as #fic
for i=1 to 10) (si tu veux sauvegarder 10 mots)
stemp=mot(i)
put #fic,1+(i-1)*len(stemp),stemp    (tu remarques que la position à chaque fois, je la décale de la longueur de ce que j'ai rentré la fois précédente..)
next
close #fic

deuxième exemple: tu te crées un type, n'importe quoi...

public type NouveauType
NomEleve as string*30
PrenomEleve as string*30
Age as integer
Moyenne du trimestre as long
end type

pour le sauvegarder, (ou le lire), soit tu les fais un par un, comme précédement, en faisant attention à la longueur de chacun des éléments que tu mets ou tu lis (sinon, tu vas lire un bout de nombre, un bout de chaine, ça va te faire un peu n'importe quoi...)

soit, plus rapide:

tu as créé une variable Eleve (as NouveauType défini ci dessus), et tu as mis les valeurs dans cette variable.
t'as plus qu'à faire:

filename=TonFicher
fic=freefile
open filename for binary as #fic
put #fic,Eleve
close #fic

si tu veux lire ton fichier, c'est aussi facile, t'as qu'à remplacer put par get, et tu peux lire chacun des Eleve.NomEleve, Eleve.PrenomEleve, Eleve.Age, etc...

En espérant avoir pu t'aider.

Christophe
0
mstarsup5 Messages postés 527 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 10 octobre 2013 1
23 nov. 2007 à 20:23
Ps: pour ton problème, faire un truc multilangue, tu n'as qu'a faire un type
Langue1, Langue2, Langue3,.... et donner un numéro à tes labels par exemple
comme ça t'as qu'à faire
dim MotsDuLabel as (le type que tu as défini)
open.....
seek #fic,1+numerolabel*len(MotsDuLabel )
put (ou get)#fic,1+numerolabel*len(MotsDuLabel )
close #fic
label(numerodulabel).caption=MotsDuLabel (numerodelalangue)

(et là, après avoir écris x lignes, je viens de me rendre compte que tu écrivais en VB2005, et pas en VB6.... bon l'idée pour l'écriture des fichiers et la même, mais la syntaxe..... enfin ça peut servir à d'autres... x_x  vais me frapper moi je sens...
dodo...)
0
cs_SEB73460 Messages postés 271 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 29 novembre 2022
24 nov. 2007 à 06:33
Merci pour ta reponse


Mais je recherche un exemple tres simple en vb2005


 


A+
0
Rejoignez-nous