Hỏi đáp

Chia sẻ kiến thức, cùng nhau phát triển

read line trong c# winform

Đã tạo 15:03 28-04-2021 Hoạt động 15:05 28-04-2021 36 lượt xem 0 bình luận

mình viết một chương trình đọc từng dòng trong file txt rồi lấy dữ liệu ra nhưng tại sao nó bị nhảy dòng thế mn.

đầy là đoạn code của mình 

StreamReader data = new StreamReader(open.FileName);
            Thread str = new Thread(() =>
            {
                int counter = 0;

                while (true)
                {
                    for (int t = 0; t < counter; t++)
                    {
                        line = data.ReadLine();
                    }
                    counter = counter + 1;
                    if (line != null)
                    {
                        //tbx_SentData.Text = line;
                        if (line.StartsWith("G0") || line.StartsWith("G1"))
                        {
                            Regex re_x = new Regex(@"X(?<valx>(\d|\.|-)+)");
                            foreach (Match item in re_x.Matches(line))
                            {
                                tbx_X_value_move.Text = item.Groups["valx"].ToString();
                                x_mov = Convert.ToDouble(tbx_X_value_move.Text);
                            }
                            Regex re_y = new Regex(@"Y(?<valy>(\d|\.|-)+)");
                            foreach (Match item in re_y.Matches(line))
                            {
                                tbx_Y_value_move.Text = item.Groups["valy"].ToString();
                                y_mov = Convert.ToDouble(tbx_Y_value_move.Text);

                            }
                            Regex re_z = new Regex(@"Z(?<valz>(\d|\.|-)+)");
                            foreach (Match item in re_z.Matches(line))
                            {
                                tbx_Z_value_move.Text = item.Groups["valz"].ToString();
                                z_mov = Convert.ToDouble(tbx_Z_value_move.Text);

                            }
                            Regex re_f = new Regex(@"F(?<valf>(\d|\.|-)+)");
                            foreach (Match item in re_f.Matches(line))
                            {
                                //txt_f.Text = item.Groups["valf"].ToString();

                            }
                            Regex re_e = new Regex(@"(E(?<vale>(\d|\.|-)+))");
                            foreach (Match item in re_e.Matches(line))
                            {
                                //txt_e.Text = item.Groups["vale"].ToString();
                            }
                            Thread.Sleep(2000);
                        }
                        else { }
                    }
                    else
                    {

                        MessageBox.Show("da doc het file");
                        counter = 0;
                        break;
                    }
                }
            });
            str.IsBackground = true;
            str.Start();

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập

Câu hỏi mới nhất