Example #1
0
        void saveNameList()
        {
            String orderFile = _packetDir + "\\ListOrder.txt";

            File.Delete(orderFile);
            if (Directory.Exists(_packetDir + "\\Backups"))
            {
                if (V_Data.Rows.Count != Directory.GetDirectories(_packetDir).Length - 1)
                {
                    MessageBox.Show("디렉토리 개수와 목록의 개수가 달라서 목록을 다시 만듭니다.");
                    //File.Delete(orderFile);
                    makeNewOrderIfNotExists();
                    initList();
                    return;
                }
            }
            else
            {
                if (V_Data.Rows.Count != Directory.GetDirectories(_packetDir).Length)
                {
                    MessageBox.Show("디렉토리 개수와 목록의 개수가 달라서 목록을 다시 만듭니다.");
                    //File.Delete(orderFile);
                    makeNewOrderIfNotExists();
                    initList();
                    return;
                }
            }
            StreamWriter sw = new StreamWriter(File.OpenWrite(orderFile));

            try
            {
                string root    = Directory.GetCurrentDirectory();
                int    rootLen = root.Length + 1;

                for (int i = 0; i < V_Data.RowCount; i++)
                {
                    String name = V_Data.GetValue(i, (int)Titles.name) as String;
                    String dir  = _packetDir + "\\" + name;

                    if (Directory.Exists(dir) == false)
                    {
                        MessageBox.Show(dir + "라인이 무결성을 통과 못하여 목록을 다시 만듭니다.");
                        sw.Close();
                        File.Delete(orderFile);
                        makeNewOrderIfNotExists();
                        initList();
                        return;
                    }
                    sw.WriteLine(dir.Substring(rootLen));
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
            finally
            {
                sw.Close();
            }
        }
Example #2
0
        void V_Data_E_ContextMenuClicked(object sender, FormAdders.EasyGridViewCollections.EasyGridMenuClickArgs args)
        {
            switch (args.Text)
            {
            case "SetAsStartPoint":
                if (SetAsStartPoint(args.RowIndex) == false)
                {
                    MessageBox.Show("비활성된 라인입니다. 체크를 풀어주세요.");
                }
                break;

            case "Copy This":
            {
                String        name   = V_Data.GetValue(args.RowIndex, (int)Titles.name) as String;
                String        msg    = V_Data.RowRelativeObject(args.RowIndex)["msg"] as String;
                CPacketStruct parser = V_Data.Rows[args.RowIndex].RelativeObject["parser"] as CPacketStruct;
                AddNewItem(parser, name);
                //initList();
            }
            break;

            case "Delete Lines":
                if (V_Data.SelectedRows.Count > 0)
                {
                    List <EasyGridRow> rows = new List <EasyGridRow>(V_Data.SelectedRows);
                    foreach (EasyGridRow row in rows)
                    {
                        DeleteLine(row.Index);
                    }
                    foreach (EasyGridRow row in rows)
                    {
                        V_Data.RemoveARow(row, false);
                    }
                    V_Data.RefreshList();
                    saveNameList();
                }
                break;

            case "Make New Msg":
            {
                InputForm    input  = new InputForm();
                DialogResult result = input.ShowDialog("새 메시지 이름");
                if (result == DialogResult.Cancel || result == DialogResult.Abort)
                {
                    return;
                }
                AddNewItem(null, input.InputText);
            }
            break;
            }
        }
Example #3
0
        void V_Data_E_ContextMenuClicked(object sender, FormAdders.EasyGridViewCollections.EasyGridMenuClickArgs args)
        {
            switch (args.Text)
            {
            case "SetAsStartPoint":
                if (SetAsStartPoint(args.RowIndex) == false)
                {
                    MessageBox.Show("비활성된 라인입니다. 체크를 풀어주세요.");
                }
                break;

            case "Copy This":
                String name = V_Data.GetValue(args.RowIndex, (int)Titles.name) as String;
                String msg  = V_Data.RowRelativeObject(args.RowIndex)["msg"] as String;
                AddNewItem(msg, name, true);
                //initList();
                break;

            case "Delete Lines":
                if (V_Data.SelectedRows.Count > 0)
                {
                    List <EasyGridRow> rows = new List <EasyGridRow>(V_Data.SelectedRows);
                    foreach (EasyGridRow row in rows)
                    {
                        DeleteLine(row.Index);
                    }
                    foreach (EasyGridRow row in rows)
                    {
                        V_Data.RemoveARow(row, false);
                    }
                    V_Data.RefreshList();
                    saveNameList();
                }
                break;
            }
        }
Example #4
0
        void addLines(long startIndex, long numLines)
        {
            String line;
            long   lineIndex = 0;

            try
            {
                _checking = true;
                //long backPoint = 0;
                int backLine = 0;

                while ((line = _fileReader.ReadLine()) != null && _checking)
                {
                    /*
                     * if (_totalLines == 0)
                     * {
                     *  if (_seekPoint[_seekPoint.Count - 1] == _fileReader.BaseStream.Position)
                     *  {
                     *      _seekPoint.Add(_seekPoint[_seekPoint.Count - 1] + Buffer.ByteLength(line.ToCharArray()));
                     *  }
                     *  else
                     *  {
                     *      _seekPoint.Add(_fileReader.BaseStream.Position);
                     *  }
                     * }
                     */

                    if (lineIndex >= startIndex && numLines > 0)
                    {
                        addALine(false, lineIndex, line);


                        if ((--numLines) == 0 && _isInit)  //최초 1회, 끝까지 간다.
                        {
                            //backPoint = _fileReader.BaseStream.Position;
                            backLine = (int)lineIndex;
                        }
                        else if (numLines == 0)
                        {
                            break;
                        }
                    }
                    lineIndex++;
                }

                if (_isInit)//포인터를 되돌려놓기 위함..
                {
                    _isInit     = false;
                    _totalLines = lineIndex - 1;

                    _fileReader.Close();
                    _fileReader = File.OpenText(_fileName);

                    line     = _fileReader.ReadLine();
                    _nowLine = backLine;
                    int lines = _nowLine;
                    while ((line = _fileReader.ReadLine()) != null && --lines > 0)
                    {
                    }

                    L_Total.Text = _totalLines.ToString();

                    Track_From.Maximum     = (int)_totalLines;
                    Track_From.LargeChange = (int)lineIndex / 10;
                    //MessageBox.Show("파일의 일부를 표시합니다.. from:" + T_From.Text + "  to:" + (_nowLine - startIndex).ToString());
                    try
                    {
                        long time0 = getTime(V_Data.GetValue(0, 2).ToString());
                        long time1 = getTime(V_Data.GetValue(1, 2).ToString());
                        T_Diff.Text = (time1 - time0).ToString();
                    }
                    catch { }
                }
                else
                {
                    _nowLine = (int)lineIndex;
                }
                //T_From.Text = _nowLine.ToString();
            }
            catch { }
        }