Exemplo n.º 1
0
        private void Do()
        {
            var buff = new List <int> {
                0
            };
            bool found = false;

            while (!found)
            {
                buff[0] += 1;
                for (int i = 0; i < buff.Count; i++)
                {
                    if (buff[i] == Charset.Length)
                    {
                        if (i == buff.Count - 1)
                        {
                            buff[i] = 0;
                            buff.Add(0);
                        }
                        else
                        {
                            buff[i]      = 0;
                            buff[i + 1] += 1;
                        }
                    }
                }
                string p = "";
                foreach (int i in buff)
                {
                    p += Charset[i];
                }
                found = func(p);



                if (!found)
                {
                    OnFalseEvent?.Invoke(p);
                }

                else
                {
                    OnTrueEvent(p);
                }
            }
        }
Exemplo n.º 2
0
        private void DoT()
        {
            var buff = new List <int> {
                0
            };

            while (!_Dot_Found)
            {
                buff[0] += 1;
                for (int i = 0; i < buff.Count; i++)
                {
                    if (buff[i] == Charset.Length)
                    {
                        if (i == buff.Count - 1)
                        {
                            buff[i] = 0;
                            buff.Add(0);
                        }
                        else
                        {
                            buff[i]      = 0;
                            buff[i + 1] += 1;
                        }
                    }
                }
                string p = "";
                foreach (int i in buff)
                {
                    p += Charset[i];
                }


                _Dot_Tcont++;

                if (maxTask != -1)
                {
                    while (_Dot_Tcont > maxTask)
                    {
                    }
                }

                Task.Factory.StartNew(() =>
                {
                    bool f = func(p);

                    if (!_Dot_Found)
                    {
                        if (!f)
                        {
                            OnFalseEvent?.Invoke(p);
                        }
                        else
                        {
                            OnTrueEvent(p);
                            _Dot_Found = f;
                        }
                    }
                    _Dot_Tcont--;
                });
            }
        }