Пример #1
0
        private void BtnScan_Click(object sender, RoutedEventArgs e)
        {
            this.TxtBlockResult.Clear();
            scaner = new Scaner(this.TxtBoxInput.Text);

            try
            {
                scaner.ScanText();
            }
            catch (ParseErrorException ex)
            {
                MessageBox.Show(ex.Message);
            }

            foreach (Token t in this.scaner.ResultTokens)
            {
                this.TxtBlockResult.Text += t.Value + " - " + t.TokenType.ToString("G");
                this.TxtBlockResult.Text += Environment.NewLine;
            }

            this.TxtBlockResult.Text += "===VARIABLES===" + Environment.NewLine;
            foreach (Variable variable in this.scaner.Variables)
            {
                this.TxtBlockResult.Text += variable.Name;
            }
        }
Пример #2
0
        private void Pcb_OnChangeSampleRackStatus(byte[] indexs, byte eventType)
        {
            Byte index = (byte)(indexs[0] + 1);

            if (index < 5)//6路感应
            {
                if (eventType == 1)
                {
                    scanDevice.OpenSampleScaner(true);

                    var rack = Constants.BJDict[typeof(T_BJ_SampleRack).Name].Where(item => (item as T_BJ_SampleRack).Index == index).First();
                    //CurentSR = rack as T_BJ_SampleRack;
                    //scanDevice.SampleScaner.SampleRack = rack as T_BJ_SampleRack;
                    //scanDevice.SampleScaner.DataReceived += Scaner_DataReceived;
                    op.MoveScaner((byte)(index));
                }
            }
            else
            {
                if (eventType == 1)
                {
                    op.MoveScaner(0m);
                    Scaner.Stop();
                    //Scaner.Close();
                    //scanDevice.SampleScaner.DataReceived -= Scaner_DataReceived;
                }
            }
            Console.WriteLine("6路感应 index:{0} eventType:{1}", index, eventType);
        }
Пример #3
0
        private void Button_Clicked(object sender, EventArgs e)
        {
            run_scaner = true;
            Byte[] leitura = new Byte[2048];
            int[]  tamanho = new int[1];

            Task.Run(async() =>
            {
                //inicia o scaner
                scaner = new Scaner(Android.App.Application.Context);

                while (run_scaner)
                {
                    // inicia o scan por um codigo de barras
                    int result = scaner.ScanSingle(leitura, tamanho);

                    if (result == 0)
                    {
                        //converte o array de bytes para string
                        string s = System.Text.Encoding.UTF8.GetString(leitura, 2, leitura.Length - 2);

                        // necessario para atualizar a thread principal
                        Device.BeginInvokeOnMainThread(() =>
                        {
                            NovaLeitura(s);
                        });
                    }
                    // reduz o processamento
                    Thread.Sleep(1000);
                }
            });
        }
Пример #4
0
        public void scan(List <Policy> policies)
        {
            CommandExecutor.ExecuteCommand("secedit.exe /export /cfg extracted_pol.inf");
            var file = IniFile.Load("extracted_pol.inf");

            Scaner.scan(file, policies);
        }
Пример #5
0
        /// <summary>
        /// The scanning.
        /// </summary>
        /// <returns>
        /// The <see cref="byte[]"/>.
        /// </returns>
        public byte[] Scanning()
        {
            ConnectScanner();

            Scaner.SetParams(_dpi, _brid);
            ImageFile wiaImage = WiaDiag.ShowTransfer(Scaner, EnvFormatId.WiaFormatJpeg, false);

            return(wiaImage != null?wiaImage.FileData.get_BinaryData() : null);
        }
Пример #6
0
 public void Init(Scaner scaner)
 {
     this.scaner      = scaner;
     this.lbName.Text = this.scaner.Name;
     for (int x = 0; x < 2; x++)
     {
         tbCodes[x]      = (TextBox)(this.Controls.Find(string.Format("tbCode{0}", x + 1), true)[0]);
         tbCodes[x].Text = this.scaner.Codes[x];
     }
 }
Пример #7
0
        /// <summary>
        /// 确认在扫描器当前位置是否满足正则匹配
        /// </summary>
        /// <param name="regularExpression">正则表达式</param>
        /// <returns>当前位置是否满足正则匹配</returns>
        public bool IsMatch(Regex regularExpression)
        {
            var match = regularExpression.Match(Scaner.ToString(), Scaner.Offset);

            if (match.Success && match.Index == Scaner.Offset)
            {
                return(true);
            }

            return(false);
        }
Пример #8
0
 public void CloseReaderRack()
 {
     if (!OpenedRack)
     {
         return;
     }
     op.MoveScaner(0m);
     OpenedRack = false;
     //scanDevice.SampleScaner.DataReceived -= Scaner_DataReceived;
     Scaner.Stop();
     op.OnChangeSampleRackStatus -= Pcb_OnChangeSampleRackStatus;
     // this.View.ShowHint(new MessageWin(res));
 }
Пример #9
0
        /// <summary>
        /// 在扫描器当前位置是否为指定的字符,若匹配到指定字符,则推移扫描器指针
        /// </summary>
        /// <param name="ch">指定的字符</param>
        /// <returns>当前位置是否为指定的字符</returns>
        public char?Match(char ch)
        {
            if (Scaner.IsEnd)
            {
                return(null);
            }

            if (Scaner.Current != ch)
            {
                return(null);
            }

            Scaner.MoveNext();
            return(ch);
        }
Пример #10
0
        public IActionResult About(ViewResultsModel model)
        {
            var data    = Scaner.GetDataByUrl(model.Url);
            var builder = new StringBuilder();

            foreach (var item in data)
            {
                builder.Append("======================================================================\n");
                builder.Append(item.Item1);
                builder.Append("\n\n");
                builder.Append(item.Item2);
                builder.Append("\n\n\n");
                builder.Append("======================================================================\n");
            }
            return(Content(builder.ToString()));
        }
Пример #11
0
        public IActionResult Index(ScanFormModel model)
        {
            var urlAndData = Scaner.ScanPage(model.Url, model.Url, model.Depth, 0);
            var builder    = new StringBuilder();

            foreach (var item in urlAndData)
            {
                builder.Append("======================================================================\n");
                builder.Append(item.Item1);
                builder.Append("\n\n");
                builder.Append(item.Item2);
                builder.Append("\n\n\n");
                builder.Append("======================================================================\n");
            }
            return(Content(builder.ToString()));
        }
Пример #12
0
        /// <summary>
        /// 在扫描器当前位置进行正则匹配。
        /// </summary>
        /// <param name="regularExpression">正则表达式</param>
        /// <returns>若匹配成功,返回匹配对象,否则返回null。</returns>
        public Match Match(Regex regularExpression)
        {
            var match = regularExpression.Match(Scaner.ToString(), Scaner.Offset);

            if (match.Success)
            {
                if (match.Index != Scaner.Offset)
                {
                    return(null);
                }

                Scaner.Skip(match.Length);
                return(match);
            }

            else
            {
                return(null);
            }
        }
Пример #13
0
        private void InitializeFixtures()
        {
            for (int i = 0; i <= marsWheels.Length - 1; i++)
            {
                Fixture item = new Fixture();
                this.marsWheels[i] = new Wheel();
                double z = i <= 2 ? -1 : 1;

                item.Lock(marsWheels[i], new Point3d(0, 0, z * -0.5));
                fixturesWheels.Add(item);
            }

            driveWheels[0] = marsWheels[2];
            driveWheels[1] = marsWheels[5];

            for (int i = 0; i <= 5; i++)
            {
                Fixture item = new Fixture();
                fixturesCorpse.Add(item);
            }

            fixturesWheels[0].SetPosition(-5, -5, 3);
            fixturesWheels[1].SetPosition(0, -5, 3);
            fixturesWheels[2].SetPosition(6, -5, 3);

            fixturesWheels[3].SetPosition(-5, -5, -3);
            fixturesWheels[4].SetPosition(0, -5, -3);
            fixturesWheels[5].SetPosition(6, -5, -3);

            fixturesCorpse[0].SetPosition(-5, -3.8, 2.6);
            fixturesCorpse[1].SetPosition(0, -4, 2.6);
            fixturesCorpse[2].SetPosition(6, -3.8, 2.6);
            fixturesCorpse[3].SetPosition(-5, -3.8, -2.6);
            fixturesCorpse[4].SetPosition(0, -4, -2.6);
            fixturesCorpse[5].SetPosition(6, -3.8, -2.6);

            for (int i = 0; i <= 1; i++)
            {
                Fixture mainFixture = new Fixture();
                mainFixture.Size = 2;
                fixturesMain.Add(mainFixture);
            }

            fixturesMain[0].SetPosition(2, -3, 2);
            fixturesMain[1].SetPosition(2, -3, -2);

            Block block = new Block(fixturesCorpse[2], fixturesMain[0]);

            fixturesMain[0].Lock(block);

            block = new Block(fixturesCorpse[5], fixturesMain[1]);
            fixturesMain[1].Lock(block);

            for (int i = 0; i <= 1; i++)
            {
                double  z    = i == 0 ? -1 : 1;
                Fixture item = new Fixture();
                item.Size = 1.5;
                item.SetPosition(-2, -3.6, z * -2.6);
                fixturesCorpse.Add(item);
            }

            block = new Block(fixturesCorpse[6], fixturesMain[0]);
            fixturesMain[0].Lock(block);

            block = new Block(fixturesCorpse[7], fixturesMain[1]);
            fixturesMain[1].Lock(block);

            for (int i = 0; i <= 5; i++)
            {
                block = new Block(marsWheels[i], fixturesCorpse[i]);
                fixturesCorpse[i].Lock(block);
                //fixturesWheels[i].Lock(block);
            }

            for (int i = 0; i <= 1; i++)
            {
                Fixture fixt = fixturesCorpse[i + 6];
                Fixture fcon = fixturesCorpse[i * 3];
                block = new Block(fcon, fixt);
                fixt.Lock(block);

                fcon  = fixturesCorpse[i * 3 + 1];
                block = new Block(fcon, fixt);
                fixt.Lock(block);
            }

            Fixture radarBasement = new Fixture();

            radarBasement.Size = 2;
            radarBasement.SetPosition(-1, -1.5, 0);
            fixturesRadar.Add(radarBasement);

            Fixture r2 = new Fixture();

            r2.SetPosition(-1, 3, 0);
            fixturesRadar.Add(r2);

            mainRadar = new Radar();
            r2.Lock(mainRadar);

            block = new Block(r2, radarBasement);
            radarBasement.Lock(block);

            Fixture cameraBasement = new Fixture();

            cameraBasement.Size = 1.5;
            cameraBasement.SetPosition(6.5, -2, 0);
            fixturesCamera.Add(cameraBasement);

            Fixture c2 = new Fixture();

            c2.SetPosition(8.5, 0, 0);
            fixturesCamera.Add(c2);

            Fixture c3 = new Fixture();

            c3.SetPosition(12.5, -1, 0);
            fixturesCamera.Add(c3);

            block = new Block(c2, cameraBasement);
            cameraBasement.Lock(block);

            block = new Block(c3, c2);
            c2.Lock(obj: block, type: PositionType.Absolute);

            scaner      = new Scaner();
            scaner.Size = 0.75;
            c2.Lock(obj: c3, type: PositionType.Absolute);
            c3.Lock(scaner);

            //cameraBasement.Lock(c2);
            //c2.Turn(new Point3d(0, 1, 0), 90);

            fixtures.AddRange(fixturesCamera);
            fixtures.AddRange(fixturesCorpse);
            fixtures.AddRange(fixturesMain);
            fixtures.AddRange(fixturesRadar);
            fixtures.AddRange(fixturesWheels);
        }
Пример #14
0
 private void CbScanerList_SelectedIndexChanged(object sender, EventArgs e)
 {
     this.scaner = Scaner.ScanerList.First(s => s.Id.ToString() == this.cbScanerList.SelectedItem.ToString().Split(':', ']')[1]);
 }
 // Disable Screen Rotation on that screen
 void Awake()
 {
     Screen.autorotateToPortrait           = false;
     Screen.autorotateToPortraitUpsideDown = false;
     instance = this;
 }
Пример #16
0
        private void button1_Click(object sender, EventArgs e)
        {
            Scaner s = new Scaner();

            WIA.ImageFile img = s.GetCameraImage();
        }
Пример #17
0
        public void Init(Action <string, string> pSetBarCode, Action <double, bool> pSetWeight, Action <double, bool> pSetControlWeight, Action <StatusEquipment> pActionStatus = null)
        {
            var config = Config("appsettings.json");

            State = eStateEquipment.Init;
            try
            {
                //Scaner
                var ElEquipment = ListEquipment.Where(e => e.Type == eTypeEquipment.Scaner).First();
                switch (ElEquipment.Model)
                {
                case eModelEquipment.MagellanScaner:
                    ElEquipment.Equipment = new MagellanScaner(config, null, pSetBarCode);
                    break;

                case eModelEquipment.VirtualScaner:
                    ElEquipment.Equipment = new VirtualScaner(config, null, pSetBarCode);
                    break;

                default:
                    ElEquipment.Equipment = new Scaner(config);
                    break;
                }
                Scaner = (Scaner)ElEquipment.Equipment;

                //Scale
                ElEquipment = ListEquipment.Where(e => e.Type == eTypeEquipment.Scale).First();
                switch (ElEquipment.Model)
                {
                case eModelEquipment.MagellanScale:
                    ElEquipment.Equipment = new MagellanScale(((MagellanScaner)Scaner).Magellan9300, pSetWeight);
                    break;

                case eModelEquipment.VirtualScale:
                    ElEquipment.Equipment = new VirtualScale(config, null, pSetWeight);
                    break;

                default:
                    ElEquipment.Equipment = new Scale(config);
                    break;
                }
                Scale = (Scale)ElEquipment.Equipment;

                //ControlScale
                ElEquipment = ListEquipment.Where(e => e.Type == eTypeEquipment.ControlScale).First();
                if (ElEquipment.Model == eModelEquipment.ScaleModern)
                {
                    ElEquipment.Equipment = new ScaleModern(config, null, pSetControlWeight);
                }
                else
                {
                    ElEquipment.Equipment = new Scale(config);
                };
                ControlScale = (Scale)ElEquipment.Equipment;

                //Flag
                ElEquipment = ListEquipment.Where(e => e.Type == eTypeEquipment.Signal).First();
                if (ElEquipment.Model == eModelEquipment.SignalFlagModern)
                {
                    ElEquipment.Equipment = new SignalFlagModern(config);
                }
                else
                {
                    ElEquipment.Equipment = new SignalFlag(config);
                }
                Signal = (SignalFlag)ElEquipment.Equipment;

                //Bank Pos Terminal
                foreach (var el in GetBankTerminal)
                {
                    ElEquipment = el;

                    switch (ElEquipment.Model)
                    {
                    case eModelEquipment.Ingenico:
                        ElEquipment.Equipment = new IngenicoH(config, null, PosStatus);
                        break;

                    case eModelEquipment.VirtualBankPOS:
                        ElEquipment.Equipment = new VirtualBankPOS(config, null, PosStatus);
                        break;

                    default:
                        ElEquipment.Equipment = new BankTerminal(config);
                        break;
                    }
                    Terminal = (BankTerminal)ElEquipment.Equipment;
                }

                //RRO
                ElEquipment = ListEquipment.Where(e => e.Type == eTypeEquipment.RRO).First();
                switch (ElEquipment.Model)
                {
                case eModelEquipment.ExellioFP:
                    ElEquipment.Equipment = new Equipments.ExellioFP(config, null);
                    break;

                case eModelEquipment.pRRO_SG:
                    ElEquipment.Equipment = new pRRO_SG(config, null, pActionStatus);
                    break;

                case eModelEquipment.pRRo_WebCheck:
                    ElEquipment.Equipment = new pRRO_WebCheck(config, null, pActionStatus);
                    break;

                case eModelEquipment.Maria:
                    ElEquipment.Equipment = new RRO_Maria(config, null, pActionStatus);
                    break;

                case eModelEquipment.VirtualRRO:
                    ElEquipment.Equipment = new VirtualRRO(config, null, pActionStatus);
                    break;

                default:
                    ElEquipment.Equipment = new Rro(config);
                    break;
                }
                RRO = (Rro)ElEquipment.Equipment;

                State = eStateEquipment.Ok;

                foreach (var el in  ListEquipment)
                {
                    el.Equipment.SetState += (pStateEquipment, pModelEquipment) => { SetStatus?.Invoke(new StatusEquipment()
                        {
                            ModelEquipment = pModelEquipment, State = (int)pStateEquipment, TextState = $""
                        }); };
                }
            }
            catch (Exception e)
            {
                FileLogger.WriteLogMessage($"EquipmentFront Exception => Message=>{e.Message}{Environment.NewLine}StackTrace=>{e.StackTrace}", eTypeLog.Error);
                State = eStateEquipment.Error;
            }
        }
Пример #18
0
        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);
            SetContentView(Resource.Layout.codBarras);
            // Create your application here

            run_scaner    = false;
            list_resposta = FindViewById <ListView>(Resource.Id.lvConsulta);

            items   = new List <string>();
            adapter = new ArrayAdapter <string>(this, Android.Resource.Layout.SimpleListItem1, items);
            list_resposta.Adapter = adapter;

            var btnStar = FindViewById <Button>(Resource.Id.btnStar);

            btnStar.Click += delegate
            {
                run_scaner = true;
                Byte[] leitura = new Byte[2048];
                int[]  tamanho = new int[1];

                Task.Run(async() =>
                {
                    //inicia o scaner
                    scaner = new Scaner(this);

                    while (run_scaner)
                    {
                        // inicia o scan por um codigo de barras
                        int result = scaner.ScanSingle(leitura, tamanho);

                        if (result == 0 && run_scaner)
                        {
                            //converte o array de bytes para string
                            string leitura_barcode = System.Text.Encoding.UTF8.GetString(leitura, 2, leitura.Length - 2);

                            // necessario para atualizar a thread principal
                            MainThread.BeginInvokeOnMainThread(() =>
                            {
                                BeepSound();
                                adapter.Insert(leitura_barcode, 0);
                                adapter.NotifyDataSetChanged();
                            });
                        }
                        // reduz o processamento
                        Thread.Sleep(1000);
                    }
                });
            };

            var btnStop = FindViewById <Button>(Resource.Id.btnStop);

            btnStop.Click += delegate
            {
                run_scaner = false;
            };

            var btnLigarLed = FindViewById <Button>(Resource.Id.btnLigarLed);

            btnLigarLed.Click += delegate
            {
                Barcode.LedUtil.SetRedLed();
            };

            var btnDesligarLed = FindViewById <Button>(Resource.Id.btnDesligarLed);

            btnDesligarLed.Click += delegate
            {
                Barcode.LedUtil.SetOffLed();
            };
        }
Пример #19
0
        /// <summary>
        /// 构建一个字符串格式错误的异常,报告解析器在当前位置遇到格式错误
        /// </summary>
        /// <param name="description">在当前位置期望遇到的匹配的描述</param>
        /// <returns>异常信息</returns>
        protected FormatException FormatError(string description)
        {
            string message;

            if (Scaner.IsEnd)
            {
                message = string.Format(CultureInfo.InvariantCulture, "意外遇到字符串结束,在分析字符串 \"{0}\" 时,期望的表达式为{1}。", Scaner.ToString(), description);
            }

            else
            {
                message = string.Format(CultureInfo.InvariantCulture, "意外的字符 '{0}' ,在分析字符串 \"{1}\" 第 {2} 字符处,期望的表达式为 {3} 。", Scaner.Current, Scaner.ToString(), Scaner.Offset, description);
            }

            return(new FormatException(message));
        }