FrmDataFilePreview.cs 2.3 KB
using BLL;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace SmartScan
{
    public partial class FrmDataFilePreview : Asa.FaceControl.FormBase
    {
        public FrmDataFilePreview()
        {
            InitializeComponent();

        }
        public static bool ShowPreview(string filename,out string Encodingtxt) {

            
            FrmDataFilePreview frmDataFile = new FrmDataFilePreview();
            frmDataFile.Filename = filename;
            Encodingtxt = frmDataFile.EncodingTxt;
            if (frmDataFile.ShowDialog() != DialogResult.OK)
                return false;

            Encodingtxt = frmDataFile.EncodingTxt;
            return true;
        }
        private void CboEncoding_SelectedIndexChanged(object sender, EventArgs e)
        {
            EncodingTxt = CboEncoding.SelectedText;
            loadfile();
        }
        public string Filename;
        public string EncodingTxt;
        private void FrmDataFilePreview_Load(object sender, EventArgs e)
        {
            CboEncoding.Items.Add("UTF-8");
            CboEncoding.Items.Add("Shift_JIS");
            CboEncoding.Items.Add("EUC-JP");
            CboEncoding.Items.Add("GB2312");
            CboEncoding.Items.Add("GBK");
            CboEncoding.SelectedIndex = 0;
            if (!string.IsNullOrEmpty(Config.DataSource_Encoding))
            {
                CboEncoding.SelectedText = Config.DataSource_Encoding;
            }
            loadfile();
        }
        void loadfile() {
            txtPreview.Text = "";
            using var sm = new StreamReader(Filename, ExtraFileData.GetEncoding(EncodingTxt));
            for (int i = 0; i < 10; i++)
            {
                var titleline = sm.ReadLine();
                if (titleline == null)
                    break;

                txtPreview.Text += titleline + "\r\n";
            }
        }

        private void BtnOK_Click(object sender, EventArgs e)
        {
            DialogResult = DialogResult.OK;
            this.Close();
        }

        private void BtnCancel_Click(object sender, EventArgs e)
        {
            DialogResult = DialogResult.Cancel;
            this.Close();
        }
    }
}