約 4,181,405 件
https://w.atwiki.jp/fallout2jap/pages/37.html
このページはRP2.3.3の日本語ファイル置き場です。RP1.2版はこちら。 ◯最新版の日本語ファイル Fallout2jp190915.zip ◯既知の問題(一部ネタバレあり) REVIEWや戦闘中左下ミニウインドウで表示される名前と、NPCの名前が一致しない 原因不明。情報求む。日本語化の過程で起きている問題だと思われる。 ゲームオーバー時の字幕で日本語が表示できない 原因不明。情報求む。おそらくFallout2/data/font0.fonが関係していると思われる 左下ミニウインドウに表示されるカルマの上昇下降を示すテキスト(漂ou lost 〇〇 karmaなど)が英語のまま 参照しているテキストのありかがわからない。情報求む。 New Renoの2nd Streetから別エリアへ移動しようとするとクラッシュする ハイレゾパッチとPCの相性が悪いことが原因だと思われる。 対処法はハイレゾパッチを切ることだが、(少なくとも自分の環境では)切ると起動できなくなってしまう。 やや面倒だが、セーブエディタを使って問題を解消する方法 Fallout 2/CrashFix/F2se/F2se.exeを起動 「option」→「Browse」→Fallout 2のフォルダを選択し、「OK」→「OK」 セーブスロットを選択し、「Maps」→New Renoを選択し、「Entrance_0」~「Entrance_3」を1にする これで2nd Streetを経由することなく、ワールドマップから各エリアへ移動できるようになる クラッシュの条件は「2nd Streetから別エリアへ移動する」ことなので、常にワールドマップから各エリアへ移動するようにすれば支障なくプレイできる(はず) マイロンにコンバットアーマー・パワーアーマーを着せると姿が消えてしまう うっかりスクリプトを書き換えてしまった翻訳者の不手際が原因 もしこの症状が出てしまった方は、こちらのパッチを当ててください Shiの皇帝との会話、暗号表を持っていると見られる中華人民共和国諜報ネットワークの記録を見ると会話から抜けられなくなる 英語版と比べ一度に表示できる行数が1行少ないのが原因。本来は 戻る の下に会話から抜ける選択肢がある。 スクリプトを変更して対処しようと思ったが、どうしてもコンパイルすることができず断念。打つ手なし。 戦闘中にフリーズする 基本的には原因不明。 自分の環境だけかもしれないが、装備スロットにスティムパックやグレネードなど1個ずつ使うタイプのアイテムを入れていると不安定になることがある。 敵ターン中だけ画面が動かなくなってしまう症状の場合、以下の方法で改善する可能性あり f2_res_config.exeを起動 Manually Edit Configをクリック 「EXTRA_WIN_MSG_CHECKS=0」を「EXTRA_WIN_MSG_CHECKS=1」に変更して保存 EPAでデックスを蘇生させた後に始まる会話でクラッシュする 今のところ原因不明。スクリプトをいじるしかない可能性もあるため、翻訳する際に対応する予定。 解決。単に}が一箇所抜けていただけだった。 ○更新履歴 2019年09月15日 マイロンに関して問題が見つかったので修正。 うっかりスクリプトを書き換えてしまっていたため、RPインストール時にNPC Armor Modを導入していなかった人にかぎり、コンバットアーマー・パワーアーマーを着せた際にマイロンが消えてしまうバグが起きてしまっていた。 ファイルからマイロンのスクリプトを削除し、それに応じてマイロンのテキストファイルも一部修正した。 2019年09月05日 Arroyoの未翻訳部分。その他気になった部分や見落としていた箇所の手直し。 2019年06月04日 EPAの未翻訳部分。 2019年03月17日 Abbey、Umbra Tribeの未翻訳部分。 2019年02月08日 Abandoned House、Hub Stash、San Francisco、Special Encounterの未翻訳部分。 2018年12月19日 Vault 15、Vault 13、The Den、Enclave、Klamath、Navarro、Random Encounter、Reddingの未翻訳部分。 2018年11月24日 Sierra Army Depot、NCRの未翻訳部分。 2018年10月07日 New Renoの未翻訳部分。少数の細かい修正。 2018年04月30日 Broken Hillsの未翻訳部分。 2018年03月26日 Geckoの未翻訳部分。Vault Villageすべて。 2018年01月31日 Vault Cityの未翻訳部分。 2017年12月09日 Modoc未翻訳部分すべて。The Denのリトルボビーと不法居住者。NCRのエリース。コンパニオンが重傷などを負った際のフロート台詞 2017年11月14日 Submarine関連すべて。複数の細かい修正。 2017年10月18日 RP2.3.3に対応 2017年09月21日 ランダム・スペシャルエンカウンター。戦闘時のセリフ。少数の細かい修正。 2017年07月08日 EPAすべて。一部のスクリプトを変更・修正。アイテム翻訳完了。 2017年05月26日 Abbeyすべて(完全にとはいかないが、RP2.3.3にできるだけ近い形になるよう細かい部分を変更)。New Renoのタリー神父。いくつか細かい修正。 2017年03月30日 Reddingすべて。一部のスクリプトの誤りを修正。「ウォーターフラスコ」をすべて「水筒」に変更。「フリント」を「砥石」に変更。 2016年12月03日 The Den・Slaver Camp・Primitive Tribeほぼすべて、既訳分もかなり手直し。一部のスクリプトの誤りを修正。ハボロジストの「ゼイタン・スキャン」を「ゼータ・スキャン」へ変更。タンカーの浮浪者の呼称「チンピラ」を「パンクス」へ変更。「yakuza」を「ヤクザ」へ変更。 2016年09月17日 Klamathほぼすべて、すでに訳してあった部分も少し手直し。プリメイドキャラクターの略歴 2016年07月25日 Enclave関連すべて、全エンディング 2016年05月31日 San Francisco・Navarro・Hub Stash関連ほぼすべて 2016年02月12日 Military Base関連、カガ関連すべて、スペシャルエンカウンター「橋の番人」「ブリキの木こり」「墜落したシャトル」、ワールドマップ上でエンカウントした際の字幕すべて、コンパニオンの能力が上がった際の台詞、戦闘関連の字幕を修整&未完了分を翻訳、High Resolution patch 4.1.8にあわせた修整、二行になったりして読みにくかったアイテム名を修正、他細かい調整いくつか 2016年01月17日 Vault 13関連すべて。イントロの字幕の一部。他細かい修正 2015年12月02日 New Renoのビショップ・ファミリー関連すべて。Raiderすべて。New California Republicの7割程。Vault 15すべて 2015年07月26日 New Renoのビショップ・ファミリーを除く四大ファミリー(モルディーノ・サルバトーレ・ライト)クエストやボクシング・ポルノスター関連。Sierra Army Depotほぼすべて 2015年01月29日 Broken Hillsの一部 2014年12月10日 Vault CityとGeckoの一部 2014年08月13日 Modocの一部 2014年06月29日 The Denの一部 2014年05月12日 Klamathの一部。gameフォルダのファイルを一部日本語化 2014年03月29日 Arroyoの一部
https://w.atwiki.jp/syldra/pages/19.html
ファイルのアップロード方法 画面上のメニューバーから[編集]-[このページにファイルをアップロード]を選択 表示されたページの参照ボタンをクリックして、アップロードするファイルを選択して開くをクリック ファイルを選択したらアップロードボタンをクリック
https://w.atwiki.jp/rffbl22/pages/42.html
ctlファイルの書き方 NetCDFのような自己記述型ファイル以外の、バイナリファイルの表示には ctlファイルを作成する必要がある。
https://w.atwiki.jp/r-intro/pages/32.html
目次 目次 ファイル 読み込み テキストファイルの中身を簡単に読み込む ヌル(0x00)を含むCSVファイルやTSVファイルを読み込む ヌル(NULL)が含まれるテキストファイルをread.table関数で読み込む ヌル(0x00)を含むテキストファイルを高速に読み込む 書き込み ベクトルの要素をテキストファイルに書き込む ファイルへの高速な書き込み fwriteによる日付時刻型の出力 テンポラリファイルを利用する 文字コードを指定してCSVファイルを読み込む BOM(バイトオーダーマーク)が付いたファイルを読み込む 新常用漢字表の漢字を含むテキストファイルを読み込む 警告メッセージ「line ○ appears to contain embedded nulls」 サイズが非常に大きなテキストファイルを簡単に作成する 様々な文字コードのCSVファイルを読み込む テキストファイルを高速に読み込む バイナリファイルを作成する ファイルとディレクトリ ファイルやディレクトリの存在を確認する ディレクトリ カレントディレクトリを取得する カレントディレクトリを設定する ディレクトリ内のファイル一覧を得る ディレクトリ一覧を得る 文字列型ベクトルを簡単にテキストファイルに出力する ファイル 読み込み テキストファイルの中身を簡単に読み込む scan関数を使うとテキストファイルの中身をベクトルに簡単に読み込むことができる。以下の6行からなるテキストファイルを「text.txt」として保存する。 A abc あいう 阿伊宇 123xyz 読み込んでみる。 lines - scan("text.txt", what = character(0)) Read 5 items print(lines) [1] "A" "abc" "あいう" "阿伊宇" "123xyz" whatオプションをcharacter(0)とすることで、すべてを文字列で読み込む。デフォルトでは一行一要素でベクトルに代入される。空行(5行目)はデフォルトでは読み込まれない。これを読み込むようにするには、blank.lines.skipオプションをFALSEにする。 lines - scan("text.txt", what = character(0), blank.lines.skip = FALSE) Read 6 items print(lines) [1] "A" "abc" "あいう" "阿伊宇" "" "123xyz" 「Read 6 items」を表示しなくするには、quietオプションをTRUEにする。 lines - scan("text.txt", what = character(0), quiet = TRUE) print(lines) [1] "A" "abc" "あいう" "阿伊宇" "123xyz" ヌル(0x00)を含むCSVファイルやTSVファイルを読み込む 始めにヌルを含むCSVファイルを作成する。 ch1 - c(0x41 0x43, 0x2c, 0x00, 0x2c, 0x47 0x49, 0x0d, 0x0a) ch1 - c(0x41 0x43, 0x2c, 0x00, 0x2c, 0x47 0x49, 0x0d, 0x0a) ch2 - c(0x61, 0x00, 0x63, 0x2c, 0x64 0x66, 0x2c, 0x67 0x69, 0x0d, 0x0a) ra - as.raw(c(ch1, ch2)) writeBin(ra, "temp.csv") ファイルをメモ帳で開くと、以下のようになる。1行目の2列目は列の値自体がヌルで、2行目の1列目は「a」と「c」の間は空白(0x20)ではなくヌル(0x00)である。 ABC, ,GHI a c,def,ghi 標準で搭載されているread.tableは、skipNulオプションにTRUEを指定しないと、ヌルだけの列は列とは認識されず、行によって列数が異なることになるため、エラーが発生して読み込みに失敗する。skipNulオプションにTRUEを指定と、ヌルは完全に無視して他はすべて読み込まれる。ヌルの次の「c」もきちんと読み込まれている。 dtf - read.table("temp.csv", header = FALSE, sep = ",") scan(file = file, what = what, sep = sep, quote = quote, dec = dec, でエラー line 2 did not have 2 elements 追加情報 警告メッセージ 1 read.table("temp.csv", header = FALSE, sep = ",") で line 1 appears to contain embedded nulls 2 read.table("temp.csv", header = FALSE, sep = ",") で line 2 appears to contain embedded nulls print(dtf) エラー オブジェクト dtf がありません dtf - read.table("temp.csv", header = FALSE, sep = ",", skipNul = TRUE) print(dtf) V1 V2 V3 1 ABC GHI 2 ac def ghi readrパッケージのread_delim関数を試してみる。ヌルだけの列はきちんと処理されているようだが、ヌルを含む列は、ヌル以降は読み込まれていない(「c」が表示されない)。 library(readr) tib - read_delim("temp.csv", delim = ",", col_names = FALSE, progress = FALSE, show_col_types = FALSE) 警告メッセージ One or more parsing issues, call `problems()` on your data frame for details, e.g. dat - vroom(...) problems(dat) print(data.frame(tib)) X1 X2 X3 1 ABC NA GHI 2 a def ghi data.tableパッケージのfread関数を使う。これはヌルを完全に無視して読み込むし、ヌルだけの列は空欄(NA)ということで処理できているし、ヌル以降の文字もきちんと読み込まれている。 library(data.table) dtt - fread("temp.csv", header = FALSE, sep = ",", showProgress = FALSE) print(dtt) V1 V2 V3 1 ABC GHI 2 ac def ghi ヌル(NULL)が含まれるテキストファイルをread.table関数で読み込む read.table関数は、読み込むファイルにヌル(NULL、0x00)が含まれていると、列内のヌル以降は読み込まなくなる。これをヌルは無視してとにかく読み込むようにするには、skipNulオプションにTRUEを指定する。以下は、3行からなるテキストファイルtemp.txtを作成し、そのファイルを読み込んだ例。3行目の「c」の次にはヌルを含んでおり、デフォルトでは警告が発生しているが、skipNulオプションにTRUEを指定すると、ヌルを無視してすべて読み込んでいることがわかる。 Sys.getlocale() [1] "LC_COLLATE=Japanese_Japan.utf8;LC_CTYPE=Japanese_Japan.utf8;LC_MONETARY=Japanese_Japan.utf8;LC_NUMERIC=C;LC_TIME=Japanese_Japan.utf8" ch1 - c(0x30 0x39, 0x0d, 0x0a, 0x41 0x5a, 0x0d, 0x0a) ch2 - c(0x61 0x63, 0x00, 0x65 0x7a, 0x0d, 0x0a) ra - as.raw(c(ch1, ch2)) writeBin(ra, "temp.txt") read.table("temp.txt") V1 1 0123456789 2 ABCDEFGHIJKLMNOPQRSTUVWXYZ 3 abc 警告メッセージ read.table("temp.txt") で line 3 appears to contain embedded nulls read.table("temp.txt", skipNul = TRUE) V1 1 0123456789 2 ABCDEFGHIJKLMNOPQRSTUVWXYZ 3 abcefghijklmnopqrstuvwxyz ヌル(0x00)を含むテキストファイルを高速に読み込む 始めにヌルを含む巨大なテキストファイルを作成する。以下は文字コードがUTF-8の環境のため(3×5+2)×2×10^7=340,000,000バイト(約324MB)のテキストファイルを作成している。ファイルの行数は10^7=10,000,000行。それぞれの行は苗字と名前の間にヌル(0x00)が挟まれている。 Sys.getlocale() [1] "LC_COLLATE=Japanese_Japan.utf8;LC_CTYPE=Japanese_Japan.utf8;LC_MONETARY=Japanese_Japan.utf8;LC_NUMERIC=C;LC_TIME=Japanese_Japan.utf8" ra1 - unlist(iconv("石見", toRaw = TRUE)) ra2 - unlist(iconv("舞菜香", toRaw = TRUE)) ra3 - unlist(iconv("和多田", toRaw = TRUE)) ra4 - unlist(iconv("美咲", toRaw = TRUE)) ra - c(ra1, as.raw(0), ra2, as.raw(0x0a), ra3, as.raw(0), ra4, as.raw(0x0a)) writeBin(rep(ra, 10 ^ 7), "temp.txt") file.info(dir(patter = "temp\\.txt"))["size"] size temp.txt 3.4e+08 scan関数を使用して読み込む場合は、skipNulオプションにTRUEを指定しないとうまく読み込むことができない。 lns - scan("temp.txt", what = character(), sep = "\n", quiet = TRUE) 警告メッセージ scan("temp.txt", what = character(), sep = "\n", quiet = TRUE) で 入力文字列の中に nul が埋め込まれています length(lns) [1] 20000000 lns[1 3] [1] "石見" "和多田" "石見" lns - scan("temp.txt", what = character(), sep = "\n", quiet = TRUE, skipNul = TRUE) length(lns) [1] 20000000 lns[1 3] [1] "石見舞菜香" "和多田美咲" "石見舞菜香" read.table関数を使用して読み込む場合も、skipNulオプションにTRUEを指定しないとうまく読み込むことができない。 dtf - read.table("temp.txt", header = FALSE, sep = "\n") 警告メッセージ 1 read.table("temp.txt", header = FALSE, sep = "\n") で line 1 appears to contain embedded nulls 2 read.table("temp.txt", header = FALSE, sep = "\n") で line 2 appears to contain embedded nulls (表示省略) 入力文字列の中に nul が埋め込まれています nrow(dtf) [1] 20000000 head(dtf, 3) V1 1 石見 2 和多田 3 石見 dtf - read.table("temp.txt", header = FALSE, sep = "\n", skipNul = TRUE) nrow(dtf) [1] 20000000 head(dtf, 3) V1 1 石見舞菜香 2 和多田美咲 3 石見舞菜香 それぞれの関数で読み込みに要する時間を計測してみる。 system.time( + scan("temp.txt", what = character(), sep = "\n", quiet = TRUE, skipNul = TRUE) + ) ユーザ システム 経過 3.06 0.14 3.86 system.time( + scan("temp.txt", what = character(), sep = "\n", quiet = TRUE, skipNul = TRUE) + ) ユーザ システム 経過 3.35 0.14 3.89 system.time( + read.table("temp.txt", header = FALSE, sep = "\n", skipNul = TRUE) + ) ユーザ システム 経過 3.06 0.09 4.03 system.time( + read.table("temp.txt", header = FALSE, sep = "\n", skipNul = TRUE) + ) ユーザ システム 経過 2.92 0.20 4.06 scan関数の方が若干早い。なお、単純にテキストファイルを読み込むだけであればreadrパッケージのfread関数やread_lines関数のほうが高速に動作するが、以下の例のとおりにヌルを含むとうまく動作をしない。これを制御するオプションは無いようだ。 library(readr) fread("temp.txt", sep = "\n") fread("temp.txt", sep = "\n") でエラー 文字列の中に nul が埋め込まれています 石見\0舞菜香 追加情報 警告メッセージ fread("temp.txt", sep = "\n") で Previous fread() session was not cleaned up properly. Cleaned up ok at the beginning of this fread() call. read_lines("temp.txt", progress = FALSE) character(0) 書き込み ベクトルの要素をテキストファイルに書き込む write関数を使う。次のベクトルの中身をテキストファイル「output.txt」に書き込む s - c("a", "AB", "あいう", "", "阿伊宇") write(s, file = "output.txt") カレントディレクトリにファイル「output.txt」がつくられ、一要素一行の以下のような中身になっているはず。同名ファイルが既にある場合は、そのファイルはいったん削除され、新たにファイルがつくられる。 a AB あいう 阿伊宇 既にある同名ファイルに追加したい場合は、appendオプションをTRUEにする。 write(s, file = "output.txt", append = TRUE) ファイルoutput.txtの中身は以下のようなったはず。 a AB あいう 阿伊宇 a AB あいう 阿伊宇 これまでは文字列型ベクトルを出力していたが、数値型ベクトルの場合は次のように書き込まれる。 n - 1 3 write(n, file = "output.txt") 1 2 3 要素と要素の間のセパレーターはデフォルトでは空白一つ(0x20)。これを変えるにはsepオプションにセパレーターを指定する。 write(n, file = "output.txt", sep = "\n") 1 2 3 ファイルへの高速な書き込み data.tableパッケージのfwrite関数を使う。以下は、行数が100万のデータフレームを、write.table関数とfwrite関数を使ってそれぞれTSV形式のテキストファイルに書き込んだ例。書き込んだ行数はヘッダー行も含むため100万1行であることに注意。それぞれ2回繰り返し行ったが、fwrite関数による書き込みのほうが10倍以上速いことがわかる。 library(data.table) n - 10 ^ 6 no - 1 n s - c("カナメ", "フレイア", "美雲", "マキナ", "レイナ") name - sample(s, n, replace = TRUE) shoe_size - round(rnorm(n, 23.5, 1), 1) dtf - data.frame(no, name, shoe_size) head(dtf, 3) no name shoe_size 1 1 美雲 22.6 2 2 マキナ 22.5 3 3 レイナ 23.5 system.time( + write.table(dtf, "temp.tsv", sep = "\t", row.name = FALSE, quote = FALSE) + ) ユーザ システム 経過 3.48 0.18 3.71 system.time( + write.table(dtf, "temp.tsv", sep = "\t", row.name = FALSE, quote = FALSE) + ) ユーザ システム 経過 3.45 0.09 3.54 system.time( + fwrite(dtf, "temp.tsv", sep = "\t", row.name = FALSE, quote = FALSE) + ) ユーザ システム 経過 0.07 0.02 0.04 system.time( + fwrite(dtf, "temp.tsv", sep = "\t", row.name = FALSE, quote = FALSE) + ) ユーザ システム 経過 0.16 0.00 0.05 fwriteによる日付時刻型の出力 data.tableパッケージのfwrite関数では、日付時刻型のオブジェクトを出力するとUTCに変換して出力されてしまう(ちょうど9時間前の日付時刻が出力される)。以下の例のとおり、出力元のオブジェクトのタイムゾーンをJSTに設定しても、出力はUTCの日付時刻になり、それを表す記号(Z)が付けられて出力される。オブジェクトの値をそのまま(JSTのまま)出力したい場合は、dateTimeAsオプション(デフォルトは「ISO」)に「write.csv」を指定すると、よく見る書式でかつJSTで出力される。 「write.csv」を指定したときのファイルはExcelで開くと、その列はそのまま日付時刻型の値になる便利な書式である。 library(data.table) library(lubridate) n - 3 no - 1 n dtm - make_datetime(2000, 1 n, 1, 2, 3, 4, "Asia/Tokyo") dtf - data.frame(no, name, dtm) print(dtf) no name dtm 1 1 January 2000-01-01 02 03 04 2 2 February 2000-02-01 02 03 04 3 3 March 2000-03-01 02 03 04 fwrite(dtf, "temp.csv", sep = ",") shell("type temp.csv") no,name,dtm 1,January,1999-12-31T17 03 04Z 2,February,2000-01-31T17 03 04Z 3,March,2000-02-29T17 03 04Z fwrite(dtf, "temp.csv", sep = ",", dateTimeAs = "ISO") shell("type temp.csv") no,name,dtm 1,January,1999-12-31T17 03 04Z 2,February,2000-01-31T17 03 04Z 3,March,2000-02-29T17 03 04Z fwrite(dtf, "temp.csv", sep = ",", dateTimeAs = "squash") shell("type temp.csv") no,name,dtm 1,January,19991231170304000 2,February,20000131170304000 3,March,20000229170304000 fwrite(dtf, "temp.csv", sep = ",", dateTimeAs = "write.csv") shell("type temp.csv") no,name,dtm 1,January,2000-01-01 02 03 04 2,February,2000-02-01 02 03 04 3,March,2000-03-01 02 03 04 テンポラリファイルを利用する 一時的なファイル(テンポラリファイル)を利用するにはtempfile関数を使う。tempfile関数はテンポラリファイルを作成するのではなく、テンポラリファイルとして使用できるファイル名を返すことに注意。以下、実行例。 filename - tempfile() filename [1] "C \\Users\\○○\\AppData\\Local\\Temp\\××\\□□" write(1 3, file = filename) dtf - read.table(file = filename) dtf V1 V2 V3 1 1 2 3 上記はWindows 10 で実行した例。○○はアカウント名、××と□□は任意の文字列。××は現在起動したR専用のテンポラリディレクトリであり、そのRを終了するとこのディレクトリは自動で削除される。□□はテンポラリファイルのファイル名で、このファイルも自動で削除される。 このテンポラリディレクトリ名を得るにはtempdir関数を使う。 tempdir() [1] "C \\Users\\○○\\AppData\\Local\\Temp\\××" 文字コードを指定してCSVファイルを読み込む read.csv関数を使う。その際、fileEncodingオプションに文字コードを指定する。シフトJIS(CP932)であれば「CP932」を、UTF-8であれば「UTF-8」を指定する。特に指定をしないと、今の環境のロケールの文字コードで読み込む。指定に誤りがあると、エラーが発生する。 以下は、以下のテキストをそれぞれシフトJIS(CP932)でtextcp932.csv、UTF-8でtextutf8.csvと保存をして、それぞれ読み込ませた例。 no,姓,名 1,中野,一花 2,中野,二乃 Sys.getlocale() [1] "LC_COLLATE=Japanese_Japan.932;LC_CTYPE=Japanese_Japan.932;LC_MONETARY=Japanese_Japan.932;LC_NUMERIC=C;LC_TIME=Japanese_Japan.932" dtf - read.csv("textcp932.csv") print(dtf) no 姓 名 1 1 中野 一花 2 2 中野 二乃 dtf - read.csv("textcp932.csv", fileEncoding = "CP932") print(dtf) no 姓 名 1 1 中野 一花 2 2 中野 二乃 dtf - read.csv("textutf8.csv") make.names(col.names, unique = TRUE) でエラー 2 は不正なマルチバイト文字です dtf - read.csv("textcp932.csv", fileEncoding = "CP932") print(dtf) no 姓 名 1 1 中野 一花 2 2 中野 二乃 BOM(バイトオーダーマーク)が付いたファイルを読み込む fileEncodingオプションを使う。BOMが付いたUTF-8の場合はUTF-8-BOM、UTF-16の場合はUTF-16を指定するが、そのまま読み込んでくれる。以下は、read.csv関数を使用した例。 以下の3行を、それぞれBOM付きのUTF-8、UTF-16形式で、bomutf8.csv、bomutf16.csvで保存する。 no,姓,名 1,佐藤,太郎 2,鈴木,次郎 read.csv関数で読み込む。 dtf - read.csv("bomutf8.csv") make.names(col.names, unique = TRUE) でエラー ef サ bf no に不正なマルチバイト文字があります dtf - read.csv("bomutf8.csv", fileEncoding = "UTF-8-BOM") dtf no 姓 名 1 1 佐藤 太郎 2 2 鈴木 次郎 dtf - read.csv("bomutf16.csv", fileEncoding = "UTF-16") dtf no 姓 名 1 1 佐藤 太郎 2 2 鈴木 次郎 BOMについてはこちらを参照のこと。RにおけるBOMの扱いは、connectionsのヘルプを参照。 ?connections 新常用漢字表の漢字を含むテキストファイルを読み込む Windows版Rのバージョン4.1.3までは、新常用漢字表の漢字のうちUnicodeにしか存在しない文字、すなわちシフトJISコードが割り当てられていない漢字を含むテキストファイルを読み込むことはエンコードを指定してもできなかった。例えば、以下の内容をテキストファイルmoji.txtとしてUTF-8で保存する。 ABC 123 あいう 補塡する 𠮟る 辰𠮷𠀋一郎 𩸽(ホッケ)を食べる 𩹉(トビウオ)を捕まえる バージョン4.1.3で文字コードにUTF-8を指定してscan関数で読み込むと失敗する。 s - scan(file = "moji.txt", what = character(), sep = "\n", fileEncoding = "UTF-8") Read 4 items 警告メッセージ scan(file = "moji.txt", what = character(), sep = "\n", fileEncoding = "UTF-8") で 入力コネクション moji.txt に不正な入力がありました print(s) [1] "ABC" "123" "あいう" "補" バージョン4.2.2で文字コードにUTF-8を指定してscan関数で読み込むとうまくいく。 s - scan(file = "moji.txt", what = character(), sep = "\n", fileEncoding = "UTF-8") Read 8 items print(s) [1] "ABC" "123" [3] "あいう" "補塡する" [5] "頰をなでる" "辰𠮷𠀋一郎" [7] "𩸽(ホッケ)を食べる" "𩹉(トビウオ)を捕まえる" サロゲートペアの文字(6~8行目)も、正しく読み込んでいることがわかる。 警告メッセージ「line ○ appears to contain embedded nulls」 read.tableやread.csv関数を使用してこのメッセージが表示されたときは、読み込んだファイルにヌル(0x00、NULL)が含まれており、そのために正しく読み込めていない可能性が高い。skipNulオプションをTRUEにすると、ヌルをスキップして読み込むようになり、このメッセージが表示されなくなる。 dtf - read.csv("○○○", header = TRUE) 警告メッセージ read.table(file = file, header = header, sep = sep, quote = quote, で line ○ appears to contain embedded nulls dtf - read.csv("○○○", header = TRUE, skipNul = TRUE) サイズが非常に大きなテキストファイルを簡単に作成する 動作確認でサイズが非常に大きなテキストファイルが必要なときがあるが、文字型ベクトルを使うと簡単に作成することができる。 以下は、Windows環境でサイズが5億バイト(≒476.8MB)のファイルを、一つのコマンドで作成している。10バイトの文字列("AB12あい"の8バイトと改行コードCR+LFの2バイト)を5,000万個作り、それをテキストファイルに出力している。文字コードはシフトJIS、改行コードはCR+LFとしているため、サイズが単純に10バイト×5,000万=5億バイトとなっている。作成には10分弱要している。 cat(rep("AB12あい", 5 * 10 ^ 7), file = "temp.txt", sep = "\n") dir(".", "temp\\.txt") [1] "temp.txt" file.size("temp.txt") [1] 5e+08 様々な文字コードのCSVファイルを読み込む read.table関数を使う。fileEncodingオプションに文字コードを指定する。 動作確認のため、最初にPowerShellを使ってカレントディレクトリに、順番にシフトJIS、UTF-8(BOM無し)、UTF-8(BOM付き)、UTF-16(ビッグエンディアン、BOM付き)、UTF-16(リトルエンディアン、BOM付き)のCSVファイルを出力する。PowerShellのコマンドレットでは、Unicode系は原則BOM付きとなる。そのため、BOM無しのUTF-8の出力には、FileクラスのWriteAllLinesメソッドを使用している。 PS $lines = "1,ABC", "2,abc", "3,あいう" PS $odir = (gl).Path PS $lines | Out-File -Encoding default ($odir + "\sjis.csv") PS [IO.File] WriteAllLines(($odir + "\utf8nb.csv"), $lines) PS $lines | Out-File -Encoding utf8 ($odir + "\utf8wb.csv") PS $lines | Out-File -Encoding bigendianunicode ($odir + "\utf16bewb.csv") PS $lines | Out-File -Encoding unicode ($odir + "\utf16lewb.csv") PS Get-Content .\sjis.csv 1,ABC 2,abc 3,あいう PS Get-Content .\utf8nb.csv -Encoding utf8 1,ABC 2,abc 3,あいう Rを起動して、read.table関数で読み込んでみる。現在の環境下における文字コードは特にオプションを指定しなくても読み込むことができる。 Sys.getlocale() [1] "LC_COLLATE=Japanese_Japan.utf8;LC_CTYPE=Japanese_Japan.utf8;LC_MONETARY=Japanese_Japan.utf8;LC_NUMERIC=C;LC_TIME=Japanese_Japan.utf8" read.table("sjis.csv", sep = ",") V1 V2 1 no name 2 1 ABC 3 2 abc 4 3 \x82\xa0\x82\xa2\x82\xa4 read.table("utf8nb.csv", sep = ",") V1 V2 1 no name 2 1 ABC 3 2 abc 4 3 あいう fileEncodingオプションにそれぞれ文字コードを指定する。UTF-16の場合、「UTF-16」を指定すればバイトオーダーマークからエンディアンを推定して読み込む。エンディアンを指定することもできる。最後の例のとおりに、エンディアンの指定を間違えると、指定のとおりに読み込もうとして読み込みに失敗する。 read.table("sjis.csv", sep = ",", fileEncoding = "SJIS") V1 V2 1 1 ABC 2 2 abc 3 3 あいう read.table("utf8nb.csv", sep = ",", fileEncoding = "UTF-8") V1 V2 1 1 ABC 2 2 abc 3 3 あいう read.table("utf8wb.csv", sep = ",", fileEncoding = "UTF-8") V1 V2 1 1 ABC 2 2 abc 3 3 あいう read.table("utf16bewb.csv", sep = ",", fileEncoding = "UTF16") V1 V2 1 1 ABC 2 2 abc 3 3 あいう read.table("utf16lewb.csv", sep = ",", fileEncoding = "UTF16") V1 V2 1 1 ABC 2 2 abc 3 3 あいう read.table("utf16bewb.csv", sep = ",", fileEncoding = "UTF-16BE") V1 V2 1 1 ABC 2 2 abc 3 3 あいう read.table("utf16lewb.csv", sep = ",", fileEncoding = "UTF-16LE") V1 V2 1 1 ABC 2 2 abc 3 3 あいう read.table("utf16lewb.csv", sep = ",", fileEncoding = "UTF-16BE") V1 1 \ufffe\u3100Ⰰ䄀䈀䌀ഀ\u0a00㈀Ⰰ愀戀挀ഀ\u0a00㌀Ⰰ䈰䐰䘰ഀ\u0a00 警告メッセージ read.table("utf16lewb.csv", sep = ",", fileEncoding = "UTF-16BE") で incomplete final line found by readTableHeader on utf16lewb.csv テキストファイルを高速に読み込む data.tableパッケージを利用する。以下は、100万行のテキストファイルtemp.txtを作成し、Rに標準で搭載されているread.table関数と、data.tableパッケージに含まれているfread関数で、それぞれそのファイルを読み込む時間を計測した結果。 library(data.table) mx - matrix(rnorm(1000000 * 4), ncol = 4) write.table(mx, "temp.txt", col.names = FALSE, row.names = FALSE) system.time(dtf - read.table("temp.txt", header = FALSE)) ユーザ システム 経過 7.94 0.15 8.14 system.time(dtb - fread("temp.txt")) ユーザ システム 経過 0.13 0.01 0.07 system.time(dtf - read.table("temp.txt", header = FALSE)) ユーザ システム 経過 7.41 0.09 7.51 system.time(dtb - fread("temp.txt")) ユーザ システム 経過 0.17 0.02 0.04 dim(dtf) [1] 1000000 4 dim(dtb) [1] 1000000 4 head(dtf) V1 V2 V3 V4 1 1.7752384 -1.4123053 0.24326013 0.5067002 2 -1.3369478 0.4076904 0.42491207 -1.6561556 3 -1.4287960 0.2838613 2.01597774 -1.0682637 4 0.7791319 0.5361162 0.05211674 0.2194605 5 -0.8555709 -0.5486108 0.11662963 2.0608156 6 0.8034380 -2.0021208 -0.29818598 -0.4815675 dim(dtb) [1] 1000000 4 head(dtb) V1 V2 V3 V4 1 1.7752384 -1.4123053 0.24326013 0.5067002 2 -1.3369478 0.4076904 0.42491207 -1.6561556 3 -1.4287960 0.2838613 2.01597774 -1.0682637 4 0.7791319 0.5361162 0.05211674 0.2194605 5 -0.8555709 -0.5486108 0.11662963 2.0608156 6 0.8034380 -2.0021208 -0.29818598 -0.4815675 キャッシュの効果を考慮して、交互に2回ずつ実施している。最後に、読み込んだデータフレームとデータテーブルの次元とそれぞれの長さを表示している。ファイルの読み込みは、fread関数のほうが明らかに早いことがわかる。 バイナリファイルを作成する 数値型ベクトルでバイト列を作成し、それをロウ型に変換してwriteBin関数で出力すればよい。以下は、ch1とch2の2つの数値型ベクトルでバイト列を作成し、それを純粋にバイト単位でファイル出力した例。 ch1 - c(0x30 0x39, 0x0d, 0x0a, 0x41 0x5a, 0x0d, 0x0a, 0x61 0x7a, 0x0d, 0x0a) ch2 - c(0xe3, 0x81, 0x82, 0xe3, 0x81, 0x84, 0xe3, 0x81, 0x86, 0x0d, 0x0a) ra - as.raw(c(ch1, ch2)) writeBin(ra, "temp.txt") temp.txtを画面にダンプした結果は以下のとおり。 PS Format-Hex .\temp.txt パス ○○○ 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00000000 30 31 32 33 34 35 36 37 38 39 0D 0A 41 42 43 44 0123456789..ABCD 00000010 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54 EFGHIJKLMNOPQRST 00000020 55 56 57 58 59 5A 0D 0A 61 62 63 64 65 66 67 68 UVWXYZ..abcdefgh 00000030 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 ijklmnopqrstuvwx 00000040 79 7A 0D 0A E3 81 82 E3 81 84 E3 81 86 0D 0A yz..ããã.. temp.txtをテキストエディタで文字コードをUTF-8に指定して開くと、以下のようになるはず。 0123456789 ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz あいう 本例では、結果をわかりやすくするためUTF-8の文字コードに相当する範囲で出力したのであって、そうではないバイト列(ヌル等)でも問題なく出力することができる。 ファイルとディレクトリ ファイルやディレクトリの存在を確認する ファイルの存在の有無を確認するにはfile.exists関数を、フォルダーの場合はdir.exists関数を使う。Rはフォルダー(ディレクトリ)の区切りを示す記号に「¥」(円マーク)と「/」(スラッシュ)の両方を使うことができる。 file.exists("C /Windows/win.ini") [1] TRUE file.exists("C /Windows/win.inii") [1] FALSE dir.exists("C /Windows") [1] TRUE dir.exists("C /Windowss") [1] FALSE file.exists関数は、フォルダーを指定した場合、そのフォルダー名の最後に区切り記号を付けないとTRUEを返すので注意。 file.exists("C /Windows") [1] TRUE file.exists("C /Windows/") [1] FALSE dir.exists関数はファイルであればFALSE、フォルダーであればTRUEを返す。 dir.exists("C /Windows") [1] TRUE dir.exists("C /Windows/") [1] TRUE dir.exists("C /Windows/win.ini") [1] FALSE ディレクトリ カレントディレクトリを取得する getwd関数を使う。インストール直後のスタートメニューからRを起動した状態で実行してみる。 getwd() [1] "C /Users/○○/Documents" ○○にはアカウント名が入る。 これはスタートメニューからRを起動するとそのようになっただけであり、例えば既存の.RDataファイルをダブルクリックしてRを起動すれば、その.RDataを置いてあるディレクトリをカレントディレクトリとしてRは起動することになる。 カレントディレクトリを設定する getwd関数を使う。 getwd() [1] "C /Users/○○/Documents" setwd("C /Users/○○/Pictures/") getwd() [1] "C /Users/○○/Pictures" setwd("C /Users/○○/Picture/") setwd("C /Users/○○/Picture/") でエラー 作業ディレクトリを変更できません 最後の例のとおり、存在しないディレクトリを指定するとエラーが発生する。 ディレクトリ内のファイル一覧を得る list.files関数を使う。pathオプションにはファイル一覧を取得するディレクトリを指定する。patternオプションに何も指定しないと全てのファイルを返す。特定のファイルのみを取得したい場合は、正規表現でファイル名のパターンを指定する。 以下は、とあるWindows 10環境下で行った例。 list.files(path = "C /Windows/Fonts") [1] "8514fix.fon" "8514fixe.fon" [3] "8514fixg.fon" "8514fixr.fon" (以下、表示省略) list.files(path = "C /Windows/Fonts", pattern = "^ms") [1] "msgothic.ttc" "msjh.ttc" "msjhbd.ttc" "msjhl.ttc" "msmincho.ttc" [6] "msyh.ttc" "msyhbd.ttc" "msyhl.ttc" "msyi.ttf" list.files(path = "C /Windows/Fonts", pattern = "^japan") character(0) ディレクトリ一覧を得る list.dirs関数を使う。第一引数にディレクトリ一覧を得たいディレクトリを指定すると、どのディレクトリに含まれるサブディレクトリが得られる。ただし、デフォルトでは、その指定したディレクトリ自身と、再帰的に得られるサブディレクトリ内のサブディレクトリも含まれる。以下、実行例。 list.dirs("C /Program Files/Windows NT") [1] "C /Program Files/Windows NT" [2] "C /Program Files/Windows NT/Accessories" [3] "C /Program Files/Windows NT/Accessories/en-US" [4] "C /Program Files/Windows NT/Accessories/ja-JP" [5] "C /Program Files/Windows NT/TableTextService" [6] "C /Program Files/Windows NT/TableTextService/en-US" [7] "C /Program Files/Windows NT/アクセサリ" 指定したディレクトリ内のサブディレクトリだけを得るには、recursiveオプションにFALSEを指定する。 list.dirs("C /Program Files/Windows NT", recursive = FALSE) [1] "C /Program Files/Windows NT/Accessories" [2] "C /Program Files/Windows NT/TableTextService" [3] "C /Program Files/Windows NT/アクセサリ" デフォルトでは絶対パスで表示されるが、full.namesオプションにFALSEを指定すると、第一引数に指定したディレクトリからの相対パスが得られる(指定したディレクトリは"")。 list.dirs("C /Program Files/Windows NT", full.names = FALSE) [1] "" "Accessories" "Accessories/en-US" [4] "Accessories/ja-JP" "TableTextService" "TableTextService/en-US" [7] "アクセサリ" list.dirs("C /Program Files/Windows NT", recursive = FALSE, full.names = FALSE) [1] "Accessories" "TableTextService" "アクセサリ" 文字列型ベクトルを簡単にテキストファイルに出力する cat関数を使う。sepオプションには文字型ベクトルの各要素の間に挟む文字列を指定する。以下の例では、最後のコマンドを実行後にはプロンプトは改行されないで表示される。 lns - c("ABC", "123", "あい") cat(lns, file = "temp.txt", sep = "\n") shell("type temp.txt") ABC 123 あい cat(lns, file = "temp.txt", sep = ",") shell("type temp.txt") ABC,123,あい 名前 コメント
https://w.atwiki.jp/companyfile/
■LBP トレーニングを徹底した講師陣とスタッフが、前向きで効果的な学習環境を整え、異文化間での国際感覚と、当校教育理念である「自立心」「好奇心」、そして「尊敬心」を養います。 大阪 インターナショナルスクール 英語 1歳 英会話 大阪 LBP ■POStyle リハビリテーション職専門 求人情報誌「POStyle」。 転職の際はもちろん、新卒、既卒の就職活動にもご利用いただけます。 理想の求人や新たな可能性を見つけられる求人を数多く掲載、ご希望の求人募集情報をご案内致します。 理学療法士(PT)新卒 ■阪神カウンセリング・ラボ 阪急梅田駅 茶屋町口すぐ!臨床心理士によるカウンセリング! 当ラボはスタッフが臨床心理士の資格を持ち、皆さまの様々なご相談を一緒に考え解決に導きます。 『誰でも、いつでも、どんなことでも』をモットーに、気軽にご相談できるあなたの心のコンビニを目指して…。 一人でお悩みの方、一度お気軽にご相談下さい。 カウンセリング 大阪 ■音楽 音楽プロデューサーに関する記事まとめ。 長戸大幸-長戸大幸-長戸大幸-長戸大幸-長戸大幸-長戸大幸-長戸大幸-長戸大幸-長戸大幸-長戸大幸-長戸大幸-長戸大幸-長戸大幸-長戸大幸-長戸大幸-長戸大幸-長戸大幸-長戸大幸 ■旅館評価 京都の旅館に宿泊したお客様の口コミ評価ブログです。 右源太 ミシュラン-右源太 ミシュラン-右源太 ミシュラン-右源太 ミシュラン-右源太 ミシュラン-右源太-右源太
https://w.atwiki.jp/lavato_heros/pages/1345.html
【ファイルアウト】 解説 「ターン開始時に山札の枚数が0枚なら負け」というルールをつかい、相手の山札のカードをすべて無くす事で勝利しようとするファイル。 一般的な【ファイルアウト】は防御的なファイルであるが、こちらは【フィフティフィフティ】よりもさらに攻撃的なファイルである。 ラヴァートヒーローズでは敗北時に残りLPに応じてSPを得ることが出来るが、ダメージを受けた結果残りLPが5以上の場合、敗北時に得られるSPは0になる。 LP6の時に敗北する他、LP5の時にフルアーマー韋駄天丸や雷の使い『ルビア』EXなど0ダメージユニットに敗北しても同様の状況となる。 【0ダメージファイルアウト】はこの、ダメージを受けた時LP5以上なら敗北時にもらえるSPが0になることを利用したファイルアウトである。 基本理念は対戦相手のLPを可能な限り6以上に保ちつつ毎ターン自軍が勝利し、敵軍の手札・山札・SPの枯渇を狙うというもの。 その為【SPロック】との親和性が高い。 [和平交渉修正前]によって台頭したファイルであるが、キーカードである和平交渉が修正された為構築難易度が跳ね上がった。 ラヴァートヒーローズ第12弾『決戦の火蓋』にて[和平交渉修正前]と類似スキルを持つ真教兵長『グラヴァーン』が登場した為、構築が容易となる。 引き分け/0ダメージユニットの採用が多くなる点も特徴である。 パーツ 真教兵長『グラヴァーン』 https //login.alteil.jp/lhCardDB/detail.php?id=1070 ファイルのキーカード。展開にはSP10が必要となるものの、対戦相手のLPを1増加させることが可能となる。 フルアーマー韋駄天丸 https //login.alteil.jp/lhCardDB/detail.php?id=2250 極めてコストパフォーマンスの良い0ダメージユニット。LV1でありながらLV3相当の戦闘力を持ち、勝利時にはSPバックと山札削りが行われる。 対少女の最後 https //login.alteil.jp/lhCardDB/detail.php?id=1098 自軍HP=0の可能なSPブースト。自軍の敗北を積極的に狙える為、低GETSP時に使用したい。 雷の使い『ルビア』EX https //login.alteil.jp/lhCardDB/detail.php?id=1062 HP40、AT50、AGI5、先攻という破格の能力を持ったLV3ユニット。 勝利時に与えるダメージを0にする0ダメージユニットの中でも特に高い能力を持ち、【0ダメージファイルアウト】の中核カードとなりやすい。 通常版のルビア同様、掌握の雷の追加効果が発動する。 忍び寄る魔法剣士 https //login.alteil.jp/lhCardDB/detail.php?id=413 エリアに移動した雷の使い『ルビア』EXを再利用でき、0ダメージユニットの枚数を水増しできる。 掌握の雷とセットで出せば、オールカラーで打点130、先攻というユニットが誕生する。 0ダメージファイルアウト戦う側から見た場合、このコンボを打ち破れるかどうかが重要なポイントになる。 その他は【SPロック】に準ずる。 その他採用の可能性のあるカード 聖剣『フォヴォンツア』 https //login.alteil.jp/lhCardDB/detail.php?id=650 サポート配置時にアタック発動にてダメージ付与後、自軍を直接墓地に送れる。対戦相手のHPが0であれば引き分けを狙える。 和平交渉 https //login.alteil.jp/lhCardDB/detail.php?id=568 引き分けを狙うカード。修正により全盛期ほど気軽には扱えないが、コストの低さが魅力である。 護り手『リン』 https //login.alteil.jp/lhCardDB/detail.php?id=2016 引き分けを狙うカード。両軍の手札を2枚増やしてくれる。ロックが不完全となるが相手の山札を2枚削れるメリットも存在する。 苦手なファイル、カード 聖なる光 墓地のカードをファイルに戻されれば、勝利は大きく遠のく。大抵1枚しか入っていないため、撃たれる前に墓地へ送りたい。 【妖精】・【カーバンクル】 ユニットによる墓地回収が可能なので、聖なる光以上に対処しづらい。 派生ファイル 【青白ファイルアウト】 【フィフティ・フィフティ】 【豚ファイルアウト】
https://w.atwiki.jp/abwiki/pages/449.html
#N88BASICDeclare Sub AVIFileInit Lib "avifil32" ()Declare Sub AVIFileExit Lib "avifil32" ()Declare Function AVIFileOpen Lib "avifil32" Alias "AVIFileOpenA" (ppfile As **DWord, szFile As *Byte, mode As Long, pclsidHandler As VoidPtr) As LongDeclare Function AVIFileRelease Lib "avifil32" (pfile As *DWord) As LongDeclare Function AVIFileInfo Lib "avifil32" Alias "AVIFileInfoA" (pfile As *DWord, pfi As *AVIFILEINFO, lSize As Long) As LongDeclare Sub AVIFileGetStream lib "avifil32" (pfile As *DWord, ppavi As **DWord, fccType As Long, lParam As Long)Declare Function AVIStreamRelease Lib "avifil32" Alias "AVIStreamRelease" (pavi As *DWord) As LongDeclare Function AVIStreamLength Lib "avifil32" Alias "AVIStreamLength" (pg As *DWord) As DWordDeclare Function AVIStreamGetFrame Lib "avifil32" Alias "AVIStreamGetFrame" (pg As *DWord, lPos As DWord) As *ByteDeclare Function AVIStreamGetFrameOpen Lib "avifil32" Alias "AVIStreamGetFrameOpen" (pfile As *DWord, lpbiWanted As *BITMAPINFOHEADER) As *DWordDeclare Sub AVIStreamGetFrameClose Lib "avifil32" Alias "AVIStreamGetFrameClose" (pg As *DWord)Const streamtypeVIDEO = 1935960438 '= mmioStringToFOURCC("vids", 0 )Const streamtypeAUDIO = 1935963489 '= mmioStringToFOURCC("auds", 0 )Const streamtypeMIDI = 1935960429 '= mmioStringToFOURCC("mids", 0 )Const streamtypeTEXT = 1937012852 '= mmioStringToFOURCC("txts", 0 )Const OF_SHARE_DENY_NONE = h00000040Type AVIFILEINFO dwMaxBytesPerSec As Long 'ファイルのデータレートのほぼ最大値 dwFlags As Long '拡張可能なフラグ dwCaps As Long '適応フラグ dwStreams As Long 'ファイル中のストリーム数 dwSuggestedBufferSize As Long '読み込み時に必要となる予想されるバッファサイズ(バイト) dwWidth As Long 'AVIファイル中の幅(ピクセル) dwHeight As Long 'AVIファイル中の高さ(ピクセル) dwScale As Long '全ファイルに適応できるタイムスケール dwRate As Long '(dwRate÷dwScale)は秒間サンプル数 dwLength As Long 'AVIファイルサイズ。単位は(dwRate÷dwScale) dwEditCount As Long 'AVIファイルに追加、またはAVIファイルから削除されたストリームの数 szFileType[64] As Byte 'ファイルタイプ情報の記述を含む、Nullで終わる文字列End TypeDim pavi As *DWordDim pstrm As *DWordDim pg As *DWordDim afi As AVIFILEINFODim pbih As *BITMAPINFOHEADERDim fr As DwordDim hDC As HDCDim hWnd As HWNDDim wait As DWordDim smpl As DWordDim mes[1000] As ByteDim start As DWordDim s As DWordDim fps As DoubleDim realfps As DoubleAVIFileInit()If AVIFileOpen(VarPtr(pavi), "test.avi", OF_SHARE_DENY_NONE, NULL) 0 ThenPrint "open エラー"Goto *AVICLOSEEnd IfAVIFileInfo(pavi, VarPtr(afi), SizeOf(AVIFILEINFO))AVIFileGetStream(pavi, VarPtr(pstrm), streamtypeVIDEO, 0)pg = AVIStreamGetFrameOpen(pstrm, NULL)fps = (afi.dwRate/afi.dwScale)wait = 1000/ fpssmpl = AVIStreamLength(pstrm)hWnd = GetForegroundWindow()hDC = GetDC(hWnd)start = GetTickCount()For fr=0 To smpl-1pbih = AVIStreamGetFrame(pg, fr)'Savef(pbih, "0.bmp")Putf(pbih, hDC)s = (GetTickCount()-start)/1000realfps= fr/swsprintf(mes, "サンプル %d/%d 再生時間=%d秒 fps=%d wait=%d", fr, smpl-1, Int(s), Int(realfps), Int(wait))SetWindowText(hWnd,mes)If fps realfps Then wait++If fps realfps Then wait--If wait 1000 Then wait = 1Sleep(wait)NextReleaseDC(hWnd, hDC)AVIStreamGetFrameClose(pg)AVIStreamRelease(pstrm)AVIFileRelease(pavi)*AVICLOSEAVIFileExit()'ビットマップを画面に表示Function Putf(pbih As *BITMAPINFOHEADER, hDC As HDC) As LongDim bi As BITMAPINFOmemcpy(VarPtr(bi.bmiHeader), pbih, SizeOf(BITMAPINFOHEADER)) StretchDIBits(hDC, 0,0, pbih- biWidth, pbih- biHeight, 0, 0, pbih- biWidth, pbih- biHeight, pbih+SizeOf(BITMAPINFOHEADER), bi, DIB_RGB_COLORS, SRCCOPY)End Function'ビットマップをファイルに保存Function Savef(pbih As *BITMAPINFOHEADER, fnam As *Byte) As LongDim hF As HANDLEDim bfh As BITMAPFILEHEADERDim r As DWordhF = CreateFile(fnam, GENERIC_WRITE, 0, ByVal 0, CREATE_NEW, FILE_ATTRIBUTE_NORMAL, 0)If hF = INVALID_HANDLE_VALUE Then Exit Function'ビットマップファイルヘッダーを初期化bfh.bfType = h4D42bfh.bfOffBits = SizeOf(BITMAPFILEHEADER) + SizeOf(BITMAPINFOHEADER)bfh.bfSize = bfh.bfOffBits + pbih- biSizeImage'ディスクファイルに書き込み処理WriteFile(hF, VarPtr(bfh), SizeOf(BITMAPFILEHEADER), VarPtr(r), ByVal 0)WriteFile(hF, pbih, SizeOf(BITMAPINFOHEADER), VarPtr(r), ByVal 0)WriteFile(hF, pbih + SizeOf(BITMAPINFOHEADER), pbih- biSizeImage, VarPtr(r), ByVal 0)CloseHandle(hF)End Function
https://w.atwiki.jp/rffbl22/pages/25.html
epsファイルを修正 GMTなどで作成した図を少しだけ修正する場合にIllustratorを用いる。 epsファイルは、Illustraor上でほぼ完全に再現される。 日本語を追加したり、文字のフォントサイズの変更や画像の修正ができる。 ただし、grdimageで作成した色が正しく表示されないときがある。グレースケールを用いている場合には起こらない。
https://w.atwiki.jp/tdjquiken777/pages/15.html
漫画ドラえもんで、ジャイアンの名前はたけしですがジャイ子の名前はなんでしょう。 ショボーンの口に使われているギリシャ文字はオメガ(ω)ですがアウアウアーの口に使われているキリル文字は何でしょう。 その名前はポケモンのマタドガスの語源にもなった、第一次世界大戦中ドイツ軍がベルギーで使用した糜爛性の強い毒ガスを、その匂いからなんというでしょう 数の単位で、12で1ダース、12×12で1グロスですが12×12×12は何でしょう フランス語で白い山と言ったらモンブランのことですが、ハワイ語で白い山と言ったら何のことでしょう 英語では「賢い携帯電話」と言う意味があるiPhoneやAndroidなどの機種がある物は何でしょう iPhoneの検索エンジンとして利用されているのは、Yahoo!、Googleと何でしょう 背番号0.1.18から連想される野球選手の苗字は何でしょう 日本一長い川信濃川とイギリス一長い川テムズ川、その長さの差はわずか2kmですがながいのはどちらでしょう? 2ちゃんねるにおけるAAとは何の略でしょう コンピュータ用語としても用いられている、2進法を意味する英語は何でしょう くぁwせdrftgyふじこlp チャイルドシートの着用が義務付けられているのは何歳以下でしょう ミッフィーで幸福なことがあった時に使われる壁紙の色は何色でしょう 羽田空港ターミナルの愛称は何でしょう 株式会社すかいらーくが運営する中華料理レストランチェーン、バーミヤンとはどこの国の地名でしょう) 海上自衛隊員がカレーを食べる日となっているのは何曜日でしょう サウジアラビアの国旗に書かれている文字は、「アラーの他に神は無い。」と「何は神の預言者である」でしょう タヌキはイヌ科の動物ですがキツネは何科の動物でしょう 素数を発見する方法の一つは、何の振るいというでしょう 横棒だけで表される数学の記号で一本ならマイナス、二本ならイコールですが三本なら何でしょう トランプの4つのキングのうち、ひげが生えていないのはどのキングでしょう
https://w.atwiki.jp/yamamura2/pages/12918.html
【TOP】【←prev】【PlayStation 2】【next→】 Velvet File タイトル Velvet File ヴェルベットファイル 機種 プレイステーション2 型番 SLPS-20034 ジャンル シミュレーション 発売元 ダズ 発売日 2000-8-10 価格 6800円(税別) ヴェルベットファイル 関連 Console Game PS2 Velvet File Velvet File Plus 駿河屋で購入 プレイステーション2