Example #1
0
        // Для установки умолчаний и очистки информации на главной форме
        private void ResetForm()
        {
            this.Text = MFormTitle;
            this.toolStripProgressBar.Value = 0;
            this.StopBtnStat                  = false;
            this.StopBtn.Enabled              = false;
            this.AddressEdit.Enabled          = true;
            this.ScanBtnStat                  = false;
            UpdateLink.Enabled                = true;
            this.ScanBtn.Enabled              = true;
            UpdateLinkStat                    = false;
            UpdateLink.Enabled                = true;
            this.toolStripProgressBar.Visible = false;

            // Обнуляем счетчики
            goods = 0;
            bads  = 0;

            // Автозагрузка данных сканирования в форму поиска
            if (ScanBtnStat == false)
            {
                this.CFileRender = new FileRenderClass(CFilename);
                string[] SearchCache = CFileRender.LoadCahce();
                AddressEdit.Items.Clear();

                if (SearchCache.Length > 0)
                {
                    foreach (string dataCh in SearchCache)
                    {
                        AddressEdit.Items.Add(dataCh);
                    }
                }
            }

            if (ResultBox.Items.Count > 0)
            {
                this.SaveAsToolStripMenuItem.Enabled = true;
            }

            // Если пришел аргумент - выполняем и закрываем программу
            if (ARGS.Length > 1)
            {
                Environment.Exit(0);
            }
        }
Example #2
0
        // Вывод сообщений о статусе обновлений списка серверов
        private void UpdateServerList()
        {
            FileRenderClass FileRender = new FileRenderClass(BLFilename);

            switch (FileRender.UpdateBLS())
            {
            case -1:
                // Прочие ошибки
                break;

            case 1:
                MessageBox.Show("Список серверов был успешно обновлен!", "Внимание");
                break;

            case 2:
                MessageBox.Show("Обновления отсутствуют!", "Внимание");
                break;
            }

            if (InvokeRequired)
            {
                Invoke(InfoReset);
            }
        }
Example #3
0
        private void RunScan(string Address)
        {
            FileRenderClass FileRender = new FileRenderClass(BLFilename);

            this.BLS = FileRender.LoadBLS();    //  Загружаем список серверов

            countServers = this.BLS.Length;
            for (int i = 0; i < countServers; i++)
            {
                VerifyAddressClass IP = new VerifyAddressClass(Address, this.BLS[i].Trim());

                if (IP.isInit != false && IP.IPAddr.Valid && this.StopBtnStat == false)
                {
                    ListViewItem NewIp = new ListViewItem(IP.IPAddr.AsString);

                    // Формируем готовый список проверенных данных
                    string Listed;
                    if (IP.BlackList.IsListed)
                    {
                        Listed          = "Warning";
                        NewIp.ForeColor = Color.Red;
                        NewIp.SubItems.Add(Listed);
                        NewIp.SubItems.Add(IP.BlackList.VerifiedOnServer);
                        this.bads++;
                    }
                    else
                    {
                        Listed          = "OK";
                        NewIp.ForeColor = Color.Green;
                        NewIp.SubItems.Add(Listed);
                        NewIp.SubItems.Add(IP.BlackList.VerifiedOnServer);
                        this.goods++;
                    }

                    FileRenderClass SFileRender = new FileRenderClass(Address + "_" + RFilename);
                    SFileRender.SaveResult(RFileFolder, new string[] {
                        IP.IPAddr.AsString + " - " + Listed + " - " + IP.BlackList.VerifiedOnServer
                    }, true);

                    // Отправляем делегату информацию о результатов сканирования
                    if (InvokeRequired)
                    {
                        Invoke(
                            InfoUpdater,

                            NewIp,
                            countServers * 100,
                            i * 100,

                            "Всего: " + Convert.ToString(this.bads + this.goods),
                            "В черном списке: " + Convert.ToString(this.bads),
                            "Нейтральные: " + Convert.ToString(this.goods)
                            );
                    }

                    Application.DoEvents();
                }
                else
                {
                    break;
                }
            }

            // Маркуем конечные строки
            FileRenderClass RFileRender = new FileRenderClass(Address + "_" + RFilename);

            RFileRender.SaveResult(RFileFolder, new string[] {
                Environment.NewLine,
                bads + "/" + goods + "/" + (goods + bads),
                "DONE!",
            }, true);

            if (InvokeRequired)
            {
                Invoke(InfoReset);
            }
        }