Exemple #1
0
        private static void ReadArtSDF(string path, ref DataTable dTable)
        {
            byte err_cnt = 0;

            if (File.Exists(path))
            {
                //StreamReader sr = null;
                Stream sr = null;
                do
                {
                    try
                    {
                        //sr = new StreamReader(path, Encoding.Default);
                        sr = new FileStream(path, FileMode.Open);
                        break;
                    }
                    catch
                    {
                        System.Threading.Thread.Sleep(100);
                        err_cnt++;
                    }

                } while (err_cnt < 10);

                if (sr == null)
                    return;

                BufferedStream buff = new BufferedStream(sr, 131072);
                StreamReader reader = new StreamReader(buff, Encoding.Default);
                StringReader strRd = new StringReader(reader.ReadToEnd());
                sr.Close();
                sr.Dispose();
                string line = string.Empty;
                DataRow dRow = dTable.NewRow();
                int sc = 0;
                bool isfull = new sgmode.ClassMode().FullLoader();
                dTable.Rows.Clear();

                winapi.WApi.OutputDebugString("ReadArtSDF_begin");
                while ((line = strRd.ReadLine()) != null)
                {
                    if (line == string.Empty)
                        continue;
                    /*
                    if (!isfull && sc >= 10)
                        break;

                    if (isfull && (sc + 1) % 100 == 0)
                        isfull = new sgmode.ClassMode().FullLoader();
                    */
                    //dRow["C"] = index++;
                    line = line.Replace("\\\\", "\\");
                    dRow["ID"] = line.Substring(0, 10).Trim();//id
                    dRow["BC"] = line.Substring(10, 14).Trim();//skod
                    dRow["NAME"] = line.Substring(24, 35).Trim().Replace('i', 'і').Replace('I', 'І');//name
                    dRow["DESC"] = line.Substring(59, 60).Trim().Replace('i', 'і').Replace('I', 'І');//desc
                    dRow["UNIT"] = line.Substring(119, 15).Trim();//unit
                    dRow["VG"] = line.Substring(134, 1).Trim();//vg
                    if (dRow["VG"].ToString() == "")
                        dRow["VG"] = " ";
                    dRow["TID"] = line.Substring(135, 11).Trim();//tid

                    dRow["TQ"] = GetDouble(line.Substring(146, 12).Trim());//tq
                    dRow["PACK"] = GetDouble(line.Substring(158, 18).Trim());//pack
                    dRow["WEIGHT"] = GetDouble(line.Substring(176, 18).Trim());//weight
                    dRow["PRICE"] = GetDouble(line.Substring(194, 12).Trim());//price
                    dRow["PR1"] = GetDouble(line.Substring(206, 12).Trim());//pr1
                    dRow["PR2"] = GetDouble(line.Substring(218, 12).Trim());//pr2
                    dRow["PR3"] = GetDouble(line.Substring(230, 12).Trim());//pr3
                    dRow["Q2"] = GetDouble(line.Substring(242, 12).Trim());//q2
                    dRow["Q3"] = GetDouble(line.Substring(254, 10).Trim());//q3

                    dTable.Rows.Add(dRow);
                    dRow = dTable.NewRow();

                    //sc++;
                }
                winapi.WApi.OutputDebugString("ReadArtSDF_end");

            }
        }
Exemple #2
0
        private static void ReadCardSDF(string path, ref DataTable dTable)
        {
            byte err_cnt = 0;

            if (File.Exists(path))
            {
                StreamReader sr = null;
                do
                {
                    try
                    {
                        sr = new StreamReader(path, Encoding.Default);
                        break;
                    }
                    catch
                    {
                        System.Threading.Thread.Sleep(100);
                        err_cnt++;
                    }

                } while (err_cnt < 10);

                if (sr == null)
                    return;

                string line = string.Empty;
                DataRow dRow = dTable.NewRow();
                //long index = 0;
                int sc = 0;
                bool isfull = new sgmode.ClassMode().FullLoader();

                while ((line = sr.ReadLine()) != null)
                {
                    //dRow["C"] = index++;

                    if (line == string.Empty)
                        continue;

                    if (!isfull && sc >= 10)
                        break;

                    if (isfull && (sc + 1) % 100 == 0)
                        isfull = new sgmode.ClassMode().FullLoader();

                    dRow["CBC"] = line.Substring(0, 20).Trim();//abc
                    dRow["CID"] = line.Substring(20, 10).Trim();//aid
                    dRow["CDISC"] = GetDouble(line.Substring(30, 6).Trim());//cdisc
                    try
                    {
                        dRow["CPRICENO"] = int.Parse(line.Substring(36).Trim());//cdisc
                    }
                    catch { dRow["CPRICENO"] = (int)0; }
                    dTable.Rows.Add(dRow);
                    dRow = dTable.NewRow();

                    sc++;
                }
                sr.Close();
                sr.Dispose();
            }
        }
Exemple #3
0
        private static void ReadAltSDF(string path, ref DataTable dTable)
        {
            byte err_cnt = 0;

            if (File.Exists(path))
            {
                Stream sr = null;
                do
                {
                    try
                    {
                        sr = new FileStream(path, FileMode.Open);
                        break;
                    }
                    catch
                    {
                        System.Threading.Thread.Sleep(100);
                        err_cnt++;
                    }

                } while (err_cnt < 10);

                if (sr == null)
                    return;

                BufferedStream buff = new BufferedStream(sr, 131072);
                StreamReader reader = new StreamReader(buff, Encoding.Default);
                StringReader strRd = new StringReader(reader.ReadToEnd());
                sr.Close();
                sr.Dispose();
                string line = string.Empty;
                DataRow dRow = dTable.NewRow();
                int testdsc = 0;
                bool test1 = new sgmode.ClassMode().FullLoader();
                dTable.Rows.Clear();

                winapi.WApi.OutputDebugString("ReadAltSDF_begin");
                while ((line = strRd.ReadLine()) != null)
                {
                    if (line == string.Empty)
                        continue;
                    /*
                    if (!test1 && testdsc >= 10)
                        break;

                    if (test1 && (testdsc + 1) % 100 == 0)
                        test1 = new sgmode.ClassMode().FullLoader();
                    */
                    //dRow["C"] = index++;

                    dRow["ABC"] = line.Substring(0, 20).Trim();//abc
                    dRow["AID"] = line.Substring(20, 10).Trim();//aid
                    dTable.Rows.Add(dRow);
                    dRow = dTable.NewRow();

                    //testdsc++;
                }
                winapi.WApi.OutputDebugString("ReadAltSDF_end");
                sr.Close();
                sr.Dispose();
            }
        }