|
[Résolu] Combo avec récupération d'éléments dans un fichier .ini |
|
Stagiaire WDF
Inscrit: 20/08/2005 01:31
De Lens
Post(s): 23
|
Bonjour :). J'aimerais savoir si vous pouvez me donner un coup de main sur un code me restant à développer. Malheureusement, faute de temps (partiels et autres à la fac), je n'ai pas le temps de chercher comment faire cela. Je vais essayer de vous résumer la chose le plus simplement possible. J'ai développé une application qui utilise des fichiers .ini afin que celle-ci puisse être multilangue. Pour le français, le fichier s'appelle french.iniPour l'anglais, english.ini... Au début du french.ini, j'ai ceci : [Language]
FileLanguage=Français
FileName=french
Pour l'anglais : [Language]
FileLanguage=English
FileName=english
Donc en gros, j'aimerais si possible avoir un exemple de code qui permettrait de lister directement les fichiers .ini présents dans le dossier /language/ via une combo. Laquelle lirait la valeur FileLanguagePuis lors de l'enregistrement, écrirait dans le fichier .ini correspondant à la configuration la valeur dans FileNameJ'espère avoir été assez clair et vous remercie par avance si vous pouviez me donner ce coup de main, car c'est une application GNU/GPL que je fais et qui sera bénéfique pour de nombreuses personnes . Voici le lien des captures de l'application . http://www.oxygen-powered.net/viewtopic.php?t=496Cordialement ABDev
Contribution le : 10/05/2007 23:12
Edité par drcharly93 sur 14/5/2007 16:37:16
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour, Un début de code saisie à la volée et non testé
cmbNom est une chaîne = "comboIni"
ResFichier est une chaîne
sLangue est une chaîne
sFichier est une chaîne
//Récupration des fichier ini
ResFichier = fRep(ComplèteRep( fRepExe() ) + "language\*.ini", frFichier)
TANTQUE ResFichier <> ""
sLangue = INILit( "Language", "FileLanguage", "", ResFichier )
sFichier = INILit( "Language", "FileName", "" , ResFichier )
SI sLangue <> "" ALORS ListeAjoute(cmbNom, sLangue + Répète( " ", 50) + TAB + sFichier)
ResFichier = fRep("", frFichier)
FIN
//Pour ecrire dans un fichier ini l'entrée Message1 avec la valeur 'Ceci est le message 1' dans le fichier french.ini
//On récupère le nom du fichier sélectionné dans la combo
sFichier = ExtraitChaîne( {cmbNom,indChamp}..ValeurAffichée, 2)
INIEcrit( "Language", "Message1", "Ceci est le message 1", ComplèteRep( fRepExe() ) + "language\" + sFichier + ".ini")
Contribution le : 11/05/2007 00:53
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
Stagiaire WDF
Inscrit: 20/08/2005 01:31
De Lens
Post(s): 23
|
Merci drcharly, je teste cela tout à l'heure sitôt rentré .
Contribution le : 11/05/2007 11:59
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
Stagiaire WDF
Inscrit: 20/08/2005 01:31
De Lens
Post(s): 23
|
Rebonjour . J'ai testé le code et malheureusement la combo ne se remplit pas des informations . J'ai mis ceci dans les déclarations globales de la fenêtre : //
// Code by drcharly93, WDForge
// http://old.wdforge.org/
//
cmbName est une chaîne = "ComboIni"
ResFile est une chaîne
sLang est une chaîne
sFile est une chaîne
Ceci dans l'initialisation de la fenêtre : //
// Code by drcharly93, WDForge
// http://old.wdforge.org/
//
ResFile = fRep(fRepEnCours() + "\languages\*.ini", frFichier)
TANTQUE ResFile <> ""
sLang = INILit("Language", "FileLanguage", "", ResFile)
sFile = INILit("Language", "FileName", "", ResFile)
SI sLang <> "" ALORS ListeAjoute(cmbName, sLang + Répète(" ", 50) + TAB + sFile)
ResFile = fRep("", frFichier)
FIN
Et enfin ceci dans le bouton qui sert à l'enregistrement : //
// Code by drcharly93, WDForge
// http://old.wdforge.org/
//
sFile = ExtraitChaîne({cmbName, indChamp}..ValeurAffichée, 2)
INIEcrit("Config", "UsedLanguage", sFile, fRepEnCours() + "\Config.ini")
Bien sûr, j'ai initialisé la Combo via : Auriez-vous une autre idée s'il vous plaît ? . Merci par avance, c'est déjà très gentil ce que vous faîtes pour nous . ABDev
Contribution le : 11/05/2007 17:22
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
Animateur WDF
Inscrit: 19/01/2004 13:48
De www.sigmasys.fr
Post(s): 988
|
Bonjour,
Dans la ligne :
ResFile = fRep(fRepEnCours() + "\languages\*.ini", frFichier)
Remplacez fRepEnCours() par fRepEXE()
Bon dév.,
Totof
Contribution le : 11/05/2007 17:49
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
Stagiaire WDF
Inscrit: 20/08/2005 01:31
De Lens
Post(s): 23
|
Bonjour Totof Le problème reste le même hélas :-/. Je me posais une question concernant la ligne suivante : cmbName est une chaîne = "ComboIni"
La valeur ComboIni correspond-il au nom de la Combo ? Cela ne change rien en plus :-/. Merci à vous .
Contribution le : 11/05/2007 17:56
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
ChefDeProjet WDF
Inscrit: 02/05/2006 21:28
Post(s): 160
|
cmbNom est une chaîne = "comboIni" est bien le nom de lacombo dans le code de drcharly93
mais là il faut écrire alors {cmbname;indchamp} car c'est une indirection ou utiliser le nom de ta combo
ListeAjoute(cmbName, sLang + Répète(" ", 50) + TAB + sFile)
Contribution le : 11/05/2007 20:33
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
Stagiaire WDF
Inscrit: 20/08/2005 01:31
De Lens
Post(s): 23
|
Oki je teste cela, merci wd3000 ^^. Edit : euh, je n'ai pas compris la manipulation à effectuer .
Contribution le : 11/05/2007 20:43
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
ChefDeProjet WDF
Inscrit: 02/05/2006 21:28
Post(s): 160
|
soit tu mets le nom de ta combo dans listeajoute("ici")
soit tu corrige en listeajoute({cmbname,indchamp}
si ta combo s'appelle bien comboini
la première méthode est simple, la deuxième est plus universelle
Contribution le : 11/05/2007 21:21
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
Stagiaire WDF
Inscrit: 20/08/2005 01:31
De Lens
Post(s): 23
|
Bonsoir wd3000, J'ai donc changé la ligne suivante : SI sLang <> "" ALORS ListeAjoute(cmbName, sLang + Répète(" ", 50) + TAB + sFile)
par : SI sLang <> "" ALORS ListeAjoute({cmbName, indChamp}, sLang + Répète(" ", 50) + TAB + sFile)
Mais cela ne change rien au souci. La combo reste vide .
Contribution le : 11/05/2007 21:34
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
ChefDeProjet WDF
Inscrit: 02/05/2006 21:28
Post(s): 160
|
Quel est le nom de ta combo ?
Contribution le : 12/05/2007 12:11
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
Stagiaire WDF
Inscrit: 20/08/2005 01:31
De Lens
Post(s): 23
|
Elle se nomme "Languages" ;). Quand DrCharly avait mis "ComboIni", je l'avais aussi renommé en "ComboIni" mais cela n'a rien changé :-/.
Contribution le : 12/05/2007 12:38
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
ChefDeProjet WDF
Inscrit: 02/05/2006 21:28
Post(s): 160
|
Tu as écris: Bien sûr, j'ai initialisé la Combo via : ComboIni = ResFile
Où est ce code au demeurant inuile Listeajoute() suffit
Où sont tes fichiers .ini ? attention frepexe() renvoie le chemin de ton projet\exe en mode test
Sinon je ne vois rien d'autre le code est parfaitement juste pour remplir ta combo
Contribution le : 12/05/2007 21:21
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
Stagiaire WDF
Inscrit: 20/08/2005 01:31
De Lens
Post(s): 23
|
Euh bon, je suis paumé là ^^. Je remets quoi à la place de fRepExe() ? fRepEnCours() comme initialement ? Sinon, mes fichiers .ini sont dans le dossier \languages\
Je vais retenter :-/.
Contribution le : 12/05/2007 22:53
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
ChefDeProjet WDF
Inscrit: 02/05/2006 21:28
Post(s): 160
|
tes fichiers ne sont pas juste dans \languages\
ex: fichier dans c:\lesoft\languages\
alors ton exe devra être dans c:\leprojet pour que frepexe() fonctionne
mais en mode test ( Go) WD ne va pas chercher dans c:\leprojet\languages mais dans rep du projet ( là où tu développe: c:\mes projets\lesoft\exe)
Je suis sûr que ton problème vient de là.
Mets un chemin en dur pour essayer au lieu de frepexe(), par ex "c:\lesotf\langages\"
Contribution le : 13/05/2007 10:18
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
Stagiaire WDF
Inscrit: 20/08/2005 01:31
De Lens
Post(s): 23
|
Bonjour, Avec mon ami, nous avons réussi à résoudre tout cela via l'utilisation de la fonction gLien . Merci pour votre aide :).
Contribution le : 13/05/2007 18:16
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
ChefDeProjet WDF
Inscrit: 02/05/2006 21:28
Post(s): 160
|
Peux-tu mettre le code en ligne car glien n'a rien à voir avec le remplissage de ta combo qui je crois était ton problème (citation: La combo reste vide )
Contribution le : 13/05/2007 20:00
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
Stagiaire WDF
Inscrit: 20/08/2005 01:31
De Lens
Post(s): 23
|
Bin suffit de venir sur mon forum pour prendre le code source, vu que c'est une application GNU/GPL . http://www.oxygen-powered.net/viewtopic.php?t=505Bonne soirée. ++
Contribution le : 13/05/2007 20:09
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
Animateur WDF
Inscrit: 02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
|
Bonjour ABDev, Nous sommes ravi que cela ai fait avancer le smilblic Cela va dans le fondement même de notre site, l'entraide entre les développeurs de communauté et de promouvoir les projets Open sources, ce qui apparement est votre cas. Citation : Félicitations pour votre initiative et merci pour le retour.
Contribution le : 14/05/2007 11:07
|
|
|
Re: Combo avec récupération d'éléments dans un fichier .ini |
|
Stagiaire WDF
Inscrit: 20/08/2005 01:31
De Lens
Post(s): 23
|
Etant maintenant plus actif dans la communauté phpBB que WinDev, ma philosophie de l'Open-Source est ainsi, et donc je me devais de faire disposer à un maximum de personnes le code source ^^. Pour le retour, c'est tout à fait normal . D'ailleurs, j'ai même remercié WDForge sur le site officiel de ToC. http://community.to-crossfire.net/forums/showthread.php?t=3983Merci encore pour votre aide .
Contribution le : 14/05/2007 13:49
Edité par drcharly93 sur 14/5/2007 15:14:24
|
|
Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
|
Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
|