static void TraduireBinaire(DonneesBourse curDate, BinaryWriter writer) { // On va convertir la ligne courante ici l'objet curDate courant en octets dans un fichier de données writer.Write(Convert.ToSingle(curDate.DateConvertie)); writer.Write(curDate.Ouverture); writer.Write(curDate.Eleve); writer.Write(curDate.Faible); writer.Write(curDate.Cloture); writer.Write(curDate.ClotureAjuste); writer.Write(curDate.Volume); }
static void ConvertirLigne(string dbLine) // Convertir la ligne courante en objet DonneesBourses { string[] tokensNonVerifies = dbLine.Trim(' ').Split(charsSeparateur); int cptTokensVerif = 0; if ((tokensNonVerifies[3] == "-") && (tokensNonVerifies[4] == "-") && (tokensNonVerifies[5] == "-") && (tokensNonVerifies[6] == "-") && (tokensNonVerifies[7] == "-") && (tokensNonVerifies[8] == "-")) { //Console.WriteLine("Jour férié"); } else { string[] tokensVerifies = new string[9]; for (int i = 0; i < tokensNonVerifies.Length; i++) // Analyse du tableau de tokens non vérifiés et non analysés { if (tokensNonVerifies[i] != "") { tokensVerifies[cptTokensVerif] = tokensNonVerifies[i]; // On vient stocker le token qui vient d'être analysé dans le tableau des tokens vérifié switch (tokensVerifies[1]) // On compare le nom du mois pour lui assigner un nombre correspondant au mois { case "janv.": tokensVerifies[1] = "01"; break; case "févr.": tokensVerifies[1] = "02"; break; case "mars": tokensVerifies[1] = "03"; break; case "avr.": tokensVerifies[1] = "04"; break; case "mai": tokensVerifies[1] = "05"; break; case "juin": tokensVerifies[1] = "06"; break; case "juil.": tokensVerifies[1] = "07"; break; case "août": tokensVerifies[1] = "08"; break; case "sept.": tokensVerifies[1] = "09"; break; case "oct.": tokensVerifies[1] = "10"; break; case "nov.": tokensVerifies[1] = "11"; break; case "déc.": tokensVerifies[1] = "12"; break; } if (tokensVerifies[8] == "-") { tokensVerifies[8] = "-1"; } // Si on ne connait pas le volume on met -1 //Console.WriteLine(tokensVerifies[cptTokensVerif] + " - " + cptTokensVerif); // Affichage tableau tokens triés (analyés) de chaque lignes cptTokensVerif++; } } // Fin traitement des tokens non vérifiés //Console.WriteLine("avant trad" + tokensVerifies[8]); float Date = 0; float[] result = new float[9]; for (int y = 0; y < tokensVerifies.Length; y++) // Pour chaque case du tableau de token { result[y] = Convert.ToSingle(tokensVerifies[y]); } DoEncodeDate((int)result[2], (int)result[1], (int)result[0], ref Date); // Encodage DoDecodeDate((int)Date, ref Date); // Decodage //Console.WriteLine(""); //Console.WriteLine(result[8]); DonneesBourse curDate = new DonneesBourse { DateConvertie = Date, Ouverture = result[3], Eleve = result[4], Faible = result[5], Cloture = result[6], ClotureAjuste = result[7], Volume = result[8] }; FileStream fsBinary = File.Open(dataBinaryFilePath, FileMode.Append); BinaryWriter writer = new BinaryWriter(fsBinary); TraduireBinaire(curDate, writer); // On envoie l'objet writer soit le fichier binaire sur lequel on va écrire fsBinary.Close(); writer.Close(); } }