Ejemplo n.º 1
0
        private void AddSegment_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(NameSegment.Text))
            {
                MessageBox.Show("Имя не может быть пустым!");
                return;
            }

            if (string.IsNullOrWhiteSpace(TypeSegment.SelectedItem.ToString()))
            {
                MessageBox.Show("Тип Сегмента не может быть пустым");
                return;
            }
            if ((bool)IntoArray.IsChecked)
            {
                if (string.IsNullOrWhiteSpace(ArraySegment.Text))
                {
                    MessageBox.Show("Вы выбрали Функцию IntoArray но ArrayId - Пустой");
                    return;
                }

                PacketArray array = arrays.FirstOrDefault(n => n.ArrayId == ArraySegment.Text);
                if (array == null)
                {
                    array         = new PacketArray();
                    array.ArrayId = ArraySegment.Text;
                    array.parts   = new List <PacketPart>();
                    PacketPart part = ConstructPart();
                    array.parts.Add(part);
                    arrays.Add(array);

                    Segments.Items.Add("Создан Массив [" + array.ArrayId + "] С Сегментом " + part.Name + " (" + part.Type.ToString() + ")");
                }
                else
                {
                    PacketPart mPart = ConstructPart();
                    array.parts.Add(mPart);
                    Segments.Items.Add("Добавлен Сегмент Массива " + mPart.Name + " (" + mPart.Type.ToString() + ") Array: " + mPart.ArrayId);
                }
            }
            else
            {
                PacketPart part = ConstructPart();
                segments.Add(part);
                Segments.Items.Add("Добавлен Сегмент " + part.Name + " (" + part.Type.ToString() + ")");
            }
        }
        private void AddSegment_Click(object sender, RoutedEventArgs e)
        {
            if (string.IsNullOrWhiteSpace(NameSegment.Text))
            {
                MessageBox.Show("The name can not be empty!");
                return;
            }

            if (string.IsNullOrWhiteSpace(TypeSegment.SelectedItem.ToString()))
            {
                MessageBox.Show("Segment type can not be empty");
                return;
            }
            if ((bool)IntoArray.IsChecked)
            {
                if (string.IsNullOrWhiteSpace(ArraySegment.Text))
                {
                    MessageBox.Show("You selected the IntoArray Function but ArrayId is Empty");
                    return;
                }

                PacketArray array = arrays.FirstOrDefault(n => n.ArrayId == ArraySegment.Text);
                if (array == null)
                {
                    array         = new PacketArray();
                    array.ArrayId = ArraySegment.Text;
                    array.parts   = new List <PacketPart>();
                    PacketPart part = ConstructPart();
                    array.parts.Add(part);
                    arrays.Add(array);

                    Segments.Items.Add("Created Array [" + array.ArrayId + "] With Segment " + part.Name + " (" + part.Type.ToString() + ")");
                }
                else
                {
                    PacketPart mPart = ConstructPart();
                    array.parts.Add(mPart);
                    Segments.Items.Add("Array Segment Added " + mPart.Name + " (" + mPart.Type.ToString() + ") Array: " + mPart.ArrayId);
                }
            }
            else
            {
                PacketPart part = ConstructPart();
                segments.Add(part);
                Segments.Items.Add("Segment added " + part.Name + " (" + part.Type.ToString() + ")");
            }
        }
        private PacketPart ConstructPart()
        {
            PacketPart part = new PacketPart();

            if (!string.IsNullOrWhiteSpace(BreakIteration.Text))
            {
                part.BreakItOn = BreakIteration.Text;
            }

            if (!string.IsNullOrWhiteSpace(LengthSegment.Text) && TypeSegment.SelectedItem.ToString().Equals("ByteArray"))
            {
                part.ByteArrayLength = Int32.Parse(LengthSegment.Text);
            }

            if (!string.IsNullOrWhiteSpace(ArraySegment.Text))
            {
                part.ArrayId = ArraySegment.Text;
            }

            part.Name = NameSegment.Text;
            PartType parttype = PartType.None;

            switch (((ComboBoxItem)TypeSegment.SelectedItem).Content.ToString())
            {
            case "Int32":
                parttype = PartType.Int32;
                break;

            case "Int16":
                parttype = PartType.Int16;
                break;

            case "Int64":
                parttype = PartType.Int64;
                break;

            case "Single":
                parttype = PartType.Single;
                break;

            case "Double":
                parttype = PartType.Double;
                break;

            case "FixedString":
                parttype = PartType.FixedString;
                break;

            case "DynamicString":
                parttype = PartType.DynamicString;
                break;

            case "Byte":
                parttype = PartType.Byte;
                break;

            case "Boolean":
                parttype = PartType.Boolean;
                break;

            case "ByteArray":
                parttype = PartType.ByteArray;
                break;

            default:
                MessageBox.Show("Unknown Data Type: " + TypeSegment.SelectedItem.ToString());
                break;
            }


            part.Type = parttype;
            return(part);
        }
Ejemplo n.º 4
0
        private PacketPart ConstructPart()
        {
            PacketPart part = new PacketPart();
            if (!string.IsNullOrWhiteSpace(BreakIteration.Text))
                part.BreakItOn = BreakIteration.Text;

            if (!string.IsNullOrWhiteSpace(LengthSegment.Text) && TypeSegment.SelectedItem.ToString().Equals("ByteArray"))
                part.ByteArrayLength = Int32.Parse(LengthSegment.Text);

            if (!string.IsNullOrWhiteSpace(ArraySegment.Text))
                part.ArrayId = ArraySegment.Text;

            part.Name = NameSegment.Text;
            PartType parttype = PartType.None;
            switch (((ComboBoxItem)TypeSegment.SelectedItem).Content.ToString())
            {
                case "Int32":
                    parttype = PartType.Int32;
                    break;
                case "Int16":
                    parttype = PartType.Int16;
                    break;
                case "Int64":
                    parttype = PartType.Int64;
                    break;
                case "Single":
                    parttype = PartType.Single;
                    break;
                case "Double":
                    parttype = PartType.Double;
                    break;
                case "FixedString":
                    parttype = PartType.FixedString;
                    break;
                case "DynamicString":
                    parttype = PartType.DynamicString;
                    break;
                case "Byte":
                    parttype = PartType.Byte;
                    break;
                case "Boolean":
                    parttype = PartType.Boolean;
                    break;
                case "ByteArray":
                    parttype = PartType.ByteArray;
                    break;
                default:
                    MessageBox.Show("Неизвестный Тип Данных: " + TypeSegment.SelectedItem.ToString());
                    break;
            }

            part.Type = parttype;
            return part;
        }