damsdu64
Messages postés49Date d'inscriptionlundi 4 décembre 2000StatutMembreDernière intervention29 avril 2009
-
30 janv. 2009 à 13:51
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 2013
-
30 janv. 2009 à 17:28
Bonjour tout le monde, je suis étudiant et j'ai besoin de vos conseils étant novice dans le C#.
Mon objectif est de créer un utilitaire qui enverra dans un fichier texte en binaire les ordonnées de trois sinusoïdes déphasée de 120° afin de pouvoir les afficher dans un label.
Premièrement je créer le fichier, mes valeurs de déphasage, puis je créer ma fonction sinus et je converti sa valeur de retour qui est un double en binaire pour ensuite l'écrire dans mon fichier.
Le problème c'est que le compilateur me jete quand la valeur à convertir est négative.
Ma question est : comment est ce que je peut convertir convenablement la valeur de retour de la fonction sinus en binaire et ensuite l'écrire dans un fichier dans ce même langage ?
Mon code ci dessous est en deux parties la première étant celle qui doit créer et convertir la valeur de retour des sinus et la deuxième partie doit gérer l'affichage dans des labels des valeurs des ordonnées.
Je vous remercie par avance pour vos réponses
private void button1_Click(object sender, EventArgs e)
{
if (!File.Exists("Monbeautexte.txt"))
{
//Création d'un fichier vide au format binaire
BinaryWriter bw = null;
bw = new BinaryWriter(File.Create("Monbeautexte.txt"));
for (double i = 0; i < 4 * Math.PI; i += (4 * Math.PI)/1000)
{
double x = Math.Sin(i); //Crée la fonction sinus
x = Math.Round(x, 3); //Permet d'arrondir la valeur à 3 chiffres après la virgule
int x1 = Convert.ToByte(x); // Converti en Byte
bw.Write(x1); // Ecrit sur le fichier
double y = Math.Sin(i + Dephasage1);
y = Math.Round(y, 3);
int y1 = Convert.ToByte(y);
bw.Write(y1);
double z = Math.Sin(i + Dephasage2);
z = Math.Round(z, 3);
int z1 = Convert.ToByte(z);
bw.Write(z1);
}
//J'ouvre le fichier Monbeautexte.txt
fs = File.Open("Monbeautexte.txt", FileMode.Open);
br = new BinaryReader(fs);
//Je récupere par groupe de deux octets ce que le fichier contient
short x = br.ReadByte();
short y = br.ReadByte();
short z = br.ReadByte();
br.Close();
//Je veut récupérer dans des labels la valeur de chaqune de mes variables
//Premièrement je converti les variables de type short en string
string x1 = x.ToString();
string y1 = y.ToString();
string z1 = z.ToString();
//Ensuite j'affiche ces variables dans des labels texte.
label1.Text = x1;
label2.Text = y1;
label3.Text = z1;
}
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 30 janv. 2009 à 14:07
Salut,
Pourquoi tu n'écris pas directement ton double avec bw.Write?
Pourquoi tu stocks les informations dans un fichier txt alors que tu écris en binaire?
Ensuite tu peux relire avec ReadDouble, ReadXXX...
damsdu64
Messages postés49Date d'inscriptionlundi 4 décembre 2000StatutMembreDernière intervention29 avril 2009 30 janv. 2009 à 15:00
Ah oui en fait j'essayer de convertir un double en binaire mais j'avais omis le fait que quand on ecrit avec cette fonction ca écrit directement en binaire.. Merci.. faut que je me concentre plus ^^
Mais est ce que tu (quelqu'un) aurait une idée pour exploiter des données binaires sur zedgraph car je n'ai pas beaucoup de pratique sur le sujet ...
Afin de recréer des courbes à partir de ces données la .
Merci bien
Vous n’avez pas trouvé la réponse que vous recherchez ?