Je travaille actuellement sur un projet m'imposant d'utiliser un .ini pour lire et/ou écrire une configuration pour une connexion bluetooth.
Au total je me retrouve avec 5 informations différentes donc un fichier .ini XML assez simple.
Le problème est que je n'ai pas réussis à trouver de tutoriel expliquant simplement l'utilisation de ces fichier .ini XML.
Ainsi j'aurai besoin d'un petit coup de pouce s'il vous plais
Voici le fichier :
<?xml version="1.0" encoding="ISO-8859-1"?>
<configuration>
<connexionBluetooth>
<!-- Port COM utilisé -->
<PortCOM>COM7</PortCOM>
<!-- Vitesse de transmission -->
<Baudrate>57600</Baudrate>
<!-- Parité -->
<Parité>None</Parité>
<!-- Nombre de bit -->
<NombreDeBit>8</NombreDeBit>
<!-- Bite de stop -->
<BitDeStop>One</BitDeStop>
</connexionBluetooth>
</configuration>
"Whatever it is, it's twenty times heavier than a boot !"Leela ~ Futurama
Utiliser des .ini en C# c'est pas pratique...si c'est imposé, c'est du sadisme...
Le premier truc qui me vient à l'esprit serait de séparer le fichier en un tableau de string, un par ligne.
Puis, tu itéres sur les lignes ; si elle est vide tu l'ignores, si le premier caractère est un [ tu définis une nouvelle section (dans laquelle tu mets les infos tant que tu ne rencontre pas un autre [ ) et si c'est une valeur tu stockes la valeur avant le symbole = et la valeur après (regarde du côté des Dictionary<string, string>).
C'est pas très optimisé tout ça (parlant du fichier .ini)... Il me semble qu'un fichier config serait beaucoup plus adapté... Mais bon, ça sent en effet le parsing du document comme Aethec le propose...
Bah a vrai dire c'est plus un choix de ma part mais le XML ou les fichiers config sont envisageable mais là encore j'aurai besoin d'une véritable aide car j'ai eu beau chercher un peu partout et je n'ai rien trouvé de clair du coup j'ai du mal à m'y retrouver.
"Whatever it is, it's twenty times heavier than a boot !"Leela ~ Futurama
T'as le choix...soit tu utilises les fichiers de configuration déjà fournis par .NET, et dans ce cas-là c'est plutôt simple : tu as un designer pour dans les propriétés de ton projet.
Tu peux accéder à un setting en utilisant MonProjet.Properties.Settings.Default.NomDuSetting (ou, plus simplement, ajoute un using MonProjet.Properties pour ne pas avoir à l'écrire tout le temps).
Sinon tu peux aussi créer toi-même ton fichier XML ; dans ce cas-là, il te faut créer une classe "conteneur" qui contient tout ce que tu veux sauvegarder, et la sérialiser avec un XmlSerializer puis gérer l'écriture et la lecture toi-même, mais c'est un peu plus compliqué.
Le désavantage des Settings inclus à .NET c'est qu'ils sont dépendant de la version et de l'assembly ; les Settings seront pas gardés dans et hors de Visual Studio, ni entre différente configuration de build (Debug ou Release par exemple), ni avec les versions successives de ton logiciel.
J'ai bien cherché à créer un fichier de configuration via Visual Studio mais apparemment il ne propose pas ce genre de fichier pour les app Smart Device sous Windows mobile...
Un ptit tuto sur l'utilisation du XML en C# ne serait pas de refus si jamais vous avez =/ Surtout que le fichier XML est pas bien compliqué....
"Whatever it is, it's twenty times heavier than a boot !"Leela ~ Futurama
Crée une classe (dans mon exemple ci-dessous, Settings) qui contient tout ce que tu veux sauver.
Ensuite tu peux faire un truc comme ça (assez explicite comme code je pense)
public static class SettingsHelper
{
// Noms du fichier et du dossier
private const string FileName = "settings.xml";
private const string FolderName = "MyApp";
// On sauve ça dans AppData
private static readonly string FolderPath = Path.Combine( Environment.GetFolderPath( Environment.SpecialFolder.ApplicationData ) + "\\" + FolderName );
private static readonly string SettingsPath = Path.Combine( FolderPath + "\\" + FileName );
public static Settings ReadSettings()
{
if ( !File.Exists( SettingsPath ) )
{
// première utilisation du logiciel
// ou alors l'utilisateur a détruit le fichier de config
return null;
}
using ( StreamReader reader = new StreamReader( SettingsPath ) )
{
XmlSerializer serial = new XmlSerializer( typeof( Settings ) );
return (Settings) serial.Deserialize( reader );
}
}
public static void SaveSettings( Settings settings )
{
XmlSerializer serial = new XmlSerializer( typeof( Settings ) );
if ( !Directory.Exists( FolderPath ) )
{
// première sauvegarde du fichier
// ou alors l'utilisateur a détruit le dossier
Directory.CreateDirectory( FolderPath );
}
using ( StreamWriter writer = new StreamWriter( SettingsPath ) )
{
serial.Serialize( writer, settings );
}
}
}
Utilise MSDN et recherche dans le SDK, si il n'y pas de classe XML.
[C#] Utilisation d'un XML
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.