Example #1
0
        static Form _CreateForm
        (
            string[] commandArgs
        )
        {
            if (commandArgs.Length != 0)
            {
                string   encodingName = commandArgs[0];
                Encoding encoding;

                switch (encodingName)
                {
                case "default":
                case "ansi":
                case "ANSI":
                    encoding = Encoding.Default;
                    break;

                default:
                    if (encodingName.IsPositiveInteger())
                    {
                        int codePage
                                 = NumericUtility.ParseInt32(encodingName);
                        encoding = Encoding.GetEncoding(codePage);
                    }
                    else
                    {
                        encoding = Encoding.GetEncoding(encodingName);
                    }
                    break;
                }

                Console.InputEncoding = encoding;
            }

            string        text   = Console.In.ReadToEnd();
            PlainTextForm result = new PlainTextForm(text)
            {
                Icon = Properties.Resources.Pipe
            };
            ToolStripButton button = new ToolStripButton
                                     (
                "Send to console and close (F2)",
                Properties.Resources.PipeEnd.ToBitmap()
                                     );
            EventHandler handler1 = (sender, args) =>
            {
                string modifiedText = result.Text;
                Console.Out.Write(modifiedText);
                result.Close();
            };

            button.Click += handler1;
            result.Editor.TextBox.KeyDown += (sender, args) =>
            {
                if (args.KeyCode == Keys.F2)
                {
                    handler1(sender, args);
                }
            };
            result.AddButton(button);

            return(result);
        }
Example #2
0
        private async void _reportButton_Click
        (
            object sender,
            EventArgs e
        )
        {
            string place = _placeBox.Text.Trim();

            if (string.IsNullOrEmpty(place))
            {
                WriteLine("Не задано место хранения");

                return;
            }

            ReadRecordCommand.ThrowOnVerify = false;

            _reportButton.Enabled  = false;
            _confirmButton.Enabled = false;

            StringBuilder list = new StringBuilder();

            Task task = Task.Factory.StartNew
                        (
                () =>
            {
                long[] all    = Kladovka.GetAllPodsob(place);
                long[] marked = Kladovka.GetAllMarked(place);
                long[] diff   = all.Except(marked)
                                .OrderBy(x => x)
                                .ToArray();

                Write("Build list (" + diff.Length + "): ");
                int count = 0;
                foreach (long number in diff)
                {
                    count++;
                    if (count % 10 == 1)
                    {
                        Write((count - 1) + " ");
                    }
                    string line = string.Format
                                  (
                        "{0} \tНет описания",
                        number
                                  );
                    int[] mfns = Kladovka.FindRecords
                                 (
                        "\"IN={0}\"",
                        number
                                 );
                    if (mfns.Length == 1)
                    {
                        MarcRecord record
                             = Kladovka.ReadMarcRecord(mfns[0]);
                        line = string.Format
                               (
                            "{0} \t{1}",
                            number,
                            record.Description
                               );
                    }

                    list.AppendLine(line);
                }
            }
                        );

            try
            {
                await task;
            }
            catch (Exception ex)
            {
                ex = ExceptionUtility.Unwrap(ex);
                ExceptionBox.Show(this, ex);
            }

            _reportButton.Enabled  = true;
            _confirmButton.Enabled = true;

            WriteLine(string.Empty);
            WriteDelimiter();

            string text = list.ToString();

            PlainTextForm.ShowDialog(this, text);
        }