約 5,664,397 件
https://w.atwiki.jp/0x0b/pages/40.html
実行コンテキスト (Execution Contexts) 制御が ECMAScript の実行可能コードに転送される時に、制御は 実行コンテキスト に入る。アクティブな実行コンテキストは論理的にスタックを形成する。この論理的スタック上の実行コンテキストの頂点が、実行される実行コンテキストである。 10.1 定義 (Definitions) 10.1.1 Function オブジェクト (Function Objects) Function オブジェクトには 2 種類ある プログラム関数 は、ソーステキスト内に FunctionDeclaration で定義される。あるいは、 FunctionExpression かコンストラクタとしての組込み Function オブジェクトを使用して動的に生成される。 内部関数 は、 parseInt や Math.exp のような、言語の組込みオブジェクトである。実装は、本仕様に記述されない実装依存の内部関数を提供してもよい。これらの関数は ECMAScript 文法に記述される実行可能コードを含まない。従ってそれらは実行コンテキストのこの議論から除外される。 10.1.2 実行可能コードの種類 (Types of Executable Code) ECMAScript の実行可能コードの種類は 3 つある グローバルコード は ECMAScript の Program として扱われるソーステキストである。個々の Program のグローバルコードは FunctionBody 部分として解析されるソーステキストを含まない。 eval コード は組込み eval 関数に提供されるソーステキストである。より正確には、組込み eval 関数のパラメータが文字列なら、それは ECMAScript の Program として扱われる。個々の eval 呼び出しのための eval コードは、文字列パラメータのグローバルコード部分である。 関数コード は FunctionBody 部分として解析されるソーステキストである。個々の FunctionBody の関数コードは、ネストされた FunctionBody 部分として解析されるソーステキストを含まない。関数コードはまた、コンストラクタとして組込み Function オブジェクトを使用する際提供されるソーステキストもあらわす。より正確には、 Function コンストラクタに提供される最後のパラメータは文字列に変換され FunctionBody として扱われる。 Function コンストラクタにひとつ以上のパラメータが供給されれば、最後の一つを除いた残りのパラメータすべてが文字列に変換され、カンマを区切りに連結される。その結果の文字列は最後のパラメータで定義される FunctionBody のための FormalParameterList として解釈される。 Function の個々のインスタンス化のための関数コードはネストされた FunctionBody 部分として解析されるソーステキストを含まない。 10.1.3 変数の実体化 (Variable Instantiation) 各実行コンテキストは 変数オブジェクト (variable object) に結び付けられている。ソーステキスト内に宣言された変数と関数は変数オブジェクトのプロパティに追加される。関数コードについては、パラメータが変数オブジェクトのプロパティに追加される。 どのオブジェクトが変数オブジェクトに使われるか、どの属性がプロパティに使われるかは、コードの型に依存する。しかし、後の振る舞いは総括的である。実行コンテキストに入ると、プロパティは次の順に変数オブジェクトに結び付けられる 関数コードでは FormalParameterList で定義された仮引数ごとに、変数オブジェクトにプロパティを生成する。その名前は Identifier で、属性はコード型によって決定する。パラメータ値は呼出側によって Call の引数として供給される。呼出側が仮引数より少ないパラメータ値を供給するならば、余分な仮引数は値 undefined を持つ。 2 つ以上の仮引数が同じ名前のために同じプロパティを共有する場合、該当するプロパティは、後出のパラメータに供給された値を与えられる。この後出のパラメータ値が呼出側から供給されない場合、該当するプロパティの値は undefined である。 ソーステキスト順で、コード中の各 FunctionDeclaration 毎に、変数オブジェクトにプロパティを生成する。その名前は FunctionDeclaration の Identifier で、値にはセクション 13 に記述される Function オブジェクトの生成で返される結果が設定され、属性はコードの型によって決定する。変数オブジェクトが既にこの名前のプロパティを持っている場合、その値と属性を置換する。意味論的に、このステップは FormalParameterList プロパティの生成に続かなければならない。 コード中の各 VariableDeclaration あるいは VariableDeclarationNoIn 毎に、変数オブジェクトにプロパティを生成する。その名前は VariableDeclaration または VariableDeclarationNoIn 中の Identifier で、値は undefined 、属性はコードの型により決定する。変数オブジェクトが既にこの名前のプロパティを持っている場合、プロパティの値と属性は変更されない。意味論的に、このステップは FormalParameterList と FunctionDeclaration のプロパティ生成に続かなければならない。宣言される変数が、宣言された関数や仮引数と同じ名前を持っている場合、変数宣言は特に既存のプロパティを妨害しない。 10.1.4 スコープ連鎖と識別子の解決 (Scope Chain and Identifier Resolution) 各実行コンテキストは スコープ連鎖 (scope chain) に関連付けられている。スコープ連鎖はオブジェクトのリストで、Identifier の評価の際に検索される。制御が実行コンテキストに入るとき、コード型毎にオブジェクト集合の初期値を伴うスコープ連鎖が生成され、組み込まれる。実行コンテキスト内における実行の間、実行コンテキストのスコープ連鎖は with 文(12.10) と catch クローズ(12.14) によってのみ影響を及ぼされる。 実行中、構文的生成規則 PrimaryExpression Identifier は次のアルゴリズムで評価される スコープ連鎖内で次のオブジェクトを取得する。一つもなければ、ステップ 5ヘ。 Result(1) の HasProperty メソッドを呼び、プロパティとして Identifier を渡す。 Result(2) が true ならば、基準オブジェクトが Result(1) でプロパティ名が Identifier である Reference 型の値を返す。 ステップ 1 へ。 基準オブジェクトが null でプロパティ名が Identifier である Reference 型の値を返す。 識別子評価の結果は常に、識別子文字列と等しいメンバ名成分を持つ Reference 型の値である。 10.1.5 Global オブジェクト (Global Object) 制御が任意の実行コンテキストに入る前に生成される、一意的な グローバルオブジェクト (セクション15.1) が存在する。最初はグローバルオブジェクトは次のプロパティを持つ Math, String, Date, parseInt 等のような組込みオブジェクト。これらは属性 { DontEnum } を持つ。 ホストの定義する追加プロパティ。これはグローバルオブジェクト自身を値とするプロパティを含めてよい; たとえば、HTML 文書オブジェクトモデルにおけるグローバルオブジェクトの window プロパティは、グローバルオブジェクトそれ自身である。 制御が実行コンテキストに入り、ECMAScript コードが実行されれば、グローバルオブジェクトに追加プロパティを追加しても、初期のプロパティを変更してもよい。 10.1.6 Activation オブジェクト (Activation Object) 関数コードによって制御が実行コンテキストに入るとき、 Activation オブジェクトと呼ばれるオブジェクトが生成され実行コンテキストに結び付けられる。 Activation オブジェクトは属性 { DontDelete } のプロパティ arguments で初期化される。このプロパティの初期値は下に述べる arguments オブジェクトである。 Activation オブジェクトは変数の実体化を目的とした変数オブジェクトとして使用される。 Activation オブジェクトは純粋に仕様のメカニズムである。 Activation オブジェクトへのアクセスは ECMAScript プログラムには不可能である。 Activation オブジェクトのメンバへのアクセスは可能だが、 Activation オブジェクト自身へのアクセスはできない。基準オブジェクトが Activation オブジェクトである Reference 値に呼出操作が適用されるとき、その呼出の this 値として null が使われる。 10.1.7 this アクティブな実行コンテキストそれぞれに結び付けられる this 値がある。this 値は呼出側と実行されるコード型に依存し、制御が実行コンテキストに入るときに決定される。実行コンテキストに結び付けられる this 値は不変である。 10.1.8 arguments オブジェクト (Arguments Object) 関数コードによって制御が実行コンテキストに入るとき、 arguments オブジェクトが作成され次のように初期化される argument オブジェクトの内部 Prototype プロパティの値は、オリジナルの Object prototype オブジェクトで、 Object.prototype (セクション15.2.3.1) の初期値である。 属性 { DontEnum } のプロパティ callee を作成する。このプロパティの初期値は実行されている Function オブジェクトである。これは再帰する匿名ファンクションを許す。 属性 { DontEnum } のプロパティ length を作成する。このプロパティの初期値は呼出側から供給された実際のパラメータの数である。 0 以上 length プロパティの値未満の整数 arg それぞれについて、属性 { DontEnum } のプロパティ ToString(arg) が作成される。このプロパティの初期値は対応するパラメータの呼出側に供給される実際の値である。最初の実際のパラメータ値が arg = 0、2 番目は arg = 1, 以下同様である。arg が Function オブジェクトの仮引数の数より小さい場合、このプロパティは Activation オブジェクトの対応するプロパティとその値を共有する。このことは、このプロパティの変更が Activation オブジェクトの対応するプロパティを変更すること、そしてその逆を意味する。 10.2 実行コンテキストの開始 (Entering An Execution Context) 各関数とコンストラクタの呼出は、新しい実行コンテキストを開始する。関数がそれ自身の再帰的呼出であっても、各リターンは実行コンテキストを終了する。投げられた例外が受け取られない場合は、一つ以上の実行コンテキストを終了してよい。 制御が実行コンテキストを開始するとき、スコープ連鎖が生成・初期化され、変数の実体化が行われ、this 値が決定される。 スコープ連鎖の実体化、変数の実体化、this 値の決定は、開始するコード型に依存する。 10.2.1 グローバルコード (Global Code) スコープ連鎖が作成され、グローバルオブジェクトのみの構成で初期化される。 変数の実体化が行われ、変数オブジェクトにグローバルオブジェクト、プロパティ属性 { DontDelete } が用いられる。 this 値はグローバルオブジェクトである。 10.2.2 Eval コード (Eval Code) 制御が eval コードの実行コンテキストを開始するとき、前のアクティブな実行コンテキストは、 呼出コンテキスト として参照され、スコープ連鎖、変数オブジェクト、 this 値の決定に使用される。呼出コンテキストがなければ、スコープ連鎖、変数の実体化、this 値の決定の初期化は、グローバルコードとして行われる。 スコープ連鎖が初期化され、呼出コンテキストのスコープ連鎖と同じオブジェクト、同じ順序になるように構成される。これは with 宣言および catch クローズによって呼出コンテキストのスコープ連鎖に追加されるオブジェクトを含む。 変数の実体化が行われ、呼出コンテキストの変数オブジェクト、プロパティ属性 { } が用られる。 this 値は呼出コンテキストの this 値と同じである。 10.2.3 関数コード (Function Code) スコープ連鎖が初期化され、 Activation オブジェクトに Function オブジェクトの Scope プロパティに蓄積されたスコープ連鎖内のオブジェクトが続くように構成される。 変数の実体化が行われ、変数オブジェクトに Activation オブジェクト、プロパティ属性 { DontDelete } が用いられる。 this 値は呼出側が提供する。呼出側が提供する this 値がオブジェクトでない場合(null である場合を含む)、 this 値はグローバルオブジェクトとする。 式 (Expressions) 11.1 基本式 (Primary Expressions) Syntax PrimaryExpression this Identifier Literal ArrayLiteral ObjectLiteral ( Expression ) 11.1.1 this キーワード (this Keyword) this キーワードは実行コンテキストの this 値を評価する。 11.1.2 識別子参照 (Identifier Reference) 識別子は、セクション 10.1.4 で述べたスコープ規則を使用して評価される。この識別子評価の結果は常に Reference 型の値である。 11.1.3 リテラル参照 (Literal Reference) リテラルはセクション 7.8 に述べるように評価される。 11.1.4 Array 初期化子 (Array Initialiser) Array 初期化子は、 Array オブジェクトの初期化を記述する式で、リテラル形式で書かれる。それは配列要素をあらわす 0 個以上の式のリストで、それぞれ角括弧 "[ ]" で囲まれる。要素はリテラルである必要はない; それらは Array 初期化子が評価される度に評価される。 配列要素は要素リストの開始、中間、末尾で省略もできる。要素リスト中で AssignmentExpression の先行しないカンマは、欠けた配列要素が Array の長さに寄与し、続く要素のインデックスを増加させる。省略された配列要素は定義されない。 Syntax ArrayLiteral [ Elisionopt ] [ ElementList ] [ ElementList , Elisionopt ] ElementList Elisionopt AssignmentExpression ElementList , Elisionopt AssignmentExpression Elision , Elision , Semantics 生成規則 ArrayLiteral [ Elisionopt ] は、次のように評価される 式 new Array() と同様に、新規に配列を生成する。 Elision を評価; 存在しなければ、数値 0 を用いる。 Result(1) の Put メソッドを、引数 "length" と Result(2) で呼出す。 Result(1) を返す。 生成規則 ArrayLiteral [ ElementList ] は、次のように評価される ElementList を評価。 Result(1) を返す。 生成規則 ArrayLiteral [ ElementList , Elisionopt ] は、次のように評価される ElementList を評価。 Elision を評価; 存在しなければ、数値 0 を用いる。 Result(1) の Get メソッドを、引数 "length" で呼出す。 Result(1) の Put メソッドを、引数 "length" と (Result(2)+Result(3)) で呼出す。 Result(1) を返す。 生成規則 ElementList Elisionopt AssignmentExpression は、次のように評価される 式 new Array() と同様に、新規に配列を生成する。 Elision を評価; 存在しなければ、数値 0 を用いる。 AssignmentExpression を評価。 GetValue(Result(3)) を呼出す。 Result(1) の Put メソッドを、引数 Result(2) と Result(4) で呼出す。 Result(1) を返す。 生成規則 ElementList ElementList , Elisionopt AssignmentExpression は、次のように評価される ElementList を評価。 Elision を評価; 存在しなければ、数値 0 を用いる。 AssignmentExpression を評価。 GetValue(Result(3)) を呼出す。 Result(1) の Get メソッドを、引数 "length" で呼出す。 Result(1) の Put メソッドを、引数 (Result(2)+Result(5)) と Result(4) で呼出す。 Result(1) を返す。 生成規則 Elision , は、次のように評価される 数値 1 を返す。 生成規則 Elision Elision , は、次のように評価される Elision を評価。 (Result(1)+1) を返す。 11.1.5 オブジェクト初期化子 (Object Initialiser) オブジェクト初期化子は Object の初期化を記述する式であり、リテラルのような形式で書かれる。プロパティ名とその値の 0 個以上の組のリストを { } で囲む。値はリテラルである必要はない; オブジェクト初期化子が評価される度に、それは評価される。 Syntax ObjectLiteral { } { PropertyNameAndValueList } PropertyNameAndValueList PropertyName AssignmentExpression PropertyNameAndValueList , PropertyName AssignmentExpression PropertyName Identifier StringLiteral NumericLiteral Semantics 生成規則 ObjectLiteral { } は、次のように評価される 式 new Object() と同様に新規にオブジェクトを生成する。 Result(1) を返す。 生成規則 ObjectLiteral { PropertyNameAndValueList } は、次のように評価される PropertyNameAndValueList を評価。 Result(1) を返す; 生成規則 PropertyNameAndValueList PropertyName AssignmentExpression は、次のように評価される 式 new Object() と同様に新規にオブジェクトを生成する。 PropertyName を評価。 AssignmentExpression を評価。 GetValue(Result(3)) を呼出す。 Result(1) の Put メソッドを、引数 Result(2) と Result(4) で呼出す。 Result(1) を返す。 生成規則 PropertyNameAndValueList PropertyNameAndValueList , PropertyName AssignmentExpression は、次のように評価される PropertyNameAndValueList を評価。 PropertyName を評価。 AssignmentExpression を評価。 GetValue(Result(3)) を呼出す。 Result(1) の Put メソッドを、引数 Result(2) と Result(4) で呼出す。 Result(1) を返す。 生成規則 PropertyName Identifier は、次のように評価される Identifier と同じ文字シーケンスで構成される文字列リテラルを形成する。 Result(1) を返す。 生成規則 PropertyName StringLiteral は、次のように評価される StringLiteral の値を返す。 生成規則 PropertyName NumericLiteral は、次のように評価される NumericLiteral の値を形成する。 ToString(Result(1)) を返す。 11.1.6 グループ化演算子 (The Grouping Operator) 生成規則 PrimaryExpression ( Expression ) は、次のように評価される Expression を評価。これは Reference 型でもよい。 Result(1) を返す。 NOTE このアルゴリズムは、 Result(1) に GetValue を適用しない。 delete や typeof のような演算子に括弧のついた式を適用できるようにすることがこれについての主な動機である。 11.2 左辺式 (Left-Hand-Side Expressions) Syntax MemberExpression PrimaryExpression FunctionExpression MemberExpression [ Expression ] MemberExpression . Identifier new MemberExpression Arguments NewExpression MemberExpression new NewExpression CallExpression MemberExpression Arguments CallExpression Arguments CallExpression [ Expression ] CallExpression . Identifier Arguments ( ) ( ArgumentList ) ArgumentList AssignmentExpression ArgumentList , AssignmentExpression LeftHandSideExpression NewExpression CallExpression 11.2.1 プロパティアクセス演算子 (Property Accessors) ドット記法を用いて、プロパティは名前によりアクセスされる MemberExpression . Identifier CallExpression . Identifier または括弧記法で MemberExpression [ Expression ] CallExpression [ Expression ] ドット記法は次の構文的変換で説明される MemberExpression . Identifier の振る舞いは次と同等である。 MemberExpression [ identifier-string ] 同様に CallExpression . Identifier の振る舞いは次と同等である。 CallExpression [ identifier-string ] identifier-string のところは Identifier として同じ文字シーケンスを構成する文字列リテラルである。 生成規則 MemberExpression MemberExpression [ Expression ] は次のように評価される MemberExpression を評価。 GetValue(Result(1)) を呼出す。 Expression を評価。 GetValue(Result(3)) を呼出す。 ToObject(Result(2)) を呼出す。 ToString(Result(4)) を呼出す。 基準オブジェクトが Result(5) でプロパティ名が Result(6) である Reference 型の値を返す。 生成規則 CallExpression CallExpression [ Expression ] は全く同じ方法で評価されるが、ステップ 1 では CallExpression が評価される。 11.2.2 new 演算子 (The new Operator) 生成規則 NewExpression new NewExpression は、次のように評価される NewExpression を評価する。 GetValue(Result(1)) を呼出す。 Type(Result(2)) が Object でなければ、例外 TypeError を投げる。 Result(2) が内部 Construct メソッドを実装しなければ、例外 TypeError を投げる。 引数なしで Result(2) の Construct メソッドを呼出す。(引数値に空リストを提供する。) Result(5) を返す。 生成規則 MemberExpression new MemberExpression Arguments は、次のように評価される MenberExpression を評価する。 GetValue(Result(1)) を呼出す。 内部に引数値リストを持つ Arguments を評価する。 Type(Result(2)) が Object でなければ、例外 TypeError を投げる。 Result(2) が内部 Construct メソッドを実装しなければ、例外 TypeError を投げる。 Result(2) の Construct メソッドを呼び、引数値にリスト Result(3) を提供する。 Result(6) を返す。 11.2.3 関数呼出し (Function Calls) 生成規則 CallExpression MemberExpression Arguments は、次のように評価される MemberExpression を評価。 Arguments を評価し、引数値の内部 List を生成する。(セクション 11.2.4)。 GetValue(Result(1)) を呼出す。 Type(Result(3)) が Object でなければ、例外 TypeError を投げる。 Result(3) が内部 Call メソッドを実装しなければ、例外 TypeError を投げる。 Type(Result(1)) が Reference ならば、 Result(6) は GetBase(Result(1)) 。そうでなければ、 Result(6) は null 。 Result(6) が Activation オブジェクトならば、 Result(7) は null 。そうでなければ、 Result(7) は Result(6) と同じ。 Result(3) の Call メソッドを呼び、this 値に Result(7) 、引数値にリスト Result(2) を渡す。 Result(8) を返す。 生成規則 CallExpression CallExpression Arguments は全く同様に評価されるが、ステップ 1 では CallExpression が評価される。 NOTE Result(3) が Native ECMAScript オブジェクトならば、 Result(8) はけして Reference 型にはならない。 Host オブジェクト呼び出しが Reference 型の値を返すかどうかは、実装依存である。 11.2.4 引数リスト (Argument Lists) 引数リストの評価は値による内部的リスト (セクション 8.8) を生成する。 生成規則 Arguments ( ) は、次のように評価される 値による空の内部的リストを返す。 生成規則 Arguments ( ArgumentList ) は、次のように評価される ArgumentList を評価。 Result(1) を返す。 生成規則 ArgumentList AssignmentExpression は、次のように評価される AssignmentExpression を評価。 GetValue(Result(1)) を呼出す。 唯一の項目が Result(2) である内部的リストを返す。 生成規則 ArgumentList ArgumentList , AssignmentExpression は、次のように評価される ArgumentList を評価。 AssignmentExpression を評価。 GetValue(Result(2)) を呼出す。 Result(1) より 1 大きい長さ、Result(1) の項目の末尾に Result(3) を続けた項目を持つ、新しい内部的リストを返す。 11.2.5 関数式 (Function Expressions) 生成規則 MemberExpression FunctionExpression は、次のように評価される FunctionExpression を評価。 Result(1) を返す。 11.3 後置式 (Postfix Expressions) Syntax PostfixExpression LeftHandSideExpression LeftHandSideExpression [LineTerminator 無し] ++ LeftHandSideExpression [LineTerminator 無し] -- 11.3.1 後置増分演算子 (Postfix Increment Operator) 生成規則 PostfixExpression LeftHandSideExpression [no LineTerminator here] ++ は、次のように評価される LeftHandSideExpression を評価。 GetValue(Result(1)) を呼出す。 ToNumber(Result(2)) を呼出す。 演算子と同じ規則で (セクション 11.6.3)、Result(3) に値 1 を加える。 PutValue(Result(1), Result(4)) を呼出す。 Result(3) を返す。 11.3.2 後置減分演算子 (Postfix Decrement Operator) 生成規則 PostfixExpression LeftHandSideExpression [no LineTerminator here] -- は、次のように評価される LeftHandSideExpression を評価。 GetValue(Result(1)) を呼出す。 ToNumber(Result(2)) を呼出す。 演算子と同じ規則 (セクション 11.6.3) で、 Result(3) から値 1 を引く。 PutValue(Result(1), Result(4)) を呼出す。 Result(3) を返す。 11.4 単項演算子 (Unary Operators) Syntax UnaryExpression PostfixExpression delete UnaryExpression void UnaryExpression typeof UnaryExpression UnaryExpression UnaryExpression UnaryExpression UnaryExpression ~ UnaryExpression ! UnaryExpression 11.4.1 delete 演算子 (The delete Operator) 生成規則 UnaryExpression delete UnaryExpression は、次のように評価される UnaryExpression を評価。 Type(Result(1)) が Reference でなければ、 true を返す。 GetBase(Result(1)) を呼出す。 GetPropertyName(Result(1)) を呼出す。 Result(3) の Delete メソッドを呼び、削除するプロパティ名として Result(4) を渡す。 Result(5) を返す。 11.4.2 void 演算子 (The void Operator) 生成規則 UnaryExpression void UnaryExpression は、次のように評価される UnaryExpression を評価。 GetValue(Result(1)) を呼出す。 undefined を返す。 11.4.3 typeof 演算子 (The typeof Operator) 生成規則 UnaryExpression typeof UnaryExpression は、次のように評価される UnaryExpression を評価。 Type(Result(1)) が Reference でなければ、 ステップ 4 へ。 GetBase(Result(1)) が null ならば、 "undefined" を返す。 GetValue(Result(1)) を呼出す。 次の表にしたがって、 Type(Result(4)) から決定される文字列を返す TypeResult Undefined"undefined" Null"object" Boolean"boolean" Number"number" String"string" Object (native and doesn t implement Call)"object" Object (native and implements Call)"function" Object (host)Implementation-dependent 11.4.4 前置増分演算子 (Prefix Increment Operator) 生成規則 UnaryExpression ++ UnaryExpression は、次のように評価される UnaryExpression を評価。 GetValue(Result(1)) を呼出す。 ToNumber(Result(2)) を呼出す。 演算子と同じ規則 (セクション 11.6.3) で、 Result(3) に値 1 を加える。 PutValue(Result(1), Result(4)) を呼出す。 Result(4) を返す。 11.4.5 前置減分演算子 (Prefix Decrement Operator) 生成規則 UnaryExpression -- UnaryExpression は、次のように評価される UnaryExpression を評価。 GetValue(Result(1)) を呼出す。 ToNumber(Result(2)) を呼出す。 演算子と同じ規則 (セクション 11.6.3) で、 Result(3) から値 1 を引く。 PutValue(Result(1), Result(4)) を呼出す。 Result(4) を返す。 11.4.6 単項 + 演算子 (Unary + Operator) 単項 + 演算子は項を Number 型に変換する。 生成規則 UnaryExpression + UnaryExpression は、次のように評価される UnaryExpression を評価。 GetValue(Result(1)) を呼出す。 ToNumber(Result(2)) を呼出す。 Result(3) を返す。 11.4.7 単項 - 演算子 (Unary - Operator) 単項 - 演算子は項を Number 型に変換し、反転する。 +0 の否定は -0、 -0 の否定は +0 を生成することに注意。 生成規則 UnaryExpression - UnaryExpression は、次のように評価される UnaryExpression を評価。 GetValue(Result(1)) を呼出す。 ToNumber(Result(2)) を呼出す。 Result(3) が NaN ならば、 NaN を返す。 Result(3) の否定; つまり、同じ大きさで符号が逆の数を算出する。 Result(5) を返す。 11.4.8 ビット否定演算子 (Bitwise NOT Operator) ( ~ ) 生成規則 UnaryExpression ~ UnaryExpression は、次のように評価される UnaryExpression を評価。 GetValue(Result(1)) を呼出す。 ToInt32(Result(2)) を呼出す。 Result(3) にビット補数を適用する。結果は符号付き 32 ビット整数である。 Result(4) を返す。 11.4.9 論理否定演算子 (Logical NOT Operator) ( ! ) 生成規則 UnaryExpression ! UnaryExpression は、次のように評価される UnaryExpression を評価。 GetValue(Result(1)) を呼出す。 ToBoolean(Result(2)) を呼出す。 Result(3) が true ならば、 false を返す。 true を返す。 11.5 剰除演算子 (Multiplicative Operators) Syntax MultiplicativeExpression UnaryExpression MultiplicativeExpression * UnaryExpression MultiplicativeExpression / UnaryExpression MultiplicativeExpression % UnaryExpression Semantics @ を上に定義される演算子の一つとして、生成規則 MultiplicativeExpression MultiplicativeExpression @ UnaryExpression は、次のように評価される MultiplicativeExpression を評価。 GetValue(Result(1)) を呼出す。 UnaryExpression を評価。 GetValue(Result(3)) を呼出す。 ToNumber(Result(2)) を呼出す。 ToNumber(Result(4)) を呼出す。 Result(5) と Result(6) に、指定された演算 (*, /, %) を適用する。下記のノート (セクション 11.5.1, 11.5.2, 11.5.3) を参照。 Result(7) を返す。 11.5.1 * 演算子の適用 (Applying the * Operator) 演算子は乗算を行い、項の積を生成する。乗算は可換的である。有限数精度? ( finite precision ) のため、 ECMAScript において、乗算は常に結合的なわけではない。 浮動小数点数乗算の結果は、 IEEE 754 倍精度計算規則により決定される どちらかの項が NaN ならば、結果は NaN である。 結果の符号は、両方の項が同じ符号を持つならば正符号であり、異なる符号を持つならば負符号である。 0 による無限大の乗算の結果は、 NaN になる。 無限大による無限大の乗算の結果は、 infinity である。符号は 上にあげた規則で決定する。 0 以外の有限数による無限大の乗算の結果は、符号付き無限大である。符合は上にあけた規則で決定する。 無限大でも 0 でも NaN でもない残りのケースでは、積が算出され、 IEEE 754 直近への丸めモードを使用して、直近の表現可能な値へ丸められる。大きさが表せないほど大きいならば、演算はオーバーフローし、結果は適切な符合の無限大となる。大きさが表せないほど小さいらば、演算はアンダーフローし結果は適切な符合の 0 となる。 ECMAScript 言語は、 IEEE 754 に定義される段階的アンダーフロー (gradual underflow) のサポートを必須とする。 11.5.2 / 演算子の適用 (Applying the / Operator) / 演算子は乗算を行い、項の商を生成する。左項が被除数で右項が除数である。 ECMAScript は整数除算を行わない。項と除算演算結果の全ては倍精度浮動小数点数である。乗算の結果は、 IEEE 754 算術規定により決定される どちらかの項が NaN ならば、結果は NaN である。 結果の符号は、両方の項が同じ符号を持つならば正符号であり、異なる符号を持つならば負符号である。 無限大の無限大による除算の結果は、 NaN である。 無限大の 0 による除算の結果は、無限大になる。符号は 上にあげた規則で決定する。 無限大の 0 以外の有限数による除算の結果は、符号付き無限大である。符合は上にあけた規則で決定する。 有限数の無限大による除算の結果は、 0 である。符合は上にあけた規則で決定する。 0 の 0 による除算の結果は、 NaN である; 0 の任意の他の有限数による除算の結果は 0 である。符合は上にあけた規則で決定する。 0 以外の有限数の 0 よる除算の結果は、符号付き無限大である。符合は上にあけた規則で決定する。 無限大でも 0 でも NaN でもない残りのケースでは、商が算出され、 IEEE 754 直近への丸めモードを使用して、直近の表現可能な値へ丸められる。大きさが表せないほど大きいならば、演算はオーバーフローし結果は適切な符合の無限大となる。大きさが表せないほど小さいらば、演算はアンダーフローし結果は適切な符合の 0 となる。 ECMAScript 言語は、 IEEE 754 に定義される段階的アンダーフロー (gradual underflow) のサポートを必須とする。 11.5.3 % 演算子の適用 (Applying the % Operator) % 演算子は、言外の除算から項の剰余を算出する; 左項が被除数で右項が除数である。 NOTE C および C++ において、剰余演算子は整数項のみを受け付ける; ECMAScript においては、浮動小数点数項も受け付ける。 % 演算子により算出されるような浮動小数点数の剰余演算の結果は、 IEEE 754 で定義される "reminder" 演算と同様ではない。 IEEE 754 "remainder" 演算は、切り捨て除算 (truncating division) からではなく丸め除算 (rounding division) から剰余を算出し、したがってその振る舞いは有用な整数剰余演算子のそれとは類似しない。代わりに ECMAScript 言語は % を浮動小数点数演算上で定義し、 Java 整数剰余演算子のそれに類似する方法で振る舞う; これは C ライブラリ関数 fmod と比較される. ECMAScript 浮動小数点数剰余演算の結果は、 IEEE 算術の規則で決定される どちらかの項が NaN ならば、結果は NaN である。 結果の符号は、被除数の符号と等しい。 被除数が無限大、または除数が 0 、 あるいはその両方ならば、 結果は NaN である。 被除数が有限数 かつ 除数が無限大ならば、結果は被除数と等しい。 被除数が 0 かつ 除数が有限数ならば、結果は被除数と同じである。 無限大でも 0 でも NaN でもない残りのケースでは、被除数 n と除数 d から浮動小数点数の剰余 r は、数学的関係 r = n - ( d * q ) によって定義される。 q は整数で n/d が負なら負、正ならば正であり、大きさは n と d の真の数学的な商の大きさを超えない可能な限り大きい。
https://w.atwiki.jp/cydia2database/pages/20.html
Activatorの日本語化を行う スクリーンショット
https://w.atwiki.jp/mydefrag_jp/pages/21.html
原文 http //www.mydefrag.com/Scripts-FileActions.html 更新日 2010/12/12 (ここで取り扱っている内容の原文をコピーした日付です) AddGap Set the position of the beginning of the next zone. This command is commonly used to create a gap at the end of the zone, making the zone bigger than necessary for the files in the zone, but the command can also be used to position a zone anywhere on disk. The command will be skipped (not executed) if the zone is empty (no files are selected by the FileBoolean). The NUMBER specifies the beginning of the next zone, an absolute position on the disk. Usually it will be the ZoneEnd plus a number of bytes, but you can specify a different formula. The command will do nothing if the NUMBER is negative. It is an absolute position on disk, and a negative number would be before the beginning of the disk. The program will automatically vacate the gap between the current end of the zone and the NUMBER. It will not vacate if the DoNotVacate option is specified, or if the NUMBER is lower than current end of the zone (negative gap). If all the next zones are sorted zones (using one of the SortBy fileactions) then DoNotVacate can be used, it will save some unnecessary data movements. The * FastFill and * MoveDownFill fileactions will only move files down, never up, so files that are in a DoNotVacate gap will be left in the gap. Syntax AddGap(NUMBER [, DoNotVacate]) Example # Add a gap of 1% of the free size of the volume. AddGap(ZoneEnd + VolumeFree * 0.01) # Same, but do not vacate. AddGap(ZoneEnd + VolumeFree * 0.01 , DoNotVacate) # Add a gap 1% of the volume size AddGap(ZoneEnd + VolumeSize * 0.01) # Add a gap of 1000 clusters. AddGap(ZoneEnd + 1000 * BytesPerCluster) # Add a gap 10% of the size of the MFT. AddGap(ZoneEnd + MftSize * 0.1) See also MakeGap FileActions Defragment Defragment all the selected items. Items that are not fragmented are ignored, they are not moved. Fragmented files are moved to somewhere above the beginning of the zone, possibly outside the zone. Defragment() will not optimize the zone, it does not move all files to the zone. To do that you need to use another fileaction, for example FastFill(). But not a SortBy fileaction, because those will already defragment all items and Defragment() would then do double work. There are 2 defragmentation algorithms to choose from. The * Fast algorithm will only defragment a file if it can find a gap big enough for the entire file. It will skip files that are too big for any gap. The default defragmentation algorithm will not give up so easily, if it encounters a big file and cannot find a big gap then it will try to make a big gap by shuffling other files around. This can take a lot of time. If the * IgnoreWrapAroundFragmentation setting is active (the default) then wrap-around fragmentation is not defragmented. Syntax Defragment(OPTIONS) Options Fast ChunkSize Example FileSelect .... FileActions Defragment() FileEnd See also IgnoreWrapAroundFragmentation FileSelect FileBoolean FileActions FastFill Fill gaps as best as possible with items from above the gap, in other words, consolidate free space. FastFill is a very fast and effective way to reduce the number of gaps on the disk, and at the same time move files as far to the beginning of the disk as possible. FastFill tries to perfectly fill gaps by looking for combinations of files. If no combination can be found and without the * WithShuffling option then the largest file that fits in the gap will be used, leaving a smaller gap. If all files above the gap are larger than the gap then the gap cannot be filled and will be skipped. If the WithShuffling option is specified then the file just above the gap will be moved away, making the gap bigger. The program will then try again to find a perfect fit. When looking for a combination of perfectly fitting files the program does not test all combinations of all files. It has to limit itself because the number of permutations for even a small set of files is astronomical. There is a tendency for small files to migrate to the beginning of the zone and large files to the end. This is because small files have a better chance to fit into a gap and are therefore more likely to move down. FastFill will destroy the ordering of the files. If the zone was optimized earlier (in another MyDefrag session, running another script) by one of the SortBy actions, then consider using * MoveDownFill instead. It is slower but it will preserve the ordering. Syntax FastFill() Options WithShuffling Example FileSelect .... FileActions # Fill gaps with items from above. FastFill() FileEnd See also WithShuffling MoveDownFill ForcedFill FileSelect FileBoolean FileActions ForcedFill Move all data as fast as possible to the beginning of the zone. The function will take the highest data on disk and split it into fragments that perfectly fill the gaps at the beginning of the zone, until the first gap is after the last data. Syntax ForcedFill() Example FileSelect .... FileActions # Fill gaps with items from above. ForcedFill() FileEnd See also MoveDownFill FastFill FileSelect FileBoolean FileActions MoveDownFill Fill all the gaps by moving (shifting) items to the beginning of the zone. This will perfectly fill all the gaps and will preserve the sorting order of the files. A tiny little gap somewhere at the beginning of the zone will cause all items above the gap to be moved (shifted). In this case MoveDownFill() is only a little faster than a full SortBy***(). However, if the gap happens to be further into the zone then MoveDownFill() will save time. Syntax MoveDownFill() Example FileSelect .... FileActions # Fill gaps with items from above. MoveDownFill() FileEnd See also FastFill ForcedFill FileSelect FileBoolean FileActions MoveToEndOfDisk Move the selected files to the end of the disk. More specifically for every selected file try to find a gap above that file big enough to hold the file, and move the file to the end of that gap. If no gap is found then skip the file. Files are automatically defragmented when they are moved. This action is relatively slow, best to be used for big files only. It s because the Microsoft defragmentation API is not very efficient in finding the last gap suitable for a file. The end of the disk is the slowest part of the disk. Many people want to move the spacehogs zone (with less important files that take up a lot of space) to the end of the disk, leaving a huge empty gap between the regular files and the spacehogs. In my opinion this is a waste of perfectly good harddisk space and makes the spacehogs slower than they need to be. This is why the standard MyDefrag scripts do not move the spacehogs to the end of the disk. Syntax MoveToEndOfDisk() Example FileSelect .... FileActions # Move files to the end of the disk. MoveToEndOfDisk() FileEnd See also FileSelect FileBoolean FileActions MoveUpToZone Move the selected files to above the beginning of the zone. Files that are already above the beginning of the zone are not moved. If there is no gap above the beginning of the zone that is big enough for a particular file, then the file is not moved. Files are automatically defragmented when they are moved. This action is designed to be used in cases where the beginning of the zone has been moved upwards by a * MakeGap volumeaction and the other fileactions would not move all the files. An example is the * FastFill fileaction, which only moves files down, never up, so files could stay before the beginning of the zone. MoveUpToZone() is not needed in zones that use a SortBy fileaction, because those actions will already move all files to the zone, even files that are before the beginning of the zone. Syntax MoveUpToZone() Example # Place the next zone at 50% of the volume. MakeGap(VolumeSize * 0.5, DoNotVacate) # Select files for the zone. FileSelect .... FileActions # Make sure all files are above the beginning of the zone. MoveUpToZone() # FastFill gaps in the zone with files from above the zone. FastFill() FileEnd See also FileSelect FileBoolean FileActions PlaceNtfsSystemFiles Place the selected items and sort alphabetically by their full pathname, ascending from A to Z or descending from Z to A. This function is intended to be used together with the * SelectNtfsSystemFiles fileboolean. It is basically the same as the * SortByName fileaction, except that files can be placed inside the NTFS reserved area. MyDefrag does not (cannot) change the size or location of the NTFS reserved area. The NUMBER parameter is only used to create a gap after the MFT. When Windows is booted it will automatically re-allocate the NTFS area. First it tries to place the area just after the MFT, using whatever free gap is there up to a maximum of 12.5% of the size of the volume. If there is no gap after the MFT then Windows places the area elsewhere on disk. Windows will also reset the area when the disk is mounted, see the MyDefrag * DismountVolume action. So, to move the NTFS reserved area you have to immediately boot the computer after using MyDefrag, and even then it is not guaranteed that the NTFS reserved area will have the size and place that you want. If the MFT is not selected then the NUMBER is ignored. It is useless to combine this fileaction with other fileactions, such as "Defragment()" or "FastFill()", because it moves all the files in the zone. Another fileaction would either needlessly move files, or would destroy the sorted order of the files. Syntax PlaceNtfsSystemFiles(OPTIONS , NUMBER) The OPTIONS are a space-separated list of these keywords Ascending Descending SkipBlock The NUMBER parameter is a hint, specifying a desired size for the NTFS reserved area. Example FileSelect # Select all the NTFS system files. SelectNtfsSystemFiles(yes) FileActions # Place the NTFS system files, NTFS reserved area is 10% of the MFT. PlaceNtfsSystemFiles(Ascending,MftSize * 0.1) FileEnd See also SelectNtfsSystemFiles DismountVolume ReclaimNtfsReservedAreas AppendLogfile BatteryPower Debug Description DiskmapFlip ExcludeFiles ExcludeVolumes ExitIfTimeout FileMoveChunkSize IgnoreWrapAroundFragmentation Language MaxRunTime Message OtherInstances Pause ProcessPriority RememberUnmovables RunProgram RunScript SetColor SetFileColor SetScreenPowerSaver SetScreenSaver SetStatisticsWindowText SetVariable Slowdown StatusBar Title WhenFinished WindowSize WriteLogfile ZoomLevel SortByCreationDate Place the selected items and sort by the time they were created, from oldest to newest ("ascending") or from newest to oldest ("descending"). The creation date can be newer than the last-changed date, for example when a file was downloaded, or unpacked from an archive (such as zip or arj). This action will also defragment. It is therefore not necessary to combine it with the * Defragment action. This action will create "wrap around" fragments. For more information see the * IgnoreWrapAroundFragmentation setting. Syntax SortByCreationDate(OPTIONS) The OPTIONS are a space-separated list of these keywords Ascending Descending SkipBlock Example FileSelect .... FileActions # Sort the items by CreationDate time, most recently accesses items first. SortByCreationDate(Descending) FileEnd See also FileSelect FileBoolean FileActions SortByImportSequence Place the selected items and sort by the sequence in which they were imported ("ascending") or in reversed order ("descending"). This function is designed to be used in combination with the * ImportListFromBootOptimize or the * ImportListFromFile file boolean. This action will also defragment. It is therefore not necessary to combine it with the * Defragment action. This action will create "wrap around" fragments. For more information see the * IgnoreWrapAroundFragmentation setting. Syntax SortByImportSequence(OPTIONS) The OPTIONS are a space-separated list of these keywords Ascending Descending SkipBlock Example # Optimize the system disk for faster booting. FileSelect ImportListFromBootOptimize() FileActions SortByImportSequence(Ascending) FileEnd See also ImportListFromBootOptimize ImportListFromFile FileSelect FileBoolean FileActions SortByLastAccess Place the selected items and sort by their LastAccess time from oldest to newest ("ascending") or from newest to oldest ("descending"). Sorting by LastAccess date/time may seem like a good idea at first, but is far from perfect. The theory is that the LastAccess times will be the same on all the files that are used by an application, so sorting by LastAccess will put all the files of the application together on disk. But the LastAccess time is also updated in many other cases, not only when you run an application. In my view sorting by LastAccess can be useful in certain situations, but is essentially random and should not be used for the bulk of the data on regular disks. Sorting in "Ascending" order will put the oldest (never accessed) files at the beginning of the zone. So, the files that you use the most are placed at the end of the zone, which is a slower part of the harddisk and (usually) further away from the MFT and the directories. Sorting in "Descending" order will put the last accessed files at the beginning of the zone. So, the files that are accessed first when you start a program are placed behind files that are accessed later. Your harddisk will be working backwards. Vista by default does not update the LastAccess time. For more information see * What is "NtfsDisableLastAccessUpdate"? On FAT volumes the resolution of the LastAccess time is 1 day. NTFS delays updates to the LastAccess time by up to one hour. Some improperly programmed utilities cause a change in the LastAccess time of all items on the disk when they scan the disk. Examples are virus scanners, backup programs, text indexers. This action will also defragment. It is therefore not necessary to combine it with the * Defragment action. This action will create "wrap around" fragments. For more information see the * IgnoreWrapAroundFragmentation setting. Syntax SortByLastAccess(OPTIONS) The OPTIONS are a space-separated list of these keywords Ascending Descending SkipBlock Example FileSelect .... FileActions # Sort the items by LastAccess time, most recently accesses items first. SortByLastAccess(Descending) FileEnd See also FileSelect FileBoolean FileActions SortByLastChange Place the selected items and sort by the time they were last changed, from oldest to newest ("ascending") or from newest to oldest ("descending"). The last-changed date can be older than the creation date, for example when a file was downloaded, or unpacked from an archive (such as zip or arj). This action will also defragment. It is therefore not necessary to combine it with the * Defragment action. This action will create "wrap around" fragments. For more information see the * IgnoreWrapAroundFragmentation setting. Syntax SortByLastChange(OPTIONS) The OPTIONS are a space-separated list of these keywords Ascending Descending SkipBlock Example FileSelect .... FileActions # Sort the items by LastChange time, most recently accesses items first. SortByLastChange(Descending) FileEnd See also FileSelect FileBoolean FileActions SortByName Place the selected items and sort alphabetically by their full pathname, ascending from A to Z or descending from Z to A. Items are not just sorted by their filename (for example "explorer.exe"), but by their full pathname including all the folder names (for excample "c \windows\explorer.exe"). The result is that all items that are in the same folder are placed in a block together on disk, and inside that block they re sorted by their filename. If a file has multiple names (hard links) then the file is sorted by the first name that happens to be mentioned in the FAT/MFT. This action will also defragment. It is therefore not necessary to combine it with the * Defragment action. This action will create "wrap around" fragments. For more information see the * IgnoreWrapAroundFragmentation setting. Syntax SortByName(OPTIONS) The OPTIONS are a space-separated list of these keywords Ascending Descending SkipBlock Example FileSelect .... FileActions # Sort the items by their full path. SortByName(Ascending) FileEnd See also FileSelect FileBoolean FileActions SortByNewestDate Place the selected items and sort by creation, last access, or last change date/time, whichever is newest, from oldest to newest ("ascending") or from newest to oldest ("descending"). Sorting by newest date/time may seem like a good idea at first, but is far from perfect. The theory is that the newest date/times will be the same on all the files that are used by an application, so sorting by the newest time will put all the files of the application together on disk. But the date/times are also updated in many other cases, not only when you run an application. In my view sorting by newest date/time can be useful in certain situations, but is essentially random and should not be used for the bulk of the data on regular disks. Sorting in "Ascending" order will put the oldest files at the beginning of the zone. So, the files that you use the most are placed at the end of the zone, which is a slower part of the harddisk and (usually) further away from the MFT and the directories. Sorting in "Descending" order will put the newest files at the beginning of the zone. So, the files that are accessed first when you start a program are placed behind files that are accessed later. Your harddisk will be working backwards. The creation date can be newer than the last-changed date, for example when a file was downloaded, or unpacked from an archive (such as zip or arj). This action will also defragment. It is therefore not necessary to combine it with the * Defragment action. This action will create "wrap around" fragments. For more information see the * IgnoreWrapAroundFragmentation setting. Syntax SortByNewestDate(OPTIONS) The OPTIONS are a space-separated list of these keywords Ascending Descending SkipBlock Example FileSelect .... FileActions # Sort the items by newest time. SortByNewestDate(Descending) FileEnd See also FileSelect FileBoolean FileActions SortBySize Place the selected items and sort by size from smallest to largest ("ascending") or from largest to smallest ("descending"). This action will also defragment. It is therefore not necessary to combine it with the * Defragment action. This action will create "wrap around" fragments. For more information see the * IgnoreWrapAroundFragmentation setting. Syntax SortBySize(OPTIONS) The OPTIONS are a space-separated list of these keywords Ascending Descending SkipBlock Example FileSelect .... FileActions # Sort the items from smallest to largest. SortBySize(Ascending) FileEnd See also FileSelect FileBoolean FileActions
https://w.atwiki.jp/sevenscode/pages/58.html
Sanctify 2.0 アーティスト名 Alkome 譜面作成者 マジックボックス BPM 170 シンプル カオス Normal Hard Master Normal Hard Master 3 232 4 378 6 688 3 173 4 355 7 602 入手方法(実装日) 初期(2019/10/21)から実装 ショップにて購入(500MC) 解説 曲や譜面について 参考動画 公式音源 動画リンク
https://w.atwiki.jp/asigami/pages/900.html
曲名 アーティスト フォルダ 難易度 BPM NOTES/FREEZE(SHOCK) Private Eye atomsoak ft. cerol X3 激12 160 291/44 STREAM VOLTAGE AIR FREEZE CHAOS 56 53 20 85 15 激譜面(12) 譜面 http //eba502.web.fc2.com/fumen/ddr/x3/priv_eye_4m.html 動画 http //www.youtube.com/watch?v=Fb5CiMS1Y68 (x2.0,NOTE) https //www.youtube.com/watch?v=LW0bQKiw6zI (x2.0, NOTE) 解説 曲に合わせた8分踏みと同時踏みがメイン。16分踏みが全く出ない分、足運びを考えさせられる配置が多い。 FA絡みの配置が非常に多い。サビにはボックス・回転orスイッチしないと交互に踏めない配置もあるため注意。 終盤の8分滝に交互難配置が混ざっている点も注意。 コメント コメント(感想など) 新手のフリスペ。 -- 名無しさん (2012-01-27 12 54 51) 作曲者はncの所属してるトコの社長さんだったり、勇者のくせになまいきだ。とか龍が如くシリーズで曲作ってた人だったりするんだよな -- 名無しさん (2012-07-06 23 57 10) ↑おぉ、マジか。俺的にそれは某番組的に言うなら16へぇあげるわ。この曲今作で一番好きなんだよ。よくねぇ? -- ←↑↓→↑↓← (2012-07-07 00 23 11) ↑私は最初から入っている新曲の中では印象的だと思う。ジャケ絵とかプレビューとか。 -- 名無しさん (2012-07-07 21 15 41) 中盤から頻出する短いFAは無視できる(踏み続けなくてもセーフ)ので、スライド使いまくりでもコンボをつないで抜けることが出来てしまう。 -- 名無しさん (2014-07-30 13 47 02) 名前 コメント
https://w.atwiki.jp/konkensyu/pages/13.html
Option Explicit Sub 数値代入(カテゴリ As Variant, フラグ As Variant, 範囲 As Variant, 対象列 As Integer) Dim i As Integer, j As Integer, k As Integer, sRange As Range, sName As String 該当月に関数代入(PJPLをSUMIFする) Workbooks(カテゴリ).Activate If フラグ = 1 Then j = 7 Else j = 3 End If 「○」から「●」までのシートで関数代入~値化~合計関数戻し For i = j To Worksheets.Count - 1 Worksheets(i).Activate With Worksheets(i) ※$ZZ$8は十分値により修正の可能性有 .Cells(4, 対象列).Formula = "=SUMIF(" 範囲 "!$C$6 $ZZ$6,$B$2," 範囲 "!$C8 $ZZ8)" .Cells(4, 対象列).Copy .Range(Cells(4, 対象列), Cells(108, 対象列)).PasteSpecial Paste =xlFormulas .Range(Cells(4, 対象列), Cells(108, 対象列)).Copy .Range(Cells(4, 対象列), Cells(108, 対象列)).PasteSpecial Paste =xlValues End With For k = 1 To 105 Select Case k Case 12, 16, 29, 49, 53, 54, 55, 62, 67, 80, 81, 86, 89, 92, 93, 96, 100, 101, 105 Cells(k + 3, 対象列).Select Selection.FillRight End Select Next カーソルをA1セルに移動 Range("A1").Select Next Worksheets.Add(Before =Worksheets(1)).Name = "temp" For i = j + 1 To Worksheets.Count - 1 Cells(i, 1) = Worksheets(i).Name Next Set sRange = Cells(j + 1, 1).CurrentRegion With ActiveSheet.Sort .SortFields.Clear .SortFields.Add Key =Cells(j + 1, 1), SortOn =xlSortOnValues, Order =xlAscending .SetRange sRange .Apply End With For i = 1 To sRange.Rows.Count sName = Worksheets("temp").Cells(i + j, 1) Worksheets(sName).Move after =Worksheets(i + j - 1) Next Application.DisplayAlerts = False Worksheets("temp").Delete Application.DisplayAlerts = True End Sub Sub グループ判定(GP As String, FILE As String, AM1部 As String, AM2部 As String, MM室 As String, IMS合計 As String) If GP = "アカウントマネジメント1部" Then FILE = AM1部 ElseIf GP = "アカウントマネジメント2部" Then FLE = AM2部 ElseIf GP = "メディアマーケティング室" Then FILE = MM室 Else FILE = IMS合計 End If End Sub Sub BtoB_PJPL作成マクロ() エラーの際は「エラー処理」へ On Error GoTo エラー処理 変数定義 Dim SHEET_元帳 As Variant, SHEET_ピボット As Variant, SHEET_PJ列別PL As Variant Dim SHEET_存在判定 As Variant, SHEET_追記用PL As Variant, SHEET_ST管理表 As Variant Dim FILE_AM1部 As Variant, FILE_AM2部 As Variant, FILE_MM室 As Variant, FILE_IMS合計 As Variant, FILE_MACRO As Variant Dim ARRAY_追記ラベル As Variant Dim RANGE_ピボット As Variant, RANGE_ST管理表 As Variant, PATH_PJ列別PL_外部用 As Variant, PATH_データ格納 As Variant Dim COUNT_PJ As Variant, COUNT_行 As Variant, COLUMN_ST管理表 As Variant Dim COUNT_NEWPJ As Variant, SHEET_NEWPJPL As Variant, START_NEWPJ As Variant, END_NEWPJ As Variant Dim i As Variant, j As Variant, COLUMN_MONTH As Integer Dim xPCach As PivotCache, xPTbl As PivotTable Dim BEFORE_GP As String, AFTER_GP As String, JUDGE_GP As String Dim BEFORE_FILE As String, AFTER_FILE As String, FILE As String 名称代入 SHEET_元帳 = "元帳" SHEET_ピボット = "ピボットテーブル" SHEET_PJ列別PL = "PJPL" SHEET_存在判定 = "存在シート判定" SHEET_追記用PL = "追記用PL" SHEET_ST管理表 = Worksheets(Worksheets.Count).Name FILE_AM1部 = "アカウントマネジメント1部.xlsx" FILE_AM2部 = "アカウントマネジメント2部.xlsx" FILE_MM室 = "メディアマーケティング室.xlsx" FILE_IMS合計 = "IMS事業部(BtoB)合計.xlsx" FILE_MACRO = ActiveWorkbook.Name ARRAY_追記ラベル = Array("事業部コード", "事業部", "部室コード", "部室名", "グループコード", "グループ名") PATH_データ格納 = ActiveWorkbook.Path PATH_PJ列別PL_外部用 = "[" FILE_MACRO "]" SHEET_PJ列別PL 変数の値代入 COUNT_行 = Worksheets(SHEET_元帳).Range("A1").End(xlDown).Row ※$AG$2000は十分値により修正の可能性有 RANGE_ST管理表 = " " SHEET_ST管理表 " !$A$12 $AG$2000" COLUMN_MONTH = Range("L3").Value COLUMN_ST管理表 = Range("I4").Value 各種ファイルオープン(AM1・AM2・MM・合計)⇒マクロシートに戻す Workbooks.Open PATH_データ格納 "\" FILE_AM1部 Workbooks.Open PATH_データ格納 "\" FILE_AM2部 Workbooks.Open PATH_データ格納 "\" FILE_MM室 Workbooks.Open PATH_データ格納 "\" FILE_IMS合計 Workbooks(FILE_MACRO).Activate //--元帳操作 With Worksheets(SHEET_元帳) .Activate .Range("Q1").Value = ARRAY_追記ラベル(0) .Range("R1").Value = ARRAY_追記ラベル(1) .Range("S1").Value = ARRAY_追記ラベル(2) .Range("T1").Value = ARRAY_追記ラベル(3) .Range("U1").Value = ARRAY_追記ラベル(4) .Range("V1").Value = ARRAY_追記ラベル(5) .Range("Q2").Formula = "=VLOOKUP($K2," RANGE_ST管理表 "," COLUMN_ST管理表 "-5,0)" .Range("R2").Formula = "=VLOOKUP($K2," RANGE_ST管理表 "," COLUMN_ST管理表 "-4,0)" .Range("S2").Formula = "=VLOOKUP($K2," RANGE_ST管理表 "," COLUMN_ST管理表 "-3,0)" .Range("T2").Formula = "=VLOOKUP($K2," RANGE_ST管理表 "," COLUMN_ST管理表 "-2,0)" .Range("U2").Formula = "=VLOOKUP($K2," RANGE_ST管理表 "," COLUMN_ST管理表 "-1,0)" .Range("V2").Formula = "=VLOOKUP($K2," RANGE_ST管理表 "," COLUMN_ST管理表 ",0)" .Range("Q2 V2").Copy .Paste Range(.Range("Q2"), .Cells(COUNT_行, 17)) End With Set RANGE_ピボット = Worksheets(SHEET_元帳).Range("A1", Cells(COUNT_行, "V")) 範囲設定 Worksheets.Add Before =Worksheets(SHEET_元帳) ActiveSheet.Name = SHEET_ピボット //--ピボットテーブル作成 ①ピボットキャッシュ作成 Set xPCach = ActiveWorkbook.PivotCaches.Create _ (SourceType =xlDatabase, SourceData =RANGE_ピボット) ②ピボットキャッシュを元にピボットテーブルを作成 Set xPTbl = xPCach.CreatePivotTable _ (TableDestination =Range("A3"), TableName ="Pivot1") ③ピボットテーブルの行・列・値などにフィールドを配置 With ActiveSheet.PivotTables("Pivot1") 行フィールド設定 .AddFields RowFields =Array("PL番号", "PL科目") 列フィールド設定 With .PivotFields("プロジェクトコード") .Orientation = xlColumnField .Position = 1 End With With .PivotFields("プロジェクト名称") .Orientation = xlColumnField .Position = 2 End With データフィールド設定 With .PivotFields("金額") .Orientation = xlDataField .Function = xlSum .NumberFormat = "#,##0_ " End With 集計行非表示 .PivotFields("PL番号").Subtotals(1) = False .PivotFields("プロジェクトコード").Subtotals(1) = False .InGridDropZones = True .RowAxisLayout xlTabularRow End With ActiveSheet.Range("C6").Select ActiveWindow.FreezePanes = True //--PJPLシート追加~PJコードペースト Worksheets.Add Before =Worksheets(SHEET_ピボット) ActiveSheet.Name = SHEET_PJ列別PL Worksheets(1).Activate ActiveSheet.Range("B8", "D117").Copy ActiveSheet.Paste Worksheets(SHEET_PJ列別PL).Range("A3") Worksheets(SHEET_PJ列別PL).Range("A B").Columns.AutoFit With Worksheets(SHEET_ピボット) .Activate COUNT_PJ = .Range("A5").End(xlToRight).Column .Range("C4", Cells(5, COUNT_PJ)).Copy .Paste Worksheets(SHEET_PJ列別PL).Range("C6") .Range("C8").Select Worksheets(SHEET_ピボット).Activate COUNT_PJ = ActiveSheet.Range("A5").End(xlToRight).Column ActiveSheet.Range("C4", Cells(5, COUNT_PJ)).Copy ActiveSheet.Paste Worksheets(SHEET_PJ列別PL).Range("C6") End With ActiveWindow.FreezePanes = True ActiveWindow.Zoom = 85 //--関数代入~PJPL全体の完成(関数のまま)※Case文使う方がわかりやすい With Worksheets(SHEET_PJ列別PL) ※$ZZ$50は十分値により修正の可能性有 .Activate .Range("C8").Formula = "=IF(ISERROR(MATCH($A8,ピボットテーブル!$A$6 $A$100,0)),0,INDEX(ピボットテーブル!$C$6 $ZZ$100,MATCH($A8,ピボットテーブル!$A$6 $A$100,0),MATCH(C$6,ピボットテーブル!$C$4 $ZZ$4,0)))" .Range("C8").Copy For i = 1 To 105 Select Case i Case 12, 16, 29, 49, 53, 54, 55, 62, 67, 80, 81, 86, 89, 92, 93, 96, 100, 101, 105 Case Else .Paste Cells(i + 7, "C") End Select Next .Range("C8", "C112").Copy .Paste Range(.Range("C8"), .Cells(112, COUNT_PJ)) End With //--存在シート判定 ※6月作成後、起点セル変更H3⇒I3 2011/7/14 Worksheets(SHEET_ピボット).Activate COUNT_PJ = ActiveSheet.Range("A5").End(xlToRight).Column ActiveSheet.Range("C4", Cells(5, COUNT_PJ)).Copy With Worksheets(SHEET_存在判定) .Activate .Range("I3").PasteSpecial Paste =xlValues, Transpose =True COUNT_PJ = .Range("I3").End(xlDown).Row START_NEWPJ = .Range("B3").End(xlDown).Row + 1 END_NEWPJ = START_NEWPJ ※$B$1000は十分値により修正の可能性有 .Range("K3").Formula = "=IF(ISERROR(VLOOKUP($I3,$B$3 $B$1000,1,0)),""NG"",""OK"")" .Range("K3").Copy .Paste Range(.Range("K3"), .Cells(COUNT_PJ, "K")) For i = 3 To COUNT_PJ If .Cells(i, "K").Value = "NG" Then COUNT_NEWPJ = .Range("B3").End(xlDown).Row + 1 .Range(.Cells(i, "I"), .Cells(i, "J")).Copy .Cells(COUNT_NEWPJ, "B").PasteSpecial Paste =xlValues .Cells(COUNT_NEWPJ, "D").Formula = "=SUBSTITUTE(LEFTB(CONCATENATE(IF(B" COUNT_NEWPJ " =1000,B" COUNT_NEWPJ ",0 B" COUNT_NEWPJ "),C" COUNT_NEWPJ "),30),""/"","" "")" .Cells(COUNT_NEWPJ, "E").Formula = "=VLOOKUP($B" COUNT_NEWPJ "," RANGE_ST管理表 "," COLUMN_ST管理表 ",0)" END_NEWPJ = END_NEWPJ + 1 End If Next .Range("F3").Formula = "=VLOOKUP($B3," RANGE_ST管理表 "," COLUMN_ST管理表 ",0)" .Range("G3").Formula = "=IF($E3=$F3,""OK"",""NG"")" .Range("F3", "G3").Copy .Paste Range(.Range("F3"), .Cells(END_NEWPJ - 1, "F")) End With //--新規PJのPLシート追加 テスト用 START_NEWPJ = 225 END_NEWPJ = 226 新規PJPLに関する情報を追記用PLに代入 For j = START_NEWPJ To END_NEWPJ - 1 With Worksheets(SHEET_追記用PL) .Range("B2") = Worksheets(SHEET_存在判定).Cells(j, "B").Value .Range("E2") = Worksheets(SHEET_存在判定).Cells(j, "C").Value SHEET_NEWPJPL = Worksheets(SHEET_存在判定).Cells(j, "D").Value JUDGE_GP = Worksheets(SHEET_存在判定).Cells(j, "E").Value グループ判定 グループ判定 JUDGE_GP, FILE, FILE_AM1部, FILE_AM2部, FILE_MM室, FILE_IMS合計 If JUDGE_GP = "アカウントマネジメント1部" Then FILE_追記 = FILE_AM1部 ElseIf JUDGE_GP = "アカウントマネジメント2部" Then FILE_追記 = FILE_AM2部 ElseIf JUDGE_GP = "メディアマーケティング室" Then FILE_追記 = FILE_MM室 Else FILE_追記 = FILE_IMS合計 End If 新規PJPL追加 .Copy Before =Workbooks(FILE_追記).Worksheets("●") End With シート名を変更して、マクロシートに戻る ActiveSheet.Name = SHEET_NEWPJPL Workbooks(FILE_MACRO).Activate Next PJの部門が変更になったシートを移動させる With Worksheets(SHEET_存在判定) For j = 3 To START_NEWPJ - 1 If Cells(j, "G") = "NG" Then BEFORE_GP = .Cells(j, "E").Value AFTER_GP = .Cells(j, "F").Value グループ判定 BEFORE_GP, BEFORE_FILE, FILE_AM1部, FILE_AM2部, FILE_MM室, FILE_IMS合計 グループ判定 AFTER_GP, AFTER_FILE, FILE_AM1部, FILE_AM2部, FILE_MM室, FILE_IMS合計 BEFOREファイル呼び出し 該当シート捜索 AFTERシートに移動 //--各データで数値代入※合計データのみフラグ「1」を立てる 数値代入 FILE_AM1部, 0, PATH_PJ列別PL_外部用, COLUMN_MONTH 数値代入 FILE_AM2部, 0, PATH_PJ列別PL_外部用, COLUMN_MONTH 数値代入 FILE_MM室, 0, PATH_PJ列別PL_外部用, COLUMN_MONTH 数値代入 FILE_IMS合計, 1, PATH_PJ列別PL_外部用, COLUMN_MONTH //--IMS合計の総計PL金額とマクロのPJ列別PLの各行合計と一致するか確認する With Workbooks(FILE_MACRO).Worksheets(SHEET_PJ列別PL) .Activate COUNT_PJ = .Range("A7").End(xlToRight).Column .Cells(7, COUNT_PJ + 1).Value = "PJ合計" .Cells(7, COUNT_PJ + 2).Value = "IMS合計PLより" .Cells(7, COUNT_PJ + 3).Value = "差異" .Cells(8, COUNT_PJ + 1).Formula = "=SUM(C8:" Cells(8, COUNT_PJ).Address(0, 0) ")" .Cells(8, COUNT_PJ + 3).Formula = "=" Cells(8, COUNT_PJ + 2).Address(0, 0) "-" Cells(8, COUNT_PJ + 1).Address(0, 0) .Range(Cells(8, COUNT_PJ + 1), Cells(8, COUNT_PJ + 3)).Copy .Paste Range(Cells(8, COUNT_PJ + 1), Cells(112, COUNT_PJ + 1)) End With Workbooks(FILE_IMS合計).Worksheets(1).Activate Range(Cells(4, COLUMN_MONTH), Cells(108, COLUMN_MONTH)).Copy Workbooks(FILE_MACRO).Worksheets(SHEET_PJ列別PL).Activate ActiveSheet.Cells(8, COUNT_PJ + 2).PasteSpecial Paste =xlValues Exit Sub エラー発生時の処理 エラー処理 MsgBox Err.Number " " Err.Description End Sub
https://w.atwiki.jp/feedback1970/pages/40.html
source sysutil.c line 124 - 149 function 124 void 125 vsf_sysutil_check_pending_actions( 126 const enum EVSFSysUtilInterruptContext context, int retval, int fd) 127 { 128 unsigned int i; 129 /* Check the i/o handler before the signal handlers */ 130 if (s_io_handler !s_io_handler_running context == kVSFSysUtilIO) 131 { 132 s_io_handler_running = 1; 133 (*s_io_handler)(retval, fd, s_p_io_handler_private); 134 s_io_handler_running = 0; 135 } 136 for (i=0; i NSIG; ++i) 137 { 138 if (s_sig_details[i].pending !s_sig_details[i].running) 139 { 140 s_sig_details[i].running = 1; 141 if (s_sig_details[i].sync_sig_handler) 142 { 143 s_sig_details[i].pending = 0; 144 (*(s_sig_details[i].sync_sig_handler))(s_sig_details[i].p_private); 145 } 146 s_sig_details[i].running = 0; 147 } 148 } 149 }
https://w.atwiki.jp/news_sourse/pages/66.html
asahi_com:朝日新聞社の速報ニュースサイト http //www.asahi.com/ ※「福岡 転落」で検索 asahi_com(朝日新聞社):乗用車、横から進入の車と衝突し転落か 太宰府事故 - 社会 http //megalodon.jp/2010-1228-1706-58/www.asahi.com/national/update/1225/SEB201012250001.html 2010年12月25日3時9分 県道を走っていた乗用車に、脇道から進入した車が衝突し、乗用車が池に転落した可能性があるという。 篠振池のすぐそばに住む男性(76)によると、25日午前1時半ごろ、たんかに乗せられ、布かビニールで覆われた人2人が池から引き揚げられていたという。池は深さ2メートル程で、県道沿いの部分には脇に街路樹とガードレールがあるが、県道と交差する道路沿いの部分には高さ1メートルほどのガードレールしかないという。それでも「余程のスピードで突っ込まないと突き破れないのでは」と話す。 asahi_com(朝日新聞社):水温1度 「中に子どもが」叫ぶ女性 太宰府転落 - 社会 http //megalodon.jp/2010-1228-0607-53/www.asahi.com/national/update/1225/SEB201012250002.html 2010年12月25日3時29分 県道を走っていた乗用車に、脇道から進入した車が衝突し、乗用車が池に転落した可能性があるという。 近くに住む女性(28)は水没する車を目撃。事故にあった男女を介抱したという。 「夜11時半ごろ、クラクションの大きな音がした後、ドーンとぶつかるような音がした。事故かと思ってベランダに出たら、水面から車が3分の1くらい出ていて、だんだん沈んでいった。110番と119番通報をして、家から外に出ると、若い男女2人が『中に子どもがいる』『助けて』と叫んでいた。女性は子どもの名前を叫んでパニックになっている様子だった。ずぶぬれだったので、タオルを掛けてあげたり、背中をさすってあげたりした。池の隣のマンションの住民も、音を聞いて出てきているようだった」と話した。 転落した黒の乗用車は、福岡県警が用意した2台のクレーン車でゆっくりと引き揚げられた。車内に取り残されていた人はおらず、県警のダイバー数人が池に潜り、捜索を続けた。水温は1度前後と、きわめて冷たいという。 現場付近のガソリンスタンドの従業員の男性によると、大きな衝突音が2回して、しばらくして消防車やパトカーが現場に来たという。 気がつくと、ガソリンスタンドには左前のバンパーが破損した黒の小型乗用車が止まっていたという。 asahi_com(朝日新聞社):乗用車衝突、池に転落、計6人死亡1人重体 太宰府 - 社会 http //megalodon.jp/2010-1225-0748-54/www.asahi.com/national/update/1225/SEB201012240065.html 2010年12月25日6時0分 乗用車に乗っていた9人のうち5人が死亡。さらに池から同市青葉台4丁目、アルバイト秦智之さん(26)が引き揚げられ、死亡が確認された。現場近くに運転手不在の車が止まっており、県警は秦さんがこの車を運転していたとみて調べている。 乗用車に乗っていたほかの3人(男性2人、女性1人)は命に別条はないという。 現場は、JR鹿児島線の水城駅の南約800メートルにある県道沿いの池。交差点に面しており、スポーツ公園やテニスコートなどがある施設の一角で、池に転落する音を聞いた人が通報したという。 同署によると、秦さんは自ら池に飛び込んだという目撃情報があるという。衝突事故の後、池に転落した9人を助けようとした可能性があるとみて調べている。 asahi_com(朝日新聞社):終業式の夜、暗転 同乗の6人同級生 太宰府・車転落 - 社会 http //megalodon.jp/2011-0110-1636-14/www.asahi.com/national/update/1225/SEB201012250011.html 2010年12月25日17時2分 asahi_com(朝日新聞社):終業式の夜、暗転 同乗の6人同級生 太宰府・車転落 - 社会 http //megalodon.jp/2010-1228-1730-28/www.asahi.com/national/update/1225/SEB201012250011_01.html 2010年12月25日17時2分 ワゴン車と衝突した乗用車に乗っていた秦智之さんの太宰府市の自宅は家族らも留守の様子。窓にはカーテンが引かれ、ひっそりしていた。近所の夫婦によると、秦さんが犬を散歩させるのをよく見かけた。道で会えば、「こんにちは」などと必ずあいさつをして、優しい感じの好青年という印象を持っていたという。 3人きょうだいで、男は秦さんだけ。時折、職人がはくニッカボッカのズボンで仕事に出かけていたという。中学校の同級生は「土木関係の仕事を頑張っていた」と話した。 asahi_com(朝日新聞社):生後6カ月の悠斗ちゃんも… 太宰府の事故、死者7人に - 社会 http //megalodon.jp/2010-1225-2256-41/www.asahi.com/national/update/1225/SEB201012250015.html 2010年12月25日22時33分 県警筑紫野署は同日、ワゴン車の男性2人は水死と発表。女性3人と乗用車の男性も水死の可能性が高いとみている。男児の死因も調べている。 同署によると、ワゴン車は右側が大破し、乗用車は左前が損傷していた。車の損傷部位から、同署は片側2車線の県道を並んで走っていたワゴン車と乗用車が何らかの事情で衝突し、弾みでワゴン車が池に落ちた可能性があるとみて、事故原因を詳しく調べている。 ワゴン車は、助かった木村光志(みつゆき)さん(18)=同市黒木町本分=の父親(46)の名義だった。光志さんは事故後、父親と電話で話した際、「途中まで自分が運転したが、事故時は友達と運転を代わっていた」と話していたという。 同署は、ワゴン車をだれが運転していたかや、乗用車となぜ衝突したのかなどについて、助かった18歳の男女3人らから事情を聴いている。3人からアルコールは検知されなかったという。 同署は、現場の池の水を抜いて、ほかに事故に巻き込まれた被害者の有無や、事故原因の特定につながる遺留品の捜索を検討したが、歩行者が巻き込まれたなどの目撃情報がないことなどから、実施を見送った。 ◆事故に遭った方々 【亡くなった方々】 ●乗用車 福岡県太宰府市青葉台4丁目、アルバイト、秦(しん)智之さん(26) ●ワゴン車 同県八女市黒木町木屋、八女農業高校3年、井手綾美さん(17)▽同県久留米市荒木町藤田、同、石原瞳さん(18)▽同県筑後市山ノ井、同、末吉泰子さん(18)▽八女市黒木町大淵、農業手伝い、佐藤慎一郎さん(18)▽同市黒木町湯辺田、アルバイト、山本翔さん(18)、息子の悠斗ちゃん(6カ月) 【助かった方々】 ●ワゴン車 八女市黒木町本分、パート、木村光志さん(18)▽八女市黒木町大淵、西日本短大付属高校3年生、堀川達也さん(18)▽八女市黒木町湯辺田、山本佑紀さん(18)=悠斗ちゃんの母親 asahi_com(朝日新聞社):ワゴン車が池に転落、計7人死亡 太宰府で衝突事故 - 社会 http //megalodon.jp/2010-1226-0718-07/www.asahi.com/national/update/1225/SEB201012240065.html 2010年12月25日23時58分 ワゴン車の男性2人は水死、女性3人と秦さんも水死の可能性が高いと県警はみている。 秦さんは自ら池に飛び込んだという目撃情報があるという。池に転落した9人を助けようとした可能性があるとみて調べている。 ワゴン車は右側が大破、乗用車は左前が破損していたという。車の損傷部位から、同署はワゴン車と乗用車が県道を福岡市方面に並んで走り、何らかの事情で衝突した弾みでワゴン車が池に転落した可能性があるとみて、詳しい事故原因を調べている。池に沿って設置された高さ約1メートルの金属製の柵の一部がなぎ倒されるなど、約10メートルにわたって破損していた。 近くには商店やマンション、住宅なども立ち並び、ワゴン車が池に転落する音を聞いた人が通報したという。 気象庁によると、太宰府市の事故当時の気温は約3度。同署によると、池の水温は5度だったという。 asahi_com:クレーンで池から引き揚げられるワゴン車=25日午前2時17分、福岡県太宰府市、長沢幹城撮影 - ピックアップフォト http //www.asahi.com/photonews/SEB201012240065.html http //megalodon.jp/2011-0112-1710-46/www.asahi.com/photonews/SEB201012240065.html http //megalodon.jp/2011-0112-1709-29/www.asahi.com/photonews/images/SEB201012250007.jpg クレーンで池から引き揚げられるワゴン車=25日午前2時17分、福岡県太宰府市、長沢幹城撮影 ( 2010年12月25日23時58分更新) asahi_com(朝日新聞社):ワゴン車が池に転落、計7人死亡 太宰府で衝突事故 - プレーバック1週間 http //www.asahi.com/special/playback/SEB201012240065.html http //megalodon.jp/2011-0112-1712-46/www.asahi.com/special/playback/SEB201012240065.html 2010年12月25日23時58分 asahi_com(朝日新聞社):視界さえぎるにごり水、手探りの救助及ばず 太宰府事故 - 社会 http //megalodon.jp/2010-1228-0744-26/www.asahi.com/national/update/1226/SEB201012260041.html 2010年12月26日22時41分 現場で救助隊長を務めた筑紫野消防署の本田豊章係長(37)らによると、救助隊は24日午後11時50分ごろ現場に到着。事前に「車内に5~6人いる。別にあと1人が池に飛び込んだ」との情報を得ていたが、池は濁りがひどく、投光器を使っても車の場所がわからなかった。隊員が潜ってワゴン車を発見。岸から約5メートル離れていたため、ウインチを使って車を岸に寄せたほうがいいと判断した。 その途中、車の後部のすき間から隊員2人が手を入れて車内を探ると、生後6カ月の山本悠斗ちゃんの頭に触れた。真っ先に引き出したが、救出できた時には到着から約1時間が過ぎていた。 水温が約5度と低く、水中の作業は15~20分ごとに交代して行ったという。悠斗ちゃんを引き揚げたあと、さらに約1時間かけて車内から4人を救出。福岡県警の潜水隊が水中から残る2人を引き揚げ、救助が終わったのは事故発生から約4時間半後だった。車内や水中から救助した7人全員が死亡した。 現場指揮隊長を務めた太宰府消防署の中嶋幸博課長(59)は「1分1秒でも早く救出しようと最善を尽くしたが、条件があまりにも悪かった」と話した。 asahi_com(朝日新聞社):太宰府事故 犠牲者からアルコール検出されず - 社会 http //megalodon.jp/2010-1228-1722-59/www.asahi.com/national/update/1227/SEB201012270030.html 2010年12月27日12時30分 福岡県警は27日、犠牲者の遺体を鑑定した結果、アルコールが検出されなかったと発表した。また、運転免許を持っていたのは乗用車の男性(26)とワゴン車の18歳の男女4人とわかった。県警は事故原因や誰がワゴン車を運転していたのかについて調べを進めている。 県警によると、助かったワゴン車の男女3人からはアルコールが検出されなかったほか、遺体を鑑定した結果、乗用車の男性とワゴン車の男女4人の計5人からはアルコールが検出されなかった。ワゴン車に乗っていた女子高校生(18)と6カ月の男児については、検体が取れず鑑定ができなかったと説明している。 県警は同日午前、現場の池で事故原因の特定につながる遺留品がないか捜索をした。 現場は片側2車線の直線道路。県警は2台の破損状況などから、左側をワゴン車が、右側を乗用車が並走していて、何らかの原因でぶつかった可能性があるとみている。 asahi_com(朝日新聞社):転落ワゴン車、4人が免許=運転者特定急ぐ―福岡県警 - 社会 http //www.asahi.com/national/jiji/JJT201012270042.html http //megalodon.jp/2011-0112-1726-14/www.asahi.com/national/jiji/JJT201012270042.html 2010年12月27日13時6分 [時事通信社] asahi_com(朝日新聞社):親子の通夜、しめやかに=高校では全校集会―福岡7人死亡事故 - 社会 http //www.asahi.com/national/jiji/JJT201012270152.html http //megalodon.jp/2011-0112-1722-03/www.asahi.com/national/jiji/JJT201012270152.html 2010年12月27日22時6分 [時事通信社] asahi_com(朝日新聞社):双方の運転手を書類送検へ=7人死亡転落事故―福岡県警 - 社会 http //www.asahi.com/national/jiji/JJT201102150055.html http //megalodon.jp/2011-0216-0220-44/www.asahi.com/national/jiji/JJT201102150055.html 2011年2月15日13時6分 [時事通信社] asahi_com(朝日新聞社):双方の運転手書類送検=7人死亡転落事故、前方不注意―福岡県警 - 社会 http //www.asahi.com/national/jiji/JJT201102180106.html http //megalodon.jp/2011-0218-2022-17/www.asahi.com/national/jiji/JJT201102180106.html 2011年2月18日19時41分 [時事通信社]
https://w.atwiki.jp/kosenkmitl0/pages/11.html
Reference data Toyota KOSEN(Japanese/English) Ariake KOSEN(Japanese/English) Information Message from the President Introduction School History Educational Objectives Diploma Policy Curriculum Policy Syllabus of Mechatronics Engineering department Syllabus of Computer Engineering department Syllabus of Electrical and Electronics Engineering department Admission Policy More detail Organization Number of Faculty members Administrative Officials Organization Chart Department of Associate courses (หลักสูตรอนุปริญญาวิศวกรรมศาสตร์) General Education (การศึกษาทั่วไป) Mechatronics Engineering (วิศวกรรมแมคคาทรอนิกส์) Computer Engineering (วิศวกรรมคอมพิวเตอร์) Electrical and Electronics Engineering (วิศวกรรมไฟฟ้าและอิเล็กทรอนิกส์) Advanced course for Bachelor degree (หลักสูตรปริญญาวิศวกรรมศาสตร์) Production Engineering (วิศวกรรมการผลิต) Welfare Facilities and Organization for students Library Dormitory School Counselor Students Authorized and Current Enrollment Applicants and Entrants Students Hometowns Student Council Cooperation with Regional Communities Industrial Linkage Regional Interchange Research of teachers Facilities Campus Map Details of College Building Location Map
https://w.atwiki.jp/shells/pages/43.html
COM 読み方 : コム フルスペル : Component Object Model Microsoft社が提唱する、部品化されたプログラムを作成・利用するための基盤となる技術仕様。 特定の機能のみを持つプログラム部品を組み合わせることでアプリケーションソフトの開発が容易になる。 この仕様に基づいてデータのやりとりができるプログラム部品のことをCOMコンポーネントと呼ぶ。 COMコンポーネントは開発に使った言語やコンポーネントのある場所などに拠らず、どの言語からでも、どこからでも利用することができる。 ネットワークを通じて別のコンピュータ上にあるCOMコンポーネントを利用する技術をDCOMと言う。 これらの技術はWindowsだけでなく、UNIXやMac OSにも移植されている。 コンポーネント開発が楽にできるよう改良された次世代のCOM+の開発が進んでおり、Windows DNAの中核技術として期待されている。 IT用語辞典 戻る