約 7,927 件
https://w.atwiki.jp/atachi/pages/76.html
型情報の取得 [#d47d1f87] 文字列で任意のクラスの型情報を取得 型情報の使い方 型情報を使ってインスタンスを作成 [#x27b8e68] 型情報からの配列型作成 [#b4058749] 配列を初期化 [#h93d524f] 型情報による操作 [#dbce2237] ジェネリクスとリフレクション 型情報の取得 System Typeクラス に型情報に関するアクセスができます。 Typeクラスの作成は次のように行います。 Type t = Type.GetType("MyClass"); // クラス名による取得 文字列で任意のクラスの型情報を取得 アプリケーションがアクセス可能な型情報の一覧を作成できるので、その中から取得したい型名を探し出す事で、 文字列から型情報を取得できる。 using System.Reflection; class ObjectUtil{ public static System.Type GetTypeFromName(string name) { foreach(System.Type type in GetCurrendDomainAssemblyTypes()) { if (String.Equals(type.FullName, name) || String.Equals(type.AssemblyQualifiedName, name)) return type; } } public static IList System.Type GetCurrendDomainAssemblyTypes() { Assembly[] assemblies = System.AppDomain.CurrentDomain.GetAssemblies(); List System.Type types = new List System.Type (); foreach (System.Reflection.Assembly assembly in assemblies) { types.AddRange(assembly.GetTypes()); } return types; } } 上記のようなクラスを用意しておけば、完全なクラス名を与えることでそのクラスの型情報を取得できる。 Type type = GetTypeFromName("System.String"); 型情報の使い方 型情報を使ってインスタンスを作成 Activatorを使う方法が最も簡単。 ただし、対象のクラス宣言でデフォルトコンストラクタにアクセスできる場合に限られる。 引数を伴うコンストラクタを呼び出したりするには、コンストラクタ情報(ConstructorInfo)を取得して呼び出す必要がある。 System.Type type = typeof(String); object instance = Activator.CreateInstance(type); 型情報からの配列型作成 System.Type type = typeof(String); object instance = Activator.CreateInstance(type); このように作り出した場合のinstance変数はString型であることが型推論によりわかるため、問題はありません。 しかし、型情報から動的に配列型を作成するには、工夫が必要で必ず配列のサイズをコンストラクタを使って指定します。 System.Type type = typeof(String); System.Type typeStrings = type.MakeArrayType(); // String[]のような型。 // 配列型をインスタンス化 // - コンストラクタを取得する ConstructorInfo[] Constructors = t.GetConstructors(); // - コンストラクタをInvokeする。 // パラメータは1つで、作成したい配列のサイズが入る。 var instance = Constructors[0].Invoke(new object[]{1}); // "new String[1]" と同じ 配列を初期化 上記のように動的に作成した配列型に初期値を与えることはできません。 よって、作成したインスタンスにArray.Copyを使って要素をコピーします。 Array.Copy(new String[]{"埼玉"}, (System.Array)instance, 1); foreach(object element in (System.Array)instance) { System.Console.WriteLine(element.ToString()); // echo "埼玉" } 型情報による操作 Type t = Type.GetType("MyClass"); // クラス名による取得 // 型情報からインスタンスの生成 MyClass obj = Activator.CreateInstance(t); t.GetField("width").SetValue(obj, 19); // objインスタンスのwidthフィールドへ値を設定 int width = (int)t.GetField("width").GetValue(obj); // objインスタンスのwidthフィールドの取得 ジェネリクスとリフレクション ジェネリックの型情報をリフレクションで取得します。 class Program { static void Main(string[] args) { Collection Student students = new Collection Student (); Type clazz = students.GetType(); Console.WriteLine("ジェネリクスであるか " + clazz.IsGenericType); Type genClazz = clazz.GetGenericArguments()[0]; Console.WriteLine("ジェネリック型 " + genClazz.Name); } } class Student { public string name; }
https://w.atwiki.jp/bonze2/pages/19.html
ファイルの入力 ファイルからレコードを読むなら、TSOのEXECIOを利用。 "EXECIO 1 DISKR INDD (STEM LINE.)" /* INDD というDDから1レコード読んで、配列 LINE に入れる SAY LINE.1 使用メモリを気にしないなら、いっぺんに全レコードを読んでしまうこともできる。 "EXECIO * DISKR INDD (STEM LINE.)" /* INDD というDDから全レコードを読んで、配列 LINE に入れる DO I=1 TO LINE.0 /* 配列の添字 0 の要素はレコード数 SAY LINE.I /* 1レコードずつ順に表示 END ファイルを1レコードずつ読んで処理をする典型的なコード DO WHILE 1 "EXECIO 1 DISKR INDD (STEM LINE.)" IF RC 0 THEN LEAVE /* ファイルの終わりに達したら DO WHILE ループから抜ける (do something) END /* DO WHILE 1 の終わり ファイルの出力 LINE.1= HELLO,WORLD "EXECIO 1 DISKW OUTDD (STEM LINE.)" /* OUTDD というDDに LINE.1 の内容を1レコード書き込む 複数レコードをいっぺんに出力する場合 LINE.1= //JOBNAME JOB CLASS=A,MSGCLASS=A LINE.2= //IEFBR14 EXEC PGM=IEFBR14 LINE.3= //DD1 DD DSN=DATASET,DISP=(MOD,DELETE),SPACE=(TRK,1),UNIT=SYSDA "EXECIO 3 DISKW OUTDD (STEM LINE.)" /* OUTDD というDDに LINE.1〜LINE.3 の内容を書き込む レコード数を変数で指定する場合 LINE.1= //JOBNAME JOB CLASS=A,MSGCLASS=A LINE.2= //IEFBR14 EXEC PGM=IEFBR14 LINE.3= //DD1 DD DSN=DATASET1,DISP=(MOD,DELETE),SPACE=(TRK,1),UNIT=SYSDA (略) LINE.9= //DD7 DD DSN=DATASET7,DISP=(MOD,DELETE),SPACE=(TRK,1),UNIT=SYSDA LINE.0=9 /* 出力するレコード数 "EXECIO * DISKW OUTDD (STEM LINE.)" TSOコマンドを発行し、その結果を受け取る OUTTRAP() で、TSOコマンドのレスポンスを配列に受け取るようにする。 X=OUTTRAP( LINE. ) "LISTDS ( dataset name ) MEMBERS" /* 配列 LINE. にLISTDSコマンドのレスポンスが入る DO I=1 TO LINE.0 /* LINE.0 はコマンドレスポンスの行数 (do something) END X=OUTTRAP( OFF )
https://w.atwiki.jp/bousoku/pages/335.html
ACTとは、拡張ローマ字入力である。 AZIKとの違いは、DVORAK配列をベースにしている点である。 この配列を扱うタイパー 外部リンク ACT(AZIK on Dvorak
https://w.atwiki.jp/bousoku/pages/497.html
高速月配列タイパー 月配列を駆使しTWJKでは上位にランクインしている。 英語ではdvorakを使用。 【TW】 JK 1164253 ZG ZF ZH ZF ZH 13/08/16 EW 1120108 XX XX XS XS XS 14/04/16
https://w.atwiki.jp/raycy/pages/181.html
http //blog.goo.ne.jp/raycy/e/463f8a608632c683d4443f078c7993eb http //www26.atwiki.jp/raycy/pages/179.html ショールズが目指したとされる”何か”、その高みの姿のひとつが、この http //www26.atwiki.jp/raycy/pages/143.html ショールズ後年の特許配列とされる。安岡孝一氏はこの配列を著書中では称揚しているようでもあった。サイトにはないな、http //slashdot.jp/~yasuoka/journal/377632 確かに、ショールズの意図は、この後年特許配列に純化した形で現れているかもしれない。 http //www26.atwiki.jp/raycy/pages/163.html http //www26.atwiki.jp/raycy/pages/145.html 見た感じ、どちらかといえば、頻出digraphのタイプバー配置隣接忌避に注力した配置に思えるが、 はたしてどうか。 Dvorak風に分析すると、どうであろうか。 link_trackbackcounter -
https://w.atwiki.jp/yuki1207/pages/16.html
用語 用語 文法 データ型 式 ループ 条件分岐 配列 メソッド デリゲート ファイル タイマー 乱数 VB6→VB.net移行 コントロール配列 グラフィック フォント 透過 グラフ(Chart) プログラム Attendance_List TodoList 参考 Visual Basic 2008 入門 Webページ
https://w.atwiki.jp/elona_valiant/pages/18.html
skill_data ステータス、スキル関連 メモリ改造はあんまりやらないから詳しいことは言えないけど。 HSPで扱える数値型変数は4バイト符号付整数と8バイト倍精度浮動小数点のみ。リトルエンディアン。 配列変数は必ず連続した領域が使用され、2次元以上の場合は array(0,0), array(1,0)....array(n,0), array(0,1), array(1,1)...の順で参照される。 elonaではごく一部の計算の途中経過に浮動小数点が使われる他は全て整数で保存、計算されている。 各キャラクタのデータは2つの配列変数に格納されている。 (フィートとかエーテル病とか呪文のストックとかプレイヤー専用の状態は別変数) 定義はこんな感じ。 dim cdata, 500, 245 dim sdata, 1200, 245 そんでcdata(38,0)がプレイヤーのレベルでsdata(10, 0)がプレイヤーの現在の筋力だったりする。 skillの方はsdata(0~599,ユニットNo)が現在値、sdata(600~1199,ユニットNo)が基本値と経験値と成長値を表している。 (プレイヤーのユニットNoは0) 現在値の方は何かの理由で変動するたびに基本値から再計算されるので書き換えても意味が無い。 基本値のほうは例えば窃盗スキル(識別番号303)を[c]コマンドでスキルを見たときに23.456(123%)となっていたらsdata(303 + 600, 0)には23456123(16進 165E97B)が入ってる。 この形式は筋力等の能力値もスキルも魔法も同じ。 上で書いたように配列変数は必ず連続してるので適当なスキルを元に検索して識別番号の差*4のアドレスを探せばどんなスキルも変えられるはず。 skillで書き換える価値があるのは 解析/魔法スキルリストで書いたのが全部。 statusの方は17 好感度、21 生年、30 金、31 プラチナ、34 名声、35 EXP、36 NextEXP、38 レベル、41 スキルボーナス、49 カルマ、61 信仰する神、62 信仰ポイント、くらいかな。 cdata(85, キャラNo)=雇用回数。雇用するたびに+1。 cdata(100~129, キャラNo)が装備箇所。 無し, "頭", "首", "背中", "胴体", "手", "指", "腕", "腰", "足", "遠隔", "矢弾" がそれぞれ0、10000、20000……110000に対応。 装備箇所を16個以上にすると装備画面が2ページに。 アイテムを装備している時、その装備箇所の値が+アイテムNoされる。 ユニット別スキル値格納様配列 sdata.s1 ユニットNo. 0 ~ 56の領域 sdata_???_???.s1 ユニットNo. 57 ~ 244の領域 dim sdata, 1200, 245 配列の要素サイズは4バイト(=符号付32ビット整数) 魔法ストック関連 魔法ストックはこんな感じ spell.s1 dim spell, 200 spell(魔法の識別番号-400)がその魔法のストック数。[v]で表示されるのと同じ値。 識別番号は 解析/魔法スキルリストのやつ。 レシピ関連情報格納配列 krecipe.s1 dim krecipe, 3, 800 各アイテムに対するレシピ習得済みフラグ等が格納される krecipe(0, アイテムID) レシピ習得済みフラグ krecipe(1, アイテムID) 未使用 krecipe(2, アイテムID) 未使用
https://w.atwiki.jp/kajuaru/pages/36.html
別名:えいぐはっ 紹介文:稲配列作者で通称稲さん。農家ではない。 十数枚のキーボードを所有していて最適化、運指表マニア。 最近のお気に入りはメカニカルキーボードのようである。 アキバで定期的にTODをやっている。スタッフロールが得意。 スコアアタックも得意で歴代3位の記録(9512点)を出している。 AC版TODを所有している。 酔鍵の使い手でよく飲酒しながらタイピングしている。 タイプウェルの大半の記録は飲酒時に出したもの。 出現場所:twitter 使用配列:qwerty、JISかな、稲配列 名言:飲酒するタイパーと飲酒タイピングやる人は違う 目立った記録: TW-殿堂group τ 記録 【TW】 JR ZJ(ZI/ZJ/ZJ/XX) 13/01/19 JK XG(XD/XJ/XG/XI) EW XA(XS/XD/XA/XC) OR XG(XF/XF/XD/SA) 憲法R XA(XS/ZI/XD/XC) 【TOD】 9512点(NORMAL台) 運指表 twitterID:@eigh8_t
https://w.atwiki.jp/chibutsu/pages/51.html
TV関数 tv, tvscl関数を使うと要素数が多い2次元配列を簡単,視覚的に確認できる.以下例. a = dist(100) tv, a 煩雑な設定なしに二次元配列がコンターとしてプロットされる.tvscl は規格化されて出力される.
https://w.atwiki.jp/hmn_fanks/pages/80.html
WinGroove あざらし氏制作のシェアウェアソフトシンセ。GM配列にのみ対応する(GM以外でも一応受信して認識したりするが動作に違いはない模様)。この当時、ソフトシンセといえばVSCしかないような状況で、シェアウェアながらも超絶な軽さと高品質音色を誇る音源として登場した。 徹底的に音を削って制作したということで数MBの容量しか食わないのだが、異様に太い音が鳴る。バランスが違うので他の音源の代わりという点では疑問が残るものの、CPU占有率が低いこともあって扱いやすさではハード音源並みとも思える(デフォルトで0.5秒の遅延は仕方ないが、現在のスペックならほぼ遅延を無視できるところまで発音タイミングを早められる)。 Win3.1でもさくさく動作するとか、もはやすごすぎて笑うしかない。 まぁ筆者持田も3.1時代にお世話になりましたが。 ●パート:16(パート10がリズム・パート) ●最大同時発音数:128音 ●コーラス、リバーブ、ディレイなど ●GM音色配列対応。ドラムセットなど一部GS、XG配列対応 このページを編集 名前 コメント