J'analyse un énorme fichier binaire en c#, et je voudrais savoir comment mettre une barre de défilement pour que l'on puisse voir la progression du traitement. Pour le moment, mon code est le suivant :
Pour l'instant, le problème est que lorsque je clique sur le bouton "Ouvrir" de mon OpenFileDialog, le système n'a plus aucune réactivité (la fenetre principale est blanche en arriere plan, et l'OpenFileDialog est figée), jusqu'à ce que le traitement soit fini... du coup, on ne sait pas si l'appli est plantée en analysant le fichier, ou si elle tourne correctement. J'aimerais que la barre défile en fonction de notre position dans le fichier, et que la fenetre se rafraichisse.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 private void openFileDialog1_FileOk_1(object sender, CancelEventArgs e) { this.Activate(); string file_name = openFileDialog1.FileName; System.IO.FileInfo fileInfo = new System.IO.FileInfo(file_name); System.IO.FileStream fileStream = fileInfo.OpenRead(); if (fileStream.CanRead) { richTextBox1.Clear(); System.IO.BinaryReader bReader = new System.IO.BinaryReader(fileStream, System.Text.Encoding.UTF7); try { byte[] m_typ_tab; ushort[] m_tail_tab; byte m_nb_tab = lecture_entete(bReader, out m_typ_tab, out m_tail_tab); //Lecture des tableaux for (int i = 0; i < m_nb_tab; i++) { switch (m_typ_tab[i]) { case 1: lecture_table1(bReader); break; case 2: lecture_table2(bReader); break; case 3: lecture_table3(bReader); break; case 4: lecture_table4(bReader); break; default: Console.WriteLine("Invalid Table Type... This table will be ignored"); break; } } } finally { bReader.Close(); } } else Console.WriteLine("File unreadable!"); fileStream.Close(); }
Merci d'avance pour votre aide![]()
Partager