Ejemplo n.º 1
0
        public async Task <ActionResult <Ar> > PostAr(Ar ar)
        {
            _context.Ar.Add(ar);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetAr", new { id = ar.ArID }, ar));
        }
Ejemplo n.º 2
0
        private static void SetDto(List <ArDto> returnValue, Ar ar)
        {
            var dto = new ArDto
            {
                ArID          = ar.ArID,
                ArNumber      = ar.ArNumber,
                CostCenter    = costCenterList.FirstOrDefault(r => r.Key == ar.CostCenter).Value,
                ProjectName   = ar.ProjectName,
                Director      = directorList.FirstOrDefault(r => r.Key == ar.DirectorID).Value,
                ActualPercent = ar.ActualPercent,
                Owner         = ownerList.FirstOrDefault(r => r.Key == ar.OwnerID).Value,
                Amount        = ar.Amount,
                Committed     = ar.Committed,
                EndDate       = ar.EndDate.ToString("MM/dd/yyyy"),
                StartDate     = ar.StartDate.ToString("MM/dd/yyyy"),
                Benefits      = ar.Benefits,
                Risks         = ar.Risks,
                Purpose       = ar.Purpose,
                Comments      = ar.Comments,
                Site          = siteList.FirstOrDefault(r => r.Key == ar.SiteID).Value,
                Status        = statusList.FirstOrDefault(r => r.Key == ar.Status).Value,
                Asset         = assetList.FirstOrDefault(r => r.Key == ar.Asset).Value,
                Type          = typeList.FirstOrDefault(r => r.Key == ar.Type).Value,
                EnteredDate   = ar.EnteredDate.ToString("MM/dd/yyyy")
            };

            returnValue.Add(dto);
        }
Ejemplo n.º 3
0
        public void MakeStep(out int iter, out double residual)
        {
            if (!init)
            {
                throw new InvalidOperationException("Решатель не инициализирован, выполнение операции невозможно");
            }

            currentIter++;
            iter = currentIter;

            if (Factorizer != null)
            {
                coefficient = p.DotProduct(r) / dotproduct_pp;
                if (Double.IsInfinity(coefficient) || Double.IsNaN(coefficient))
                {
                    residual = -1;
                    return;
                }

                x  = x.Add(z, coefficient);
                r  = r.Add(p, -coefficient);
                Ar = Factorizer.LSolve(A.Multiply(Factorizer.USolve(r)));

                coefficient = -p.DotProduct(Ar) / dotproduct_pp;
                if (Double.IsInfinity(coefficient) || Double.IsNaN(coefficient))
                {
                    residual = -1;
                    return;
                }

                z = Factorizer.USolve(r).Add(z, coefficient);
            }
            else
            {
                coefficient = p.DotProduct(r) / dotproduct_pp;
                if (Double.IsInfinity(coefficient) || Double.IsNaN(coefficient))
                {
                    residual = -1;
                    return;
                }

                x  = x.Add(z, coefficient);
                r  = r.Add(p, -coefficient);
                Ar = A.Multiply(r);

                coefficient = -p.DotProduct(Ar) / dotproduct_pp;
                if (Double.IsInfinity(coefficient) || Double.IsNaN(coefficient))
                {
                    residual = -1;
                    return;
                }

                z = r.Add(z, coefficient);
            }

            p             = Ar.Add(p, coefficient);
            dotproduct_pp = p.DotProduct(p);

            residual = r.Norm / norm_b;
        }
Ejemplo n.º 4
0
        //サーバ(OneServer)の生成
        private void AddServer(Conf conf, OnePlugin onePlugin)
        {
            var protocol = (ProtocolKind)conf.Get("protocolKind");
            //ProtocolKind protocol = ProtocolKind.ValueOf((int) conf.Get("protocolKind"));

            BindAddr bindAddr = (BindAddr)conf.Get("bindAddress2");

            if (bindAddr.BindStyle != BindStyle.V4Only)
            {
                var oneBind = new OneBind(bindAddr.IpV6, protocol);
                var o       = onePlugin.CreateServer(kernel, conf, oneBind);
                if (o != null)
                {
                    Ar.Add((OneServer)o);
                }
            }
            if (bindAddr.BindStyle != BindStyle.V6Only)
            {
                var oneBind = new OneBind(bindAddr.IpV4, protocol);
                var o       = onePlugin.CreateServer(kernel, conf, oneBind);
                if (o != null)
                {
                    Ar.Add((OneServer)o);
                }
            }
        }
Ejemplo n.º 5
0
        public async Task <IActionResult> PutAr(int id, Ar ar)
        {
            if (id != ar.Id)
            {
                return(BadRequest());
            }

            // edit here

            try
            {
                await _unitOfWork.Commit();
            }
            catch (DbUpdateConcurrencyException)
            {
                Ar selectedAr = await _unitOfWork.ArRepository.GetById(id);

                if (selectedAr == null)
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 6
0
    // check whether compressed file can be
    // decompressd to original one
    bool check(string fn, string cfn, int bs, int cbs)
    {
        var obits       = read_bits(fn);
        var cbits       = read_bits(cfn);
        var cbits_list  = cbits.ToList();
        var cbits_queue = new Queue <int>(cbits_list);
        var dar         = new Ar(cbits_queue);

        // reset models
        for (var i = 0; i < N; i++)
        {
            m[i] = new Model(i);
        }

        for (var i = 0; i < bs; i++)
        {
            var n   = predict();
            var bit = dar.decode(n[0], n[1]);
            if (bit != obits[i])
            {
                WriteLine($"decompression error at {i}-th bit");
                WriteLine($"{obits[i]} was expected instead of {bit}");
                return(false);
            }
            update(bit);
        }
        return(true);
    }
Ejemplo n.º 7
0
 public ListUser(IEnumerable <OneDat> dat)
 {
     if (dat != null)
     {
         foreach (var o in dat)
         {
             //有効なデータだけを対象にする
             if (o.Enable)
             {
                 try {
                     var ftpAcl   = (FtpAcl)Convert.ToInt32(o.StrList[0]);
                     var homeDir  = o.StrList[1];
                     var userName = o.StrList[2];
                     try {
                         var password = Crypt.Decrypt(o.StrList[3]);
                         Ar.Add(new OneUser(ftpAcl, userName, password, homeDir));
                     } catch (Exception e) {
                         Util.RuntimeException(e.Message);
                     }
                 } catch (Exception e) {
                     Util.RuntimeException(e.Message);
                 }
             }
         }
     }
 }
Ejemplo n.º 8
0
        public async Task <IActionResult> PutAr(int id, Ar ar)
        {
            if (id != ar.ArID)
            {
                return(BadRequest());
            }

            _context.Entry(ar).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ArExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
Ejemplo n.º 9
0
        public async Task <ActionResult <Ar> > PostAr(Ar ar)
        {
            Ar createdAr = await _unitOfWork.ArRepository.Add(ar);

            await _unitOfWork.Commit();

            return(createdAr);
        }
Ejemplo n.º 10
0
    private void CreateVertices()
    {
        int cornerVertices = 8;
        int edgeVertices   = (gridSize + gridSize + gridSize - 3) * 4;
        int faceVertices   = (
            (gridSize - 1) * (gridSize - 1) +
            (gridSize - 1) * (gridSize - 1) +
            (gridSize - 1) * (gridSize - 1)) * 2;

        vertices = new Vector3[cornerVertices + edgeVertices + faceVertices];
        normals  = new Vector3[vertices.Length];
        cubeUV   = new Color32[vertices.Length];

        int v = 0;

        for (int y = 0; y <= gridSize; y++)
        {
            for (int x = 0; x <= gridSize; x++)
            {
                SetVertex(v++, x, y, 0);
            }
            for (int z = 1; z <= gridSize; z++)
            {
                SetVertex(v++, gridSize, y, z);
            }
            for (int x = gridSize - 1; x >= 0; x--)
            {
                SetVertex(v++, x, y, gridSize);
            }
            for (int z = gridSize - 1; z > 0; z--)
            {
                SetVertex(v++, 0, y, z);
            }
        }
        for (int z = 1; z < gridSize; z++)
        {
            for (int x = 1; x < gridSize; x++)
            {
                SetVertex(v++, x, gridSize, z);
            }
        }
        for (int z = 1; z < gridSize; z++)
        {
            for (int x = 1; x < gridSize; x++)
            {
                SetVertex(v++, x, 0, z);
            }
        }

        Vertices = new Ar <Vector3>(G.Engine, vertices);
        Normals  = new Ar <Vector3>(G.Engine, normals);
        CubeUV   = new Ar <Color32>(G.Engine, cubeUV);

        mesh.vertices = Vertices.Read();
        mesh.normals  = Normals.Read();
        mesh.colors32 = CubeUV.Read();
    }
Ejemplo n.º 11
0
    void Start()
    {
        Deform = G.Engine.Op <Ops.Deform>();

        deformingMesh    = GetComponent <MeshFilter>().mesh;
        originalVertices = deformingMesh.vertices;
        {
            var tmp = new Vector3[originalVertices.Length];
            Array.Copy(originalVertices, tmp, originalVertices.Length);
            displacedVertices = new Ar <Vector3>(G.Engine, tmp);
        }
        vertexVelocities = new Ar <Vector3>(G.Engine, new Vector3[originalVertices.Length]);
        uniformScale     = transform.localScale.x;

        G.Engine.Computer(cd, Dep.On(Deform, G.Tick), () =>
        {
            if (Deform.Count <= 0 && isStill(this.vertexVelocities.Read()))
            {
                return;
            }
            var vertexVelocities  = this.vertexVelocities.AsWrite();
            var displacedVertices = this.displacedVertices.Read();
            float dt = G.Tick.Reduced;

            for (int i = 0, n = Deform.Count; i < n; ++i)
            {
                var d = Deform[i];
                AddDeformingForce(d.Point, d.Force, displacedVertices, vertexVelocities, dt);
            }

            for (int i = 0, n = displacedVertices.Length; i < n; i++)
            {
                UpdateVelocity(i, displacedVertices, vertexVelocities, dt);
            }
        });
        G.Engine.Computer(cd, Dep.On(G.Tick), () =>
        {
            if (isStill(this.vertexVelocities.Read()))
            {
                return;
            }
            var vertexVelocities  = this.vertexVelocities.Read();
            var displacedVertices = this.displacedVertices.AsWrite();
            float dt = G.Tick.Reduced;

            for (int i = 0, n = displacedVertices.Length; i < n; i++)
            {
                UpdateVertex(i, displacedVertices, vertexVelocities, dt);
            }
        });

        G.Engine.Reader(cd, Dep.On(G.Tick), () =>
        {
            deformingMesh.vertices = displacedVertices.Read();
            deformingMesh.RecalculateNormals();
        });
    }
Ejemplo n.º 12
0
 //null追加を回避するために、ar.Add()は、このファンクションを使用する
 bool Add(OneTool o)
 {
     if (o == null)
     {
         return(false);
     }
     Ar.Add(o);
     return(true);
 }
Ejemplo n.º 13
0
 //null追加を回避するために、Ar.Add()は、このファンクションを使用する
 private bool Add(OneOption o)
 {
     if (o == null)
     {
         return(false);
     }
     Ar.Add(o);
     return(true);
 }
Ejemplo n.º 14
0
 public Ar Filter(Func<dynamic, bool> method)
 {
     Ar newAr = new Ar();
     for (int i = this.Count - 1; i >= 0; i--)
     {
         if (method(this[i])) newAr.Push(this[i]);
     }
     return newAr;
 }
Ejemplo n.º 15
0
        //文字列による初期化
        public bool FromReg(String str)
        {
            Ar.Clear();
            if (string.IsNullOrEmpty(str))
            {
                return(false);
            }

            //Ver5.7.x以前のiniファイルをVer5.8用に修正する
            var tmp = Util.ConvValStr(str);

            str = tmp;

            // 各行処理
            String[] lines = str.Split('\b');
            if (lines.Length <= 0)
            {
                return(false); //"lines.length <= 0"
            }

            foreach (var l in lines)
            {
                var s = l;
                //OneDatの生成
                OneDat oneDat;
                try{
                    oneDat = new OneDat(true, new String[_colMax], _isSecretList);
                }
                catch (ValidObjException) {
                    return(false);
                }

                if (s.Split('\t').Length != _isSecretList.Length + 1)
                {
                    // +1はenableカラムの分
                    //カラム数の不一致
                    return(false);
                }

                //fromRegによる初期化
                if (oneDat.FromReg(s))
                {
                    Ar.Add(oneDat);
                    continue; // 処理成功
                }
                //処理失敗
                Ar.Clear();
                return(false);
            }
            return(true);
        }
Ejemplo n.º 16
0
            public ListFetchJob(Kernel kernel, MailSave mailSave, String domainName, Logger logger, IEnumerable <OneDat> fetchList, int timeout, int sizeLimit)
            {
                if (fetchList != null)
                {
                    foreach (var o in fetchList)
                    {
                        if (o.Enable)
                        {
                            var interval  = Convert.ToInt32(o.StrList[0]); //受信間隔
                            var host      = o.StrList[1];                  //サーバ
                            var port      = Convert.ToInt32(o.StrList[2]); //ポート
                            var user      = o.StrList[3];                  //ユーザ
                            var pass      = Crypt.Decrypt(o.StrList[4]);   //パスワード
                            var localUser = o.StrList[5];                  //ローカルユーザ


                            //Ver5.2.7 旧バージョン(5.2以前)との互換のため
                            int synchronize;
                            try {
                                synchronize = Convert.ToInt32(o.StrList[6]); //同期
                            } catch {
                                var s = o.StrList[6];
                                if (s == "サーバに残す" || s == "An email of a server does not eliminate it")
                                {
                                    synchronize = 0;
                                }
                                else if (s == "メールボックスと同期する" || s == "Synchronize it with a mailbox")
                                {
                                    synchronize = 1;
                                }
                                else if (s == "サーバから削除する" || s == "An email of a server eliminates it")
                                {
                                    synchronize = 2;
                                }
                                else
                                {
                                    continue; //コンバート失敗したので設定データは無効
                                }
                            }
                            var keepTime = Convert.ToInt32(o.StrList[7]); //サーバに残す時間
                            var oneFetch = new OneFetch(interval, host, port, user, pass, localUser, synchronize, keepTime);
                            if (oneFetch.Ip == null)
                            {
                                logger.Set(LogKind.Error, null, 0, string.Format("host={0}", host));
                            }
                            Ar.Add(new OneFetchJob(kernel, mailSave, domainName, oneFetch, timeout, sizeLimit));
                        }
                    }
                }
            }
Ejemplo n.º 17
0
        public async Task <ActionResult <Ar> > DeleteAr(int id)
        {
            Ar ar = await _unitOfWork.ArRepository.GetById(id);

            if (ar == null)
            {
                return(NotFound());
            }

            _unitOfWork.ArRepository.Remove(ar);
            await _unitOfWork.Commit();

            return(ar);
        }
Ejemplo n.º 18
0
        public async Task <ActionResult <ArDto> > GetAr(int id, bool?arNumber = false)
        {
            await SetLists();

            var ar = new Ar();

            if (arNumber == true)
            {
                ar = await _context.Ar.FirstOrDefaultAsync(a => a.ArNumber == id.ToString());
            }
            else
            {
                ar = await _context.Ar.FirstOrDefaultAsync(a => a.ArID == id);
            }

            if (ar == null)
            {
                return(NotFound());
            }

            var dto = new ArDto
            {
                ArID          = ar.ArID,
                ArNumber      = ar.ArNumber,
                CostCenter    = costCenterList.FirstOrDefault(r => r.Key == ar.CostCenter).Value,
                ProjectName   = ar.ProjectName,
                Director      = directorList.FirstOrDefault(r => r.Key == ar.DirectorID).Value,
                ActualPercent = ar.ActualPercent,
                Owner         = ownerList.FirstOrDefault(r => r.Key == ar.OwnerID).Value,
                Amount        = ar.Amount,
                Committed     = ar.Committed,
                EndDate       = ar.EndDate.ToString("MM/dd/yyyy"),
                StartDate     = ar.StartDate.Date.ToString("MM/dd/yyyy"),
                Benefits      = ar.Benefits,
                Risks         = ar.Risks,
                Purpose       = ar.Purpose,
                Comments      = ar.Comments,
                EnteredDate   = ar.EnteredDate.ToString("MM/dd/yyyy"),
                Site          = siteList.FirstOrDefault(r => r.Key == ar.SiteID).Value,
                Status        = statusList.FirstOrDefault(r => r.Key == ar.Status).Value,
                Asset         = assetList.FirstOrDefault(r => r.Key == ar.Asset).Value,
                Type          = typeList.FirstOrDefault(r => r.Key == ar.Type).Value
            };

            return(dto);
        }
Ejemplo n.º 19
0
        public void Add(OneVal oneVal)
        {
            // 追加オブジェクトの一覧
            var list = oneVal.GetList(null);

            foreach (var o in list)
            {
                if (null != Search(o.Name))
                {
                    Msg.Show(MsgKind.Error, string.Format("ListVal.add({0}) 名前が重複しているため追加できませんでした", o.Name));
                }
            }
            // 重複が無いので追加する
            Ar.Add(oneVal);

            oneVal.OnChange += oneVal_OnChange;
        }
Ejemplo n.º 20
0
        //dir 検索対象となるpluginsフォルダ
        public ListPlugin(String dir)
        {
            //フォルダが存在しない場合、初期化終了
            if (!Directory.Exists(dir))
            {
                return;
            }

            //DLLを検索し、各オプションを生成する
            //Ver5.2.4 関係ない*Server.dll以外は、対象外とする
            var list = Directory.GetFiles(dir, "*Server.dll").ToList();

            list.Sort();
            foreach (var path in list)
            {
                Ar.Add(new OnePlugin(path));
            }
        }
Ejemplo n.º 21
0
 public override string ToString() =>
 $"\nSetId: {Id}\n" +
 $"RankedStatus: {RankedStatus}\n" +
 $"Artist: {Artist}\n" +
 $"Title: {Title}\n" +
 $"Creator: {Creator}\n" +
 $"Tags: [{Tags.Join(", ")}]\n" +
 $"Modes: [{Mode.Select(s => s.ToString()).Join(", ")}]\n" +
 $"DiffNames: [{DiffName.Join(", ")}]\n" +
 $"Cs: [{Cs.Select(s => s.ToString()).Join(", ")}]\n" +
 $"Ar: [{Ar.Select(s => s.ToString()).Join(", ")}]\n" +
 $"Od: [{Od.Select(s => s.ToString()).Join(", ")}]\n" +
 $"Hp: [{Hp.Select(s => s.ToString()).Join(", ")}]\n" +
 $"DifficultyRating: [{DifficultyRating.Select(s => s.ToString(CultureInfo.InvariantCulture)).Join(", ")}]\n" +
 $"Bpm: [{Bpm.Select(s => s.ToString()).Join(", ")}]\n" +
 $"TotalLength: [{TotalLength.Select(s => s.ToString()).Join(", ")}]\n" +
 $"Genre: {Genre}\n" +
 $"Language: {Language}\n" +
 $"DiffName: [{Mode.Select(s => s.ToString()).Join(", ")}]\n" +
 $"ApprovedDate: {ApprovedDate}";
Ejemplo n.º 22
0
        public List <Arista> newPrim(Vertice Origen)
        {
            Grafo P = new Grafo(); //List<Vertice> P = new List<Vertice>();

            P.Add(Origen);
            List <Arista> Cand       = new List <Arista>();
            List <Arista> Prometedor = new List <Arista>();
            Arista        NoDirigido;

            foreach (Vertice V in this)
            {
                foreach (Arista A in V.getListaAristas())
                {
                    Cand.Add(A);
                    NoDirigido = new Arista(A.getCosto(), A.getTiempo(), A.getOrigen(), A.getDestino());
                    Cand.Add(NoDirigido);
                }
            }

            Arista        Ar;
            List <Arista> LA = new List <Arista>();

            do
            {
                Ar = SeleccionPrim(Cand, P);//truena
                Prometedor.Add(Ar);
                Console.WriteLine("Works " + Ar.getOrigen().ToString());
                if (BuscarVertice(Ar.getOrigen()) != -1)
                {
                    Vertice Nuevo = this[this.BuscarVertice(Ar.getDestino())];
                    P.Add(Nuevo);
                }
                else
                {
                    Vertice Nuevo = this[this.BuscarVertice(Ar.getOrigen())];
                    P.Add(Nuevo);
                }
            } while (P.Count <= this.Count - 1);
            return(Prometedor);
        }
Ejemplo n.º 23
0
        void BuildLib(String lib, ICollection <String> objs)
        {
            if (Ar.IsNullOrEmpty())
            {
                Ar = @"D:\Keil\ARM\ARMCC\bin\armar.exe";
            }
            lib.EnsureDirectory(true);

            var sb = new StringBuilder();

            sb.Append("--create -c");
            sb.AppendFormat(" -r \"{0}\"", lib);

            foreach (var item in objs)
            {
                sb.Append(" ");
                sb.Append(item);
                Console.WriteLine(item);
            }

            var rs = Ar.Run(sb.ToString(), 3000, XTrace.WriteLine);
        }
Ejemplo n.º 24
0
        //文字列によるOneDatの追加
        //内部で、OneDatの型がチェックされる
        public bool Add(bool enable, string str)
        {
            if (str == null)
            {
                return(false); //引数にnullが渡されました
            }
            var list = str.Split('\t');

            if (list.Length != _colMax)
            {
                return(false); //カラム数が一致しません
            }
            OneDat oneDat;

            try{
                oneDat = new OneDat(enable, list, _isSecretList);
            }
            catch (ValidObjException) {
                return(false); // 初期化文字列が不正
            }
            Ar.Add(oneDat);
            return(true);
        }
Ejemplo n.º 25
0
    void compress_file(string fn, string cfn)
    {
        var bits = read_bits(fn);
        var bs   = len(bits);

        var ar = new Ar();

        for (var i = 0; i < N; i++)
        {
            m[i] = new Model(i);
        }

        foreach (var bit in bits)
        {
            var n = predict();
            ar.encode(bit, n[0], n[1]);
            update(bit);
        }

        var cbits_queue = ar.flush();

        int[] cbits = cbits_queue.ToArray();
        write_bits(cfn, cbits);

        var cbs = len(cbits);

        WriteLine($"orig size: {format_int(bs / 8)}");
        WriteLine($"comp size: {format_int(len(cbits) / 8)}");
        WriteLine($"ratio: {format_float(cbs * 100.0 / bs)}%");
        var bpc = cbs * 1.0 / (bs / 8);

        WriteLine($"{format_float(bpc)} bpc");

        var ok = check(fn, cfn, bs, cbs);

        WriteLine(ok ? "ok" : "check failed");
    }
Ejemplo n.º 26
0
        //ツールリストの初期化
        public void Initialize(Kernel kernel)
        {
            Ar.Clear();

            //「ステータス表示」の追加
            var nameTag = Path.GetFileNameWithoutExtension(Application.ExecutablePath);

            //Add((OneTool)Util.CreateInstance(kernel,Application.ExecutablePath, "Tool", new object[] { kernel, nameTag }));
            Add(new Tool(kernel, nameTag));


            //OptionListを検索して初期化する
            foreach (var o in kernel.ListOption)
            {
                if (o.UseServer)
                {
                    var oneTool = (OneTool)Util.CreateInstance(kernel, o.Path, "Tool", new object[] { kernel, o.NameTag });
                    if (oneTool != null)
                    {
                        Ar.Add(oneTool);
                    }
                }
            }
        }
Ejemplo n.º 27
0
        /// <summary>编译静态库</summary>
        /// <param name="name"></param>
        public Int32 BuildLib(String name = null)
        {
            if (Objs.Count == 0)
            {
                return(0);
            }

            var ext = Path.GetExtension(name);

            if (!ext.IsNullOrEmpty())
            {
                name = name.TrimEnd(ext);
            }

            name = GetOutputName(name);
            XTrace.WriteLine("链接:{0}", name);

            if (ext.IsNullOrEmpty())
            {
                ext = ".lib";
            }
            var lib = name.EnsureEnd(ext);
            var sb  = new StringBuilder();

            sb.Append(OnBuildLib(lib));

            Console.Write("链接参数:");
            Console.ForegroundColor = ConsoleColor.Magenta;
            Console.WriteLine(sb);
            Console.ResetColor();

            if (Objs.Count < 6)
            {
                Console.Write("使用对象文件:");
            }
            foreach (var item in Objs)
            {
                sb.Append(" ");
                sb.Append(item);
                if (Objs.Count < 6)
                {
                    Console.Write(" {0}", item);
                }
            }
            if (Objs.Count < 6)
            {
                Console.WriteLine();
            }

            LoadLib(sb);

            var rs = Ar.Run(sb.ToString(), 3000, WriteLog);

            XTrace.WriteLine("链接完成 {0} {1}", rs, lib);

            if (name.Contains("\\"))
            {
                name = name.Substring("\\");
            }
            var p = name.LastIndexOf("\\");

            if (p >= 0)
            {
                name = name.Substring(p + 1);
            }
            name = name.Replace("_", " ");
            if (rs == 0)
            {
                "链接静态库{0}完成".F(name).SpeakAsync();
            }
            else
            {
                "链接静态库{0}失败".F(name).SpeakAsync();
            }

            return(rs);
        }
Ejemplo n.º 28
0
 public Ar Map(Func<dynamic, dynamic> method)
 {
     Ar newAr = new Ar();
     foreach (dynamic item in this)
     {
         newAr.Push(method(item));
     }
     return newAr;
 }
Ejemplo n.º 29
0
 public OneMenu Add(OneMenu o)
 {
     Ar.Add(o);
     return(o);
 }
Ejemplo n.º 30
0
 public void Add(string fromFolder, string toFolder)
 {
     Ar.Add(new OneMount(fromFolder, toFolder));
 }
Ejemplo n.º 31
0
 public Ar Map(Func<dynamic, int, dynamic> method)
 {
     Ar newAr = new Ar();
     for (int i = 0; i < this.Count; i++)
     {
         newAr.Push(method(this.Get(i), i));
     }
     return newAr;
 }
Ejemplo n.º 32
0
        // 初期化
        private void Initialize(ListPlugin listPlugin)
        {
            Ar.Clear();

            //Java fix
            if (kernel.RunMode == RunMode.Remote)
            {
                return;
            }

            foreach (OneOption op in kernel.ListOption)
            {
                if (!op.UseServer)
                {
                    //サーバオプション以外は対象外にする
                    continue;
                }

                //プラグイン情報の検索
                OnePlugin onePlugin = listPlugin.Get(op.NameTag);
                //			if (onePlugin == null) {
                //				//設計上の問題
                //				Util.RuntimeException(string.Format("ListServer.initialize() listPlugin.get(%s)==null", op.getNameTag()));
                //			}

                if (op.NameTag.IndexOf("Web-") == 0)
                {
                    //既に同一ポートで仮想サーバがリストされている場合はサーバの生成は行わない
                    bool     find     = false;
                    int      port     = (int)op.GetValue("port");
                    BindAddr bindAddr = (BindAddr)op.GetValue("bindAddress2");
                    foreach (OneServer sv in Ar)
                    {
                        if (sv.NameTag.IndexOf("Web-") == 0)
                        {
                            OneOption o = kernel.ListOption.Get(sv.NameTag);
                            if (o != null)
                            {
                                //同一ポートの設定が既にリストされているかどうか
                                if (port == (int)o.GetValue("port"))
                                {
                                    // バインドアドレスが競合しているかどうか
                                    if (bindAddr.CheckCompetition((BindAddr)o.GetValue("bindAddress2")))
                                    {
                                        find = true;
                                        break;
                                    }
                                }
                            }
                        }
                    }
                    if (!find)
                    {
                        AddServer(new Conf(op), onePlugin); //サーバ(OneServer)生成
                    }
                }
                else
                {
                    AddServer(new Conf(op), onePlugin); //サーバ(OneServer)生成
                }
            }
        }
Ejemplo n.º 33
0
 public OneMenu Insert(int index, OneMenu o)
 {
     Ar.Insert(index, o);
     return(o);
 }
Ejemplo n.º 34
0
 public Ar Slice(int start, int end)
 {
     Ar newAr = new Ar();
     if (start < 0) start = this.Count - start;
     if (end < 0) end = this.Count - end;
     for (int i = start; i < end; i++)
     {
         newAr.Push(this[i]);
     }
     return newAr;
 }
Ejemplo n.º 35
0
 public Ar Splice(int start, int numberOf, params dynamic[] toAdd)
 {
     Ar newAr = new Ar();
     if (start < 0) start = this.Count + start;
     for (int i = start + numberOf - 1; i >= start; i--)
     {
         if (i >= this.Count) continue;
         newAr.Unshift(this[i]);
         this.RemoveAt(i);
     }
     for (int i = toAdd.Length - 1; i >= 0; i--)
     {
         this.Insert(start, toAdd[i]);
     }
     return newAr;
 }