みなさんのオリジナルプログラムを、プログラム板のみなさんが優しく、時に厳しく、評価してくれるよ。 推奨アップローダー: リンク先の注意事項を良く読んで利用して下さい。 自分で見つけろボケカス!! 注意事項 * 荒らしは徹底スルー。厳守でお願いします。 * ファイル形式とサイズを書く親切。 * URL にジャンルやプログラムのアピールを添えればレスがたくさん貰えるかも。 * 他人に優しく、己に厳しく。叩かれても気にしない。 * 根拠のない嫌がらせの煽りは一切放置。 * 煽る方も煽られる方も、その原因は「自分」にあるということを自覚し、 スレ本来の主旨に沿って進行させることに努める。 * 基本はソース でカモン!!だが、バイナリでもOK。 テンプレ: 任意と書かれていない項目は必須のこと。 【タイトル】 【URL】 【ジャンル】 【ファイルサイズ】(任意) 【使用ソフト】 【コメント】 【転載】 (任意。デフォルト×。どうしてもどうしても転載して欲しい場合のみ○) 前スレ まだ無いよ
>>3 荒 らしは徹底スルー。厳守 でお願いします。 www wwwwwwwwwww wwwwwwww 荒ら しは徹底スルー。厳 守 でお願いします。 w w wwwwwwwww w wwwwwwwww w 荒らし は徹底スルー。 厳守で お願いします。 www wwwwwww www wwwwwww www 荒らしは 徹底スルー 。厳守でお 願いします 。 wwww wwwww wwwww wwwww wwww w 荒らしは徹 底スル ー。厳守でお願 いしま す。 wwwww www wwwwwww www wwwww w w 荒らしは徹底 ス ルー。厳守でお願い し ます。 wwwwww w wwwwwwwww w wwwwww w w w 荒らしは徹底ス ルー。厳守でお願いしま す。 wwwwwwwww wwwwwwwwwww www w w w w _ ト,\ / _j;;;;;〉>'"⌒¨⌒>ー| >'" /| い 死 . / ミ/、 __ 〈;;j い ね 〈 /!ヾ "⌒ヾ < の ば ヽ. { / ト、 ∧ }| に / \Nレベ\ /_ { /ハ ね | /Yxxx \{⌒ヾ/〉 ハ l/∨\ ___ xxx/ 人l\___/ xく||>ゝ ノ--イ/ \ / Z ∧}_ / x=≠ヘ { Vハ {{\V 〃 ∧
_ ト,\ / _j;;;;;〉>'"⌒¨⌒>ー| >>1 >'" /| い 死 . / ミ/、 __ 〈;;j い ね 〈 /!ヾ "⌒ヾ < の ば ヽ. { / ト、 ∧ }| に / \Nレベ\ /_ { /ハ ね | /Yxxx \{⌒ヾ/〉 ハ l/∨\ ___ xxx/ 人l\___/ xく||>ゝ ノ--イ/ \ / Z ∧}_ / x=≠ヘ { Vハ {{\V 〃 ∧ _ ト,\ / _j;;;;;〉>'"⌒¨⌒>ー| >'" /| い 死 . / ミ/、 __ 〈;;j い ね 〈 /!ヾ "⌒ヾ < の ば ヽ. { / ト、 ∧ }| に / \Nレベ\ /_ { /ハ ね | /Yxxx \{⌒ヾ/〉 ハ l/∨\ ___ xxx/ 人l\___/ xく||>ゝ ノ--イ/ \ / Z ∧}_ / x=≠ヘ { Vハ {{\V 〃 ∧
_ ト,\ / _j;;;;;〉>'"⌒¨⌒>ー| >'" /| い 死 . / ミ/、 __ 〈;;j い ね 〈 /!ヾ "⌒ヾ < の ば ヽ. { / ト、 ∧ }| に / \Nレベ\ /_ { /ハ ね | /Yxxx \{⌒ヾ/〉 ハ l/∨\ ___ xxx/ 人l\___/ xく||>ゝ ノ--イ/ \ / Z ∧}_ / x=≠ヘ { Vハ {{\V 〃 ∧
_ ト,\ / _j;;;;;〉>'"⌒¨⌒>ー| >>1 >'" /| い 死 . / ミ/、 __ 〈;;j い ね 〈 /!ヾ "⌒ヾ < の ば ヽ. { / ト、 ∧ }| に / \Nレベ\ /_ { /ハ ね | /Yxxx \{⌒ヾ/〉 ハ l/∨\ ___ xxx/ 人l\___/ xく||>ゝ ノ--イ/ \ / Z ∧}_ / x=≠ヘ { Vハ {{\V 〃 ∧ 何ゆえこんなスレが立つことになったの? >>1 の思い付きか? 読み文字列とかスペルの扱いを分析するために、現在のコンポジション 情報を表示するアプリを作ろう。
Vector進出したまではよかったけど、スルーされててコーヒー噴いたw
1976〜 TK-80 →ハンドアセンブルの勃興w 1977〜 PET-2001、Apple II、TRS-80、L-kit 16、H68TR ←ここがアメリカのピークw 1978〜 MZ-80K、BASIC MASTER LEVEL2 . ┐ 1979〜 PC-8001 ┴→BASICブームw 1981〜 VIC-1001、PC-6001、PC-8801、FM-8、MZ-80B、 ←ここがマイコン時代のピークw 1982〜 PC-9801、COMMODORE 64 1983〜 MSX 1984〜 IBM PC/AT ──────┐ 1985〜 MSX2、AMIGA、Atari ST... ┴→ここがアメリカの新御三家w 1987〜 MSX-DOS Tools →ハンドアセンブルからの解放w PSAC(コナミ)、X68000 ←アニオタ出現w ┐ 1988〜 SYSTEM II(ナムコ)、ギャラクシーフォース(セガ) ┴→回転、拡大、縮小ブームw 1989〜 FM-TOWNS ←まがい物出現w 1994〜 サターン、3DO、プレイステーション ←キーボードを捨てて養分になった図w 1996〜 Nintendo64 1998〜 ドリカス GAME BASIC for SEGASATURN ────┐ 1999〜 99BASIC.. ────┤ 2000〜 プレステ2 →ソニー=ナムコ王朝w .→ポ . │リゴンブームw →養分から信者へw DarkBASIC ────┤ 2001〜 ゲームキューブ、Xbox │ BASIC STUDIO パワフルゲーム工房... ┴→第二次BASICブーム到来w 2005〜 Xbox360 ─┐ 2006〜 Wii、PS3、WindowsVista ┴→旧世代の切り捨てw 2008〜 DarkGDK →VC++がBASIC並みに簡単に記述可能なゲーム用補助ライブラリーw 2009〜 Windows7 2011〜 AppGameKit →モバイル用の豊富なコマンド群を揃えた簡単な開発ツールw 2012〜 Nexus7、Androidの台頭 →従来のPC/AT機から主流となるプラットフォームへ移管w iPad mini →Androidの台頭で焦って出すw Windows8 →Going My Way(笑) 2014〜 PG278Q →ゲーム用に特化された秒間144コマ出力モニターw 2015〜 Windows10、MenuetOS 64bit版v1.00 2016〜 Raspberry Pi用AppGameKit無料配布開始w http://www.appgamekit.com/agk-pi/ MZうyちゃ〜ん♪の発狂BASICはAndroid用に出さないのか?w 出せば反応出るよw
ちょっと試してみたところ、読み文字列は半角カナと半角英数字だった。 現在のCompStrにはつづりの情報がないから、プライベート領域を使って拡張するしかない。
キーポイントは他人に使ってもらおうとするところw MZうyちゃーーーーん♪みたいではダーメw
これでコンポジションが見えるぞ。捗る捗る。次行ってみよー!!!
な、見えちゃいけねーものが見えてしまう時、危ねぇ白昼夢が始まるんだよなw
AppGameKit for Raspberry Pi - It's FREE! . Creating games for Raspberry Pi has never been easier with AppGameKit for Raspberry Pi. Create games using AppGameKit's same powerful & easy to code syntax, combined with additional features for the Raspberry Pi such as reading & writing to the digital GPIO pins. AppGameKit provides a fast and reliable gaming engine, allowing you to simply code your games in the AppGameKit for Raspbery Pi IDE; http://www.appgamekit.com/agk-pi/ このスレは新製品をチャラチャラしながら語るスレに変えようw
>小さいサブルーチンちまちま作ったうえでそれ呼び出す形で大きいプログラム作ること想像してみ。 つまり車輪の再発明かwwwwやめとけwwwwwwwwwwwwwうえっwwwwwwwwwwwwwww”
車輪の再発明するぞ♪ 車輪の再発明するぞ♪ 車輪の再発明するぞ♪”
>>44 技術的な話をしたいが、人が居ないんだよね >>47 >技術的な話をしたいが、人が居ないんだよね それは分かってる話だよw 素直にDarkGDKの軍門に入りなさいw MZうyちゃーーーん♪はアプリ開発かシステム開発かどちかを選ばなきゃいけないなw これは俺様の経験上そうなるw 例えばBaySick用のアプリ作ったか?w …ここで両立不能wってことが分かる。
MZうyちゃーーーん♪にとっては俺様の良薬口に苦しが分かるまでまだ時間がかかるだろうなwwww” もしコレクター趣味なら開発はあきらめることw Androidに未来がないことを理解すること(笑)
>>47 basic エミュレータの作成は,ちとまずかったかもね.馬鹿をよびよせてしまう アプリケーション開発者の心得: システム側の概念、つまり ” 宗教 ” を覚えてはいけないw まずはこれw ハードウェアとして搭載されていない概念=宗教は覚えても切り捨てられる可能性が高い。 オブジェクト指向もその1つで、表記上見えにくくなるプログラムの書き方は基本的にアウト。 他人に分からなくても構わないから、自分が1ヶ月以上放置したとしても、リストを見たらすぐ に分かる書き方がよろしい。 「 これは推奨されてる書き方だからw 」 ←アホタレw - - - - - - - システム開発者の心得: ” サービスルーチン ” の作成を怠ってはいけないw まずはこれw アプリケーション開発者が使ってくれるためには、システム開発者にとって面倒なものを 常に多く詰め込まなきゃいけない。 エラーサービスからコンパイルオプションまで、何でも入れなきゃいけない。 「 これは感覚的に分かってくれるだろう…? 」 ←とっとと帰れw
MZうyちゃーーーん♪は車輪の再発明が大好きだから、しばらく好きにさせるのもいいだろうなw
凄いというか、典型的な糖質スレだろw 糖質が一人でも紛れ込むとだいたいこういうリズムになる 糖質8の健常者2の割合の悲しいまだら模様
いや他スレで見かけたら無視するようにしてるのが勢揃いしてたからさ
>>59 なるほど Qちゃんは技術力は低いしたまに相手を煽るが煽り一辺倒の連投はしないのが良い 片山は技術力低くないし、たいした人だと思う uyは煽り過多だがスレを枯らすほどの粘着はせず、たまにコード片を落とすのが良い アハは強烈な粘着質で技術的には価値が無いレスしかしない、分類としては単に糖質 個人的にこう見てる 今回は、私の負けだ。掛け金は払い戻しだ。予定のバグ修正ができなかった。 例のGetTextExtentPoint32Wが失敗するバグで時間が費やされている。 teratailで質問したが、未解決のままだ。 testフォルダに入力コンテキストの状態や仮想キーを 確認するプログラムがあるので、参考にされたい。
例のGetTextExtentPoint32Wが失敗するバグの解決に電子マネー五万円分の懸賞金を払うつもりだ。 電子マネーは、WebMoney、アマゾンギフト券、ビットキャッシュの中から選ぶことができる。 連絡方法はメールで。 [email protected] >>67 はろー 手元にWin2KもVS2008も無いのでビルドも再現も出来てないんだけども、 CreateCompatibleDCで作られるDCに適切な大きさのBitmapを割り当ててみたらどうなります? 調べると、GetTextExtentPoint32W関数は実際に描画してみてからそのサイズを返すようになってるらしいのですが、 CreateCompatibleDCで作られるDCにはデフォルトでは1x1サイズの2色ビットマップが割り当てられる筈なので それが原因でコケてるかも知れません。 まず、簡単なサンプルで、正常に動くことを確かめてから、 徐々に複雑にしていく過程で、何が悪いのかがわかる サンプルでそのAPIが、正常に動くことを確かめましたか?
挙動により、メモリー破壊が原因だと思われる。でもどこで破壊されているかはわからない。
Linux上でwine+valgrind or AddressSanitizerとか Windows上のまともなメモリ破壊検出ツール知らないけどあるの?
ごめん、MyGetTextExtentPoint関数読んだら変じゃ無さそうだった。
>>72 果たしてWineのIMMと相性良いだろうか? IMMで共有メモリーをガリガリ読み書きしているのが 原因ならば、たぶんチェッカーは役に立たないだろう。 別の原因は、このWinDDKサンプル由来のコードに不正なアクセスが含まれているのが考えられる。 わざとらしい低品質で糞なサンプルコードなのかもしれない。 WindowsはOSSじゃないから、APIの中まで、 デバッグ実行できないから、なかなかバグを直せない こんなの1人月100万円以上の仕事だよ。 漏れも昔、こういう修復ばかり請け負っていた 解決した原因を教えて
git revertコマンドが案外役に立った。 やっぱGitの哲学とコマンドを覚えたほうがいいね。
次は候補リストと候補ウィンドウの実装となるが、複数の文節を始めから意識しなければならない。 私の考えが正しければ、候補リストも暗号化されていない単なる共有データであるから、 ロックすれば透過的に覗き見ることができる。 果たしてどのように複数の文節の候補リストを保持しているかが問題となる。
1.候補リストを覗き見るテストプログラム。testフォルダに置く。 2.コンポジション文字列を変換したら、複数の文節について ダミーの候補データ(「これは」「文節1」「です」と「これは」 「文節2」「です」など)を切り替えて表示できるようにする。 以上の2点を実現した報酬として電子マネー6万円分の懸賞金を 用意するので、早い者勝ちでプルリクされたし。
INPUTCONTEXT構造体に便利なメソッドたちをつけたのが、 input.hで宣言されているInputContextクラスとなっている。
ICで扱う物理的なデータはそのままでは扱いづらい。なので、いったん論理的なデータに 翻訳して、論理的なデータに対する操作が終わったら再び物理的なデータにして 入力コンテキストに反映するという戦略を執る。
車輪の再発明 + 構文解析できない + 他力本願 = MZうyちゃーーん♪(ギャハハ!!wwww”
Qちゃんは技術力は低いしたまに相手を煽るが煽り一辺倒の連投はしないのが良い 片山は技術力低くないし、たいした人だと思う uyは煽り過多だがスレを枯らすほどの粘着はせず、たまにコード片を落とすのが良い せめてこの三人に追いつけよ
一人三役でも半人前のMZうyちゃーーーん♪(大爆笑)
勉強がてらに書いたコードにスター付けられたりフォークされるとええんやろか…って気持ちになるな
変換は 自由文節変換、固定文節変換、候補切り替え変換 の3つに分けて考えることにする。 自由文節変換は文節の区切りのない文字列を文節で区切って変換し、候補リストと文節情報を生成する。 固定文節変換は与えられた文字列を1つの文節と見なして変換する。 候補切り替え変換はすでに生成された候補リストの候補の選択を切り替えるだけである。
複数文節を考慮した形で候補ウィンドウを正しい位置に表示するには、 コンポジションウィンドウにおける文節区切りの位置を計算する必要がある。 uicomp.cppにそのための計算関数を追加する。
片山君 メモリ破壊がどこで行われているかわからないといっているがとっておきのツールを教えてあげよう OllyDBGとUsamimiだ これさえあれば過酷なデバッグもオールオッケー☆⌒d(´∀`)ノよ
次回は辞書と変換を実装する。いよいよかな漢字変換という本格的な自然言語処理に入る訳だ。 辞書と変換に関する処理はconvert.cppに記述することにする。 現在のコードで複数の文節と候補の表示と操作の部分は実装済みだから、 辞書のフォーマットを設計した後、辞書読み込みと変換処理を書くことになる。
辞書のフォーマットは何を参考にするんだろう。 tar+gzipでプレーンテキストの束をまとめたものにする、とかなら その手のライブラリが使える気もするのだけど
1週刊前くらいからC++始めたんだけど LLVM?の記事読むと自分でコンパイラが自作できる気がするのが不思議w
>>105 辞書はタブ区切りのテキストで作る。複数辞書はまだサポートしない。 かな漢字変換のプログラミングを行うには、国語の国文法、数学の集合論とグラフ論、 計算機科学の探索アルゴリズムなどの知識が必要だ。 私は奥村氏の『自然言語処理の基礎』を購入した。この本をもとに変換アルゴリズムを考えたい。
文字の分類について考えてみよう。日本語の文字は大きく全角と半角に分けられる。 全角文字は、ひらがな、全角カタカナ、漢字、全角句読点、全角記号、全角カッコ、全角英数字、全角スペースなどに分けられる。 半角文字は、半角英数字、半角カナ、半角記号、半角句読点、半角カッコ、半角スペースなどに分けられる。 長音はひらがな、カタカナ両方に含まれていると見なす。
こうした文字の分類に関する判定関数は、keychar.cppに記述することにする。 コンピュータで日本語を扱うときは、特に上一段活用動詞と下一段活用動詞を区別する必要はない。 どちらも一段活用動詞として統合して扱うことにする。
カ変動詞は「来る」のみ。サ変動詞は「する」「論ずる」など。この辺の動詞の活用の話は国文法を参照されたし。 文字と文法について。まず、句読点。これにはピリオドやカンマも含まれる。句点は文節の区切りの明示として使われ、 読点は文の終わりを表す。文法上、これ以外の意味はない。 文節が細かく分かれていたら認知的にややこしいので、句読点はその直前の文節に所属させる。 次に記号。全角記号は「きごう」で変換できる。シフトキーと共に入力できるものもある。 記号の連続した並びは1つの文節(記号列文節)を成し、文節の区切りとなる。
英字については、連続した並びを名詞として扱うことにする(おそらく英単語)。 数字のみの並びは数詞として扱う。数詞ではアラビア数字←→漢数字変換をサポート しなければならない。英字と数字が混ざった並びはやはり名詞として扱う。
1つのカッコは1つの文節を成すものとする(カッコ文節)。カッコは別のカッコに変換できる(カッコ変換)。 カッコ変換では対応するカッコ文節が同時に同じように変換されるようにする。
Shift+→で現在の文節を広げる。Shift+←で現在の文節を縮める。 コンポジション文字列は読みのひらがなとタイプ文字を記録している。 文節の伸縮は読みのひらがな単位で行われる。 Ctrl+スペースで現在の文節を分割して変換する。
この本によると、文の変換はラティス形式のグラフを作成する形で行われる。 ラティスは文頭ノードを始点として分岐し、ループのない 分岐を有するノードたちで文末ノードまでつながれ、文末ノードを終点として終わる。 文頭・文末以外のノードは読みと変換後の文節情報を有する。 このようなノードの分岐は自己参照構造体のstd::vector<shared_ptr<...> >で表せる。 shared_ptrはスマートポインターであり、C++11、Boost、Unboostから利用できる。
BASICの命令を入力するとC++に文節変換できるようにすると便利だよw
あ―いかく いかけ―うおり うおる―おかこ おかさ―かくら かくり―かんさ かんし―きよき きよく―けしゆ けしよ―こうひ こうふ―さいそ
「け」〜「こ」が出来ました。 ここまで16000語。
「さ」〜「し」が終わりました。ここまで20000語超。 >>127 MS-IME 2000と同じように操作できることが目標です。 日本語は元々ハイブリッドな言語だ。漢語や外来語が混じり込んでいる。 カタカナ語や漢字の変換は特別扱いしないといけない。 意味が分かりづらい漢字1字の変換は、漢語として扱い、順位を下げることにする。
フツーに考えて辞書作成は大人数で外部業者に委託するものだよw 作ったものを検証するという、大きな車輪の再発明が待ってるw 俺様的にはやらないw
32 :まちがって名前消しちゃいました。:2013/04/28(日) 23:55:48.52 ID:??? >>29 自分こそインベーダーさえも作れないんだろ?www どうでもいい言葉の揚げ足取りばっかして 結局口先だけで何にもアップロードできねーじゃんwww お前が古臭い口先だけで何も作れない、絶対的な証拠www 出来るものならアップロードしてみろよ、老いぼれジジイがwww 33 :まちがって名前消しちゃいました。:2013/04/28(日) 23:55:59.93 ID:ikP5EXjcコンソーレの文章中の単語は、コンソーレがいじめを受けた時の単語なわけ、 だからコンソーレが吐き出す単語がすべて、コンソーレ自身に当てはまる。 34 :まちがって名前消しちゃいました。:2013/04/28(日) 23:56:47.74 ID:??? >>31 ハブられてるのはお・ま・え 勘違いするな基地外 35 :まちがって名前消しちゃいました。:2013/04/28(日) 23:59:26.06 ID:??? >>31 なーんで、インベーダーのスクショの画像で 座標がマイナスになっているのかねーーーwwww フォントが切れているっていうか、頭の血管切れてるんじゃねーの?www 36 :─☆─ [ X | I.I.T. ] CENTRE DE LOCK ON ◆TXFAX7cidQpG :2013/04/28(日) 23:59:53.34 ID:??? まとめて1回で書く癖を付けないとなw 「す」〜「そ」が出来ました。 ここまで22800語。
WM_INPUTLANGCHANGEというメッセージを発見した。
それから WM_INPUTLANGCHANGEREQUESTと SPI_GETDEFAULTLANG
【疑問点】 ・IMEのアンインストールはどうするか? ・Windows 2000で使用できる、レジストリの更新箇所を監視するツールがないか?
レジストリのdiffを取るツールって昔何処かで見たな。 なんて名前だったっけなぁ
32 :まちがって名前消しちゃいました。:2013/04/28(日) 23:55:48.52 ID:??? >>29 自分こそインベーダーさえも作れないんだろ?www どうでもいい言葉の揚げ足取りばっかして 結局口先だけで何にもアップロードできねーじゃんwww お前が古臭い口先だけで何も作れない、絶対的な証拠www 出来るものならアップロードしてみろよ、老いぼれジジイがwww 「と」〜「の」が出来ました。ここまで29000語。 引き続き辞書の入力を続ける。
辞書をどう設計してもメガバイト級以上のサイズになる。 これを各プロセスで別々に所有すると、メモリーを圧迫してしまう。 よって、メモリーを節約するために辞書データはファイルマッピングで共有する。
「は」〜「ひ」が出来ました。 ここまで31300語。続行する。
橋本文法じゃまともなIMEは作れない。 自分は今日韓共通IMEを構想している。
>>147 象は鼻が長い ってやつか? 韓国の入力が問題だね 仮名で辞書作っても貧弱なのしか作れないと思ってる。 自分が考えているのは独自表記のローマ字で語根辞書を作る 例えば「書く」は{0,kax,27,書,掻,描} なぜkakじゃないかというと「書いて」は本来ka(k)-i-t-eと 考えるから消えるkをxで持たせる。 これなら古典にも柔軟に対応できると思ってる。 単なる入力方式じゃなくて日現↔日古↔韓の相互翻訳機能をもたせる予定。 入力はローマ字
「t」は何かって言うと「つながり」を意味してる「単語」として扱う そうすると血、繋ぐ、過去とか完了の語尾に出てくる「たちつてと」を 統一的に扱える。
MZ-IMEはPDSだから使いたければ自由に使っていいよ。 韓国語のIMEは日本語ほど難しくはないだろう。日本語の処理は地獄だ。
想定される利用者のほとんどが現代語を入力したいと考えている。 いにしえの言葉や戦時中の言葉への変換のために現代語の入力が妨げられてはいけない。 現代語が優先されるべきだ。
「ふ」〜「ほ」完了。ここまで33600語。続行す。
「ま」〜「む」完了。ここまで35000語。続行す。
35 :まちがって名前消しちゃいました。:2013/04/28(日) 23:59:26.06 ID:??? >>31 なーんで、インベーダーのスクショの画像で 座標がマイナスになっているのかねーーーwwww フォントが切れているっていうか、頭の血管切れてるんじゃねーの?www 会社ってどうやって作るんだろ? って時間無いし。IME出来るんかよ。
辞書の打ち込みは終わり。次は辞書の間違い探しと調整。 Social IMEとMozcを参考に変換ルーチンを考えてみる。
お前が古臭い口先だけで何も作れない、絶対的な証拠www
最近P2Pとか興味あるけど なんか簡単にP2P表現してくれるDLLとかライブラリないの あんなの自分で書きたくない
結局口先だけで何にもアップロードできねーじゃんwww
ちなみに俺はアップロード出来ないよ P2Pとかいう単語が出てきた時点で察してくれると有り難いな もう「そういう世界」の住民になりつつあって
winsock2 の accept() がブロックするので困ってしまった listen ポートをクローズしたら accept() ブロックが解除される,というのだが,本当か?
結局口先だけで何にもアップロードできねーじゃんwww
俺だってアップロードしたい アップロードしてexeクリックして貰いたい そしたらレジストリに色々追加してスタートアップ登録して、 ユーザーの意思でCドライブのファイルをネット上にアップロードし続けてほしい ユーザーもアップロードしたいはずだ みなが幸せになるその方法を考えてる
>>168 ruby じゃ無理だからそこんとこよく考えて >>168 とっくに作りきってる 問題は入れた後、俺は悪戯としてのプログラムを実行させて遊んで終わりではなく 自分だけのP2Pネットワークを所有したいんだ インターネットに政府が介入ってのがまずありえないから せいぜい企業までにしとけ いずれこのままじゃ、 わけのわからない権力者にネットが支配されきってしまうから 自由なインターネットを守るために戦う
副業の炭坑の仕事が忙しい。陸蒸気が早く導入されないかなあ。
>>172 副業には株トレーダーがいいんじゃない? 株関係の本は最近いろいろ読んだが 普通の比較的安全な運用の仕方だと年3〜4% つうかどの本も一般人はインデックスファンドやっとけ で話終わってしまった それ以上に儲けようとするとリターンとともにリスクが大きくなっていくから 副業をしているというより博打をしているだけ 何かに投資してお金を増やすという意味では 数千万〜億の資産あるならともかく、 そうでも無ければ自分自身に投資したほうが、利回り良いかもしれないな
>>176 >どの本も一般人はインデックスファンドやっとけ で話終わってしまった 一般論としてはね。 しかし、ここに原資100万に対して月3〜4%の方法が存在する。原資は最低これくらいは必要だがそれさえクリアすれば儲かる https://investars.jp/sayatori.php >それ以上に儲けようとするとリターンとともにリスクが大きくなっていくから >副業をしているというより博打をしているだけ 裁定取引ならば博徒にはならない、確かにリターンは幾分限定されるがインデックスよりは儲かるはずだ 裁定取引のネタは探さなければならないが >何かに投資してお金を増やすという意味では >そうでも無ければ自分自身に投資したほうが、利回り良いかもしれないな まあお前は ruby の他に C/C++ に投資したほうがいいね >>166 解決した。listenソケットをクローズすると確かにaccept()ブロックから抜けた >>177 ファンドを通さず自分で同じことやれば、ファンドに払ってた手数料分は自分の元にくるけど 他人に勧める気は起きないな それが出来るならプロだし >>180 あまり役に立たないリンクだ チャイルドスレッドで recv したデータを UI スレッドで表示しなければならない状況で、 スレッド間のデータ受け渡しは、排他制御用オブジェクト(mutex とかね)とキューを使って渡す でもチャイルドスレッドの accept ブロックをどう裁こうかと思案していたんだ、なにせ accept のところでブロックしてしまうからね UI スレッドで listen ソケットをクローズすれば、チャイルドスレッドで accept から抜けることができるので、自滅できる ruby の記述では、そこんとこの勘所がみえてこないね、ruby の限界じゃないのかね >>179 手数料以外にも収入の手立てはある いわゆるオプションというやつだ ネイキド・オプションは博打に近いものがあるが、 原資を背負ったカバードオプションならば、原資の生む利益にプラスしてオプションのプレミアム(という利益)を上乗せすることができる 個人がファンドを超えることは可能だ 自力でやればファンドに払うはずの手数料を省略できるだろう そして、その手数料以上のことをやってみせよう、というのがオプション取引だ 何の裏づけもないところからプレミアムを get することができる
>>181 日本語でおk とりあえずスレッド間のデータ渡しといっても 同一プロセス内なら rubyの場合は普通の変数でデータは共有できるからその辺のコードは存在しない x = 0 Thread.new { x = 5 } # スレッド生成 sleep 1 p x #=> 5 >>184 自分の金どう使うかは自由だよ リスクをとって儲けを出したいならそうすればいいし ただ統計的に、投資した人の半数以上が損するような方法ってのは プロが本に書く事はまずないだろうね、そういう情報を書いていたら信頼を失う >>185 ruby はお気楽だね、スレッド間の排他制御を考えなくていいのか? ruby はお気楽だね、スレッドの終了(自滅)のことを考えなくていいのか? >>180 のリンク先で、チャイルドスレッドの終了について、どこをみればいいのかね? 外からスレッドを終了させるのか、スレッド内で自力で terminate するのか これは C/C++ ならばかなり気を使う内容だと思うのだが? >>186 統計的に損する方法が、本にかかれない、言及されないとは限らない 宝くじ 競馬 いずれも寺銭を胴元ががっぽりとる割に合わないギャンブルだが、割合に公認されている 本来ならば、期待値の割合に高い株取引こそ、ポピュラーになるべきなんだが 家をとられる、命をとられる という悪いうわさが横行しているようだね、不思議なことだ ソースだけちょっと見た 随分まともなコード書くんだな
アイヤー、五段動詞は音便情報が必要だったでアル。修正するアルよ。
ひとまず、一問行ってみよう。 【練習問題1】辞書ファイル「mzimeja.dic」(UTF-8)を読み込んで、別の入力された動詞(終止形)の 活用を分かりやすく表示するプログラム「test/katsuyou.cpp」を作れ。 (早い者勝ちで報酬1万円)
活用形には、未然形、連用形、終止形、連体形、仮定形、命令形の他に「名詞形」があります。 ツイッターの画像を確認下さい。テストプログラムの実行結果が見えます。 テストプログラムでは、コマンドライン引数で指定した形容詞か動詞の活用形を確認できます。 何かおかしなことがあったら、御指摘下さい。
次の課題だ。 【練習問題2】辞書ファイル「mzimeja.dic」からデータを読み込み、 ファイルマッピングによる共有メモリーへ展開する処理を「convert.cpp」に記述せよ。 (早い者勝ち、一万円)
ファイルマッピングのAPIを呼ぶだけだろ なんで、1万円も出すのさ?
>>200 辞書ファイルはUTF-8であり、プログラムの内部文字列はUTF-16なんだから、 文字コード変換のパスが必要になる。コストの問題のため、仮名漢字変換ごとに 文字コード変換を行うことはできない。 辞書ファイルをUTF-16にするのは、システムの使い勝手のため、好ましくない。 また、ソートの処理や排他制御が必要。という訳で、単純なファイルマッピングだけでは退職日できない。 結局口先だけで何にもアップロードできねーじゃんwww
この仕事ができたら大卒相当の学力と認められる。頑張るんだ。
だがマジックポイントが足りない 栄養ドリンクと卵料理で回復だ〜
>>199 できました。辞書データなどは、resフォルダーに 移動しました。次はいよいよ変換アルゴリズムです。 【練習問題3】共有メモリーにある辞書データを使って、 変換アルゴリズムを実装せよ。 (早い者勝ち、3万円) 変換アルゴリズムを考えるとき、大事なのは文節のつながりだろう。 品詞の種類によって、文がつながるかどうかを、「グラフ論」の隣接行列に よって記述することができる。 ラティスでの品詞のつながりはvector<shared_ptr<...> >で分岐させる。
こっちも並行して実装しよう: 【練習問題4】コンパクトな漢和字典に匹敵する漢字入力用の「IMEパッド」を実装せよ。 resフォルダーにファイル「kanji.dat」「radical.dat」「radical.bmp」が あるから、これらを用いること。 データ量は少ないから、共有メモリーを使わなくてもよい。 (早い者勝ち、一万円)
バッカス記法・yacc などで、構文規則の解析なら、出来そう
>>211 コスト最小法じゃないとダメだ。そこは譲れない。 リファクタリングで、馬鹿げたコードたちには消えてもらうよ。ふふっ。 そしてIMEパッド追加な〜のね〜。 7月が終わる前にIMEを完成させるのだ。ひひひ〜ん。
IMEのインストール&アンインストールの方法をREADMEJP.txtにばっちり記載したよ。 VS2008でビルド後、installer.issをInno Setupでコンパイルするとインストーラーができるよ。 バグ取りしたんで、再起動してもちゃんと動作するのを確認したよ。 課題は、変換ルーチンとIMEパッド。IMEパッドのモックアップは出来たが。
>>208 【!緊急告知!】 仮名漢字変換の報酬を八万円に増額。さらに今から10日間以内にできたら二万円ボーナス。 早い者勝ち。convert.cpp以外に、必要ならばヘッダーや辞書の書き換えも可。 さーて、高額報酬を獲得するのはだれだ! 国語の授業を思い出しながら品詞の連結可能性について考えている。 2品詞ノードの連結可能性を返す関数IsNodeConnectableを設計しないといけない。 動詞への連結可能性は、活用形に左右される。
変換精度を高めるために、助詞の分類を細かく分けた方がいいかもしれない。
「MZ-IME日本語入力」の開発は最終段階に入りました。正式リリースは7月30日頃になります。
時間が足りなかったので、シンプルな2文節最長一致法で実装した。 変換精度がまだまだ低い。変換方法を改良してくれた人に五万円あげるよ。
第1ステージ突破! 今回は俺の勝ちだ。なかなか達成感がある。 次はIMEをReactOSに移植するという、さらに難易度の高い第2ステージに挑戦する。 IMMの解析が不可欠になるが、今回作成したIMEが役に立つだろう。
【課題】 ReactOSにIMMを実装し、今回作成した日本語IMEを移植せよ。IMMの仕様はWindows2000と同じように しなければならない。報酬は功労者に十万円の山分け。タイムリミットは11月1日。 ただし、逆コンパイルと逆アセンブルは禁止されている。
まずは小手調べだ。 【練習問題6】ReactOSのバグを3匹解決せよ。
21:59:19.55 - 21:33:15.78 = 26分03秒23(笑)
>>241 荒らしてねーよ、妄想癖。 果たしてReactOSのカーネルを読んで理解できるのか、サンダース。 とりあえずカーネルを読みまくってカーネルプログラマーになるよ!!!
MZうyちゃーーーん 577 : デフォルトの名無しさん 2016/08/01(月) 18:26:24.03 その差歴然wサポート切れw 579 : デフォルトの名無しさん 2016/08/02(火) 10:14:45.92 HSもDSも使えないDirectX9w 582 : デフォルトの名無しさん 2016/08/02(火) 22:17:53.20 歯車? 頭の歯車でも取れてるのか? 584 : デフォルトの名無しさん 2016/08/03(水) 03:32:04.04 流石中卒w IQ13w 586 : デフォルトの名無しさん 2016/08/03(水) 06:05:17.26 福盛砲につられ続けるコンソール哀れw 588 : デフォルトの名無しさん 2016/08/03(水) 11:08:07.84 VS2008www
MZうyちゃーーーん 590 : デフォルトの名無しさん 2016/08/03(水) 12:44:05.84 そしてウンチタイム♪” 591 : デフォルトの名無しさん 2016/08/03(水) 13:55:25.80 もしかして人間が相手してると思った?w
日記みたいなのつけたいんならブログなりTwitterでやれよww
よし、デバッグのために仮想シリアルポートをインストールだよ。
おかしいな、virtualboxのシリアルポートが無効になっていて使えない。なぜだろ。
>>254 資格は一応取ってるけど何か? 何が無資格? 最近の書き込みロボットは意味不明な印象操作、業務妨害に特化しているんだな
ReactOSのバグを一匹退治したよ。 CORE-11766
>>255 ねえねえ、どんな資格取ってるの?wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww BIOS設定をいじったら、VBOXのシリアルポートが使えるようになったぜ。 これでカーネルのバグの特定ができるようになった。やったあ!
ク ク || プ // ス ク ス | | │ // / ス | | ッ // ク ク ||. プ // / // ス ク ス _ | | │ // / ̄ ̄\ / ス ─ | | ッ // / _ノ .\ / // | ( >)(<) ___ . | ⌒(__人__) ./ ⌒ ⌒\ | ` Y⌒l / (>) (<)\ . | . 人__ ヽ / ::::::⌒(__人__)⌒ \ ヽ }| | | ` Y⌒ l__ | ヽ ノ、| | \ 人_ ヽ / . /^l / / ,─l ヽ \
ソースコードが綺麗。人に見せることを意識して書くから?
>>262 コーディングスタイルとかコーディングルールというものがあってな、 守らないといけない。それが組織によって違うんだよ。ANSIスタイルにしておけば無難だが。 あと、ソースは整形ツールで自動的に整形できるからな。 if文内が1行の場合でも { }を付けるタイプなんですね。自分もそうなので親近感が湧くコードです。 Linuxカーネルのソースとか見ると関数名や変数名が何の略なのかわからないものがありますが、 変数名やメソッド名などの名称を無理に省略してないので見やすいです。 for文のループ変数ですが、iとkを使っているようですが、なぜjを使わないのでしょうか? 自分は、iを使わずj,k,lと使います。
ク ク || プ // ス ク ス | | │ // / ス | | ッ // ク ク ||. プ // / // ス ク ス _ | | │ // / ̄ ̄\ / ス ─ | | ッ // / _ノ .\ / // | ( >)(<) ___ . | ⌒(__人__) ./ ⌒ ⌒\ | ` Y⌒l / (>) (<)\ . | . 人__ ヽ / ::::::⌒(__人__)⌒ \ ヽ }| | | ` Y⌒ l__ | ヽ ノ、| | \ 人_ ヽ / . /^l / / ,─l ヽ \
ク ク || プ // ス ク ス | | │ // / ス | | ッ // ク ク ||. プ // / // ス ク ス _ | | │ // / ̄ ̄\ / ス ─ | | ッ // / _ノ .\ / // | ( >)(<) ___ . | ⌒(__人__) ./ ⌒ ⌒\ | ` Y⌒l / (>) (<)\ . | . 人__ ヽ / ::::::⌒(__人__)⌒ \ ヽ }| | | ` Y⌒ l__ | ヽ ノ、| | \ 人_ ヽ / . /^l / / ,─l ヽ \
_ ∧_∧  ̄  ̄ . (´Д`;)←>>267 . ' ヽ / // / // ,-( ヽ i / / メ、ヽ ヽ | / / ヽl | | / / // / ! , /∧_∧// / / ( ゚∀/ / / γ / / θ ヘ | / ) | , / | / ヘ | / i / | | / / , ' _/ |l / / | | し' / / ̄/ / /. / | ( _ / / 〃, ( / / l と と ) て ̄ / し' /__) (_(_,J さあ、みんな集まって。ReactOSカーネル勉強会第一回が始まるよ!!! ROS勉強会ではいつでも質問を受け付けています。
まず最初はテキスト検索ツールのgrepについてだ。 ファイルやフォルダーをまたいだテキストの検索には、grepという検索ツールが便利だ。 秀丸エディタやサクラエディタといった高機能なテキストエディタにはgrep機能が備わってるぞ。 関数がどこにあるかわからないとき、関数名でgrepすれば、検索で一致した箇所を出力してくれるぞ。
ほとんどのWindows/ReactOSのAPIは、DLLの関数群として提供される。 ではDLLとは何か。DLLは動的リンクによる実行可能なモジュールであると言える。 DLLの拡張子はほとんどが.dllであり、システムフォルダーにたくさん格納されている。 動的リンクは必要なときに実行可能モジュールをプロセスメモリーにロード(load)でき、不必要なときにアンロードできる。 よってDLLはメモリーの節約やコードの再利用を可能にする。
ROSソースのダウンロードが終わったら、ダウンロードした場所を覚えておこう。 Windows7/10では、おそらく「C:\Users\(自分のアカウント名)\reactos」になる。 ダウンロードしたソースを開いてしばらく適当にながめてみよう。
ReactOSの省略形のROSは勝ち負けのwin/lossに引っかけたものになっている。ちょっとした言葉遊びだね。
それでは、フォルダのreactos→trunk→reactosを順番に開く。 READMEというファイルがあるから、テキストエディタで開いてよく読もう。 次に、reactos→trunk→reactos→dll→win32には、たくさんのDLLのソースがある。ただし、gdi32.dllとuser32.dllのソースはここにはない。 gdi32とuser32は、reactos→trunk→reactos→win32ssにある。この2つはカーネルに近いということで特別扱いされている。
カーネルの関数のほとんどはprefix(プレフィックス)で分類されている。 prefixとは、名前の先頭にくっついたもののことである。 例えば、関数名の最初に「User32」がついていれば、その関数はuser32のカーネル関数であり、関数名の先頭に「Gdi」があればGDIのカーネル関数である。
彡⌒ミ (´・ω・`) 彡⌒ミ / \ ( )いいこと言うなハゲ .__| | .| |_ / ヽ ||\  ̄ ̄ ̄ ̄ / .| | | ||\..彡⌒ミ (⌒\ |__./ ./ ||. ( ) ~\_____ノ| 彡⌒ミ / ヽ だよなハゲ \| ( ) | ヽ \/ ヽ. 美しいハゲだな | |ヽ、二⌒) / .| | | .| ヽ \∧_∧ (⌒\|__./ /
ハゲ!ハゲ!ハゲ!ハゲ!ハゲハゲハゲハゲハゲハゲうぉぉぉぉぉおおおおおおおおお〜!!!!!!
俺はふさふさだ。 この辺で勉強会はお開きとさせてもらいます。次回は来週の土曜日です。
ハゲ!ハゲ!ハゲ!ハゲ!ハゲハゲハゲハゲハゲハゲうぉぉぉぉぉおおおおおおおおお〜!!!!!!
_ ∧_∧  ̄  ̄ . (´Д`;)←>>280 . ' ヽ / // / // ,-( ヽ i / / メ、ヽ ヽ | / / ヽl | | / / // / ! , /∧_∧// / / ( ゚∀/ / / γ / / θ ヘ | / ) | , / | / ヘ | / i / | | / / , ' _/ |l / / | | し' / / ̄/ / /. / | ( _ / / 〃, ( / / l と と ) て ̄ / し' /__) (_(_,J ク ク || プ // ス ク ス | | │ // / ス | | ッ // ク ク ||. プ // / // ス ク ス _ | | │ // / ̄ ̄\ / ス ─ | | ッ // / _ノ .\ / // | ( >)(<) ___ . | ⌒(__人__) ./ ⌒ ⌒\ | ` Y⌒l / (>) (<)\ . | . 人__ ヽ / ::::::⌒(__人__)⌒ \ ヽ }| | | ` Y⌒ l__ | ヽ ノ、| | \ 人_ ヽ / . /^l / / ,─l ヽ \
,r-─────、 ,f _____,、ー-、 ,ノ r' t ヽ f / '''''' ''''''::\ .l | |(●), .、(●)、:::| ノ この辺で勉強会はお開きとさせてもらいます。 (⌒' .,,ノ(、_, )ヽ、,, .:::::;⌒) >>280 (笑) . t_t `-=ニ゚=- ' .:::::::;tノ \ `ニニ´ .:::::/ ,,.....イ `ー-.ニ−― ノ゙-、.. : ┃ ◆・◆ ┃ i ┃ .┃ | ReactOSを初めて知ったので、ダウンロード->VirtualBoxにインストール。 まだ、実用的では無いがインターネットにも繋がるし、Firefoxも普通に動いた。 日本語表示はされるが、入力は全くだめだった。
ReactOSのソースコードを見てみた。imm.cにFIXME()がたくさんコーディングされていて、日本語入力が無理なのがわかる。
>>288 PearOSのWikiを見てみた。PowerPCコードをx86コードに変換するエミュレータなのがわかる。 >>286-287 新入りさん、こんにちは。我々は帝国に背いた反乱軍だ。 アカウントの登録の際には偽名を使いたまえ。ReactOSの改良と日本語化が進まなければ、 毎年莫大な金額をどこかの企業に奪われてしまう。基本システムを解放し、オープン化せよ。これは我々に出題されたパズルである。 >>290 はじめまして。 ちなみに、262が2chへの初書き込みになります。 いつもは見ているだけですが、あまりにも感動したので思わず書き込んでしまいました。 262、264、286、287、289はすべて自分の書き込みです。2ch語が今ひとつわかってないので口調がコロコロ変わってしまいます。 291続き 未だにWindowsXPを使っています。しかし、いずれ無理が来ると思いLinuxに乗り換えている最中です。 ReactOSが実用化できれば、長年使ってたAPIに別れを告げなくてもよくなります。 救世主の時代も有ったと思います。いつ暗黒面に落ちたのかわかりませんが、自分も帝国のやり方に反対する人の一人です。
ReactOSのデバッグ出力について解説しよう。ROS起動時に表示されるブートメニューでDebugを選ぶと、シリアルポートにデバッグ出力するようになる。 ROSをインストールしたVirtualBoxでシリアルポートを有効にして、指定したパスのRawファイルに出力するようにすれば、シリアルポートの出力がテキストとして得られる。 ソースのある場所でデバッグ出力したい場合は、デバッグ出力したいソースファイルで<debug.h>を#includeし、「#define NDEBUG」という行があればコメントにする。 そしてDPRINT("Hello, ReactOS\n");と記述すれば、そこが実行されたときに「Hello, ReactOS」と出力される。DPRINTはprintfと同じ文法だ。
【練習問題】 CopyRect APIを実装した関数の定義を見つけ出し、その関数にDPRINT("Hello, ReactOS\n");のコードを追加して、シリアルポートに出力させることを確認せよ。
厚かましいとはわかっていますが、 >>293 のような情報はとても欲しいです。 次はバージョン管理システムについてだ。 ReactOSではバージョン管理システムにSubversion (SVN)を採用している。Gitでもパッチを作成できるが、リビジョンの同期のためにSVNの利用をオススメする。 WindowsでSVNを利用するには、TortoiseSVNをインストールするのが一番簡単だ。 SVNで管理されたフォルダには.svnという隠しフォルダがあり、ここですべてのバージョン情報を管理している。
バージョン管理に新しいファイルを追加したい場合は、適当な場所にファイルを置き、 右クリックして、TortoiseSVNメニューの「Add」を選ぶ。 フォルダーを変更前に戻したい場合は、フォルダを右クリックして、TortoiseSVNメニューの「Revert」を選ぶ。 変更内容のパッチを作成したい場合は、SVNのルートフォルダを右クリックして「Create Patch」を選ぶ。 逆にパッチを適用したい場合は「Apply Patch」を選ぶ。
パッチというのはテキストファイルの変更内容を表すデータであり、これを投稿することで変更内容を伝えることができる。 Linux環境では、パッチを作成するプログラムの「diff」と、パッチを適用するための「patch」というプログラムが有名だ。 通常、パッチだけではバイナリーファイルを表すことはできない。バイナリーが必要ならば別途添付する必要がある。
まともな開発機がないとプログラミングはキツいよ。価格.comで中古のパソコンを探してみたら?
_ ∧_∧  ̄  ̄ . (´Д`;)←>>303 . ' ヽ / // / // ,-( ヽ i / / メ、ヽ ヽ | / / ヽl | | / / // / ! , /∧_∧// / / ( ゚∀/ / / γ / / θ ヘ | / ) | , / | / ヘ | / i / | | / / , ' _/ |l / / | | し' / / ̄/ / /. / | ( _ / / 〃, ( / / l と と ) て ̄ / し' /__) (_(_,J _ ∧_∧  ̄  ̄ . (´Д`;)←>>305 . ' ヽ / // / // ,-( ヽ i / / メ、ヽ ヽ | / / ヽl | | / / // / ! , /∧_∧// / / ( ゚∀/ / / γ / / θ ヘ | / ) | , / | / ヘ | / i / | | / / , ' _/ |l / / | | し' / / ̄/ / /. / | ( _ / / 〃, ( / / l と と ) て ̄ / し' /__) (_(_,J ク ク || プ // ス ク ス | | │ // / ス | | ッ // ク ク ||. プ // / // ス ク ス _ | | │ // / ̄ ̄\ / ス ─ | | ッ // / _ノ .\ / // | ( >)(<) ___ . | ⌒(__人__) ./ ⌒ ⌒\ | ` Y⌒l / (>) (<)\ . | . 人__ ヽ / ::::::⌒(__人__)⌒ \ ヽ }| | | ` Y⌒ l__ | ヽ ノ、| | \ 人_ ヽ / . /^l / / ,─l ヽ \
意味なく陰湿な嫌がらせをして、妄想の中で勝った気になって悲しくないのか、このクズは
>>309 CeleronJ1800ぐらいか?wwwwwwwwwwww 意味なく陰湿な嫌がらせをして♪ 妄想の中で勝った気になって♪ 悲しくないのか♪ このクズは♪ ねぇねぇ、作りかけのインベーダーまだー?wwwwwwwwwwwwww
_ ∧_∧  ̄  ̄ . (´Д`;)←>>310 . ' ヽ / // / // ,-( ヽ i / / メ、ヽ ヽ | / / ヽl | | / / // / ! , /∧_∧// / / ( ゚∀/ / / γ / / θ ヘ | / ) | , / | / ヘ | / i / | | / / , ' _/ |l / / | | し' / / ̄/ / /. / | ( _ / / 〃, ( / / l と と ) て ̄ / し' /__) (_(_,J ク ク || プ // ス ク ス | | │ // / ス | | ッ // ク ク ||. プ // / // ス ク ス _ | | │ // / ̄ ̄\ / ス ─ | | ッ // / _ノ .\ / // | ( >)(<) ___ . | ⌒(__人__) ./ ⌒ ⌒\ | ` Y⌒l / (>) (<)\ . | . 人__ ヽ / ::::::⌒(__人__)⌒ \ ヽ }| | | ` Y⌒ l__ | ヽ ノ、| | \ 人_ ヽ / . /^l / / ,─l ヽ \
放って置くのがいいよ,それにしても片山さんは元気ですね
音符とwを連続使用するコイツはコンソールだな。何で比べたがるのかね。ちなみに私のCPUは、 Core i5だ。偏見やバイアスが掛かっていないと死んじゃうのか?
手コキ船登場wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
コテをつけなくなった分,少しは恥を知ったのだろう そのうち片山さんの実力を知って自滅するだろうから,それまだ待っているのがいい
ク ク || プ // ス ク ス | | │ // / ス | | ッ // ク ク ||. プ // / // ス ク ス _ | | │ // / ̄ ̄\ / ス ─ | | ッ // / _ノ .\ / // | ( >)(<) ___ . | ⌒(__人__) ./ ⌒ ⌒\ | ` Y⌒l / (>) (<)\ . | . 人__ ヽ / ::::::⌒(__人__)⌒ \ ヽ }| | | ` Y⌒ l__ | ヽ ノ、| | \ 人_ ヽ / . /^l / / ,─l ヽ \
_ ∧_∧  ̄  ̄ . (´Д`;)←>>319 . ' ヽ / // / // ,-( ヽ i / / メ、ヽ ヽ | / / ヽl | | / / // / ! , /∧_∧// / / ( ゚∀/ / / γ / / θ ヘ | / ) | , / | / ヘ | / i / | | / / , ' _/ |l / / | | し' / / ̄/ / /. / | ( _ / / 〃, ( / / l と と ) て ̄ / し' /__) (_(_,J >>300 >>301 心配をかけたみたいですが、ハードは、CeleronG1610(IvyBridge)、RAM4Gなので、自分の用途では十分早いです。 >>294 は、自分に出された問題ではないので、「しばらくは(誰かが練習問題を解くのを)見る側にいます。 」のコメントは自意識過剰だった気がします。 ク ク || プ // ス ク ス | | │ // / ス | | ッ // ク ク ||. プ // / // ス ク ス _ | | │ // / ̄ ̄\ / ス ─ | | ッ // / _ノ .\ / // | ( >)(<) ___ . | ⌒(__人__) ./ ⌒ ⌒\ | ` Y⌒l / (>) (<)\ . | . 人__ ヽ / ::::::⌒(__人__)⌒ \ ヽ }| | | ` Y⌒ l__ | ヽ ノ、| | \ 人_ ヽ / . /^l / / ,─l ヽ \
>>297 TortoiseSVN1.9.4.27285がVista以降しか対応してなかった _ ∧_∧  ̄  ̄ . (´Д`;)←>>325 . ' ヽ / // / // ,-( ヽ i / / メ、ヽ ヽ | / / ヽl | | / / // / ! , /∧_∧// / / ( ゚∀/ / / γ / / θ ヘ | / ) | , / | / ヘ | / i / | | / / , ' _/ |l / / | | し' / / ̄/ / /. / | ( _ / / 〃, ( / / l と と ) て ̄ / し' /__) (_(_,J >>325 Linux環境でsvn checkoutコマンドでソースファイルを取得 新入りが来たことだし、カーネル勉強会は、土曜日に限らず不定期で行うことに致す。
ReactOSはオブジェクト指向であり、処理対象をモノ(object)という単位で 考えることが多い。まずは、ユーザーオブジェクトから読み始めるぞ。 win32ss\user\ntuser\object.c を参照しよう。最初にPUSER_HANDLE_TABLE gHandleTableの定義が見える。 PUSER_HANDLE_TABLE型の定義はwin32ss\include\ntuser.h の32行目にある。nb_handleというのは、ハンドルのnumberの意味だろう。 object.cの533行目にUserCreateObjectの定義がある。 この関数でユーザーオブジェクトを作成する。 222行目に、グローバル変数ObjectCallbacksが定義されている。 ObjectCallbacksは、UserCreateObjectで参照されており、 ハンドルの作成・解放を行う関数であることがわかる。 ObjectCallbacksにハンドルの種類としてTYPE_WINDOW、TYPE_MENU、 TYPE_INPUTCONTEXTなどがあることが確認できる。
>>325 RosBEにsvn.exeが付属してあるので、多少面倒だが、 RosBEコマンドラインでsvnを使うといい。 UserReferenceObjectは、IUnknown::AddRefみたいな関数で、 UserDereferenceObjectは、IUnknown::Releaseみたいな関数だ。 要は、オブジェクトにデータとして参照カウントを保持して、 カウントがゼロになったときにどこからも参照されていないと 判断して削除するという機構である。
OSの中心となる領域をカーネルといい、カーネル以外の領域のことをユーザーランドという。 カーネルではさまざまなルールがある。ZeroMemoryやmemsetは使わない。代わりにRtlZeroMemoryを使う。CRT関数は使わない。ウィンドウを扱うときには、PWND型を使う。などといったものだ。
【練習問題】 ObjectCallbacksにAllocDeskThreadObject関数とAllocThreadObject関数が 登録されているが、この2つの関数の違いについて調べなさい。
【答え】 AllocDeskThreadObjectはデスクトップのヒープを使ってメモリーを確保するが、 AllocThreadObjectはグローバルユーザーヒープを使ってメモリーを確保する。 また、AllocThreadObjectはpSelfとrpdeskメンバーにデータを格納しない。
お次はwindow.cを見てみよう。名前通りウィンドウオブジェクトの処理が書かれている。 103行目のUserGetWindowObjectを使えば、ウィンドウハンドルのHWNDからユーザーオブジェクトのPWNDが取得できる。 prefixがIntの関数はAPI内部(internal)の関数だ。
>>335 C言語のmalloc関数を読んだらOS上ではAllocThreadObject関数が呼ばれ、 アプリケーションからは呼べないがカーネルやドライバーがメモリを確保したい場合はAllocDeskThreadObject関数を呼ぶということなのかなぁ >>337 AllocThreadObjectとAllocDeskThreadObjectはどちらもユーザーオブジェクトを確保する関数だ。 CRTのmallocとはあまり関係無い。共通点はヒープを使っていることだけだ。 Deskが付いているのはメモリーがデスクトップの所有になることを表す。 デスクトップは1つだけとは限らない。デスクトップが破棄されたとき、そのヒープも使えなくなる。 ここで「ユーザー」というのはGUI (graphical user interface)のuserのことである。 ウィンドウもメニューもカーソルもユーザーオブジェクトだ。ユーザーランドではそれらをハンドルで扱い、カーネルではユーザーオブジェクトで扱う。
TYPE_WINDOW、TYPE_MENUなどは、HANDLE_TYPE列挙型として、win32ss\include\ntuser.hの40行目で定義されている。 これらはユーザーオブジェクトの種類を表す。これらの値のいずれかがUserCreateObjectの第5引数typeとして渡される。 UserCreateObjectはtypeを使ってObjectCallbacksを参照する。 ObjectCallbacksは、関数ポインターを所有する構造体の配列だ。
filebrowser.exe(エクスプローラ?) ... フォルダーオプションメニューがグレイアウトしてクリックできなかったこと以外、 特に気になった点はない。ただ、ReactOSで起動したときと違うようなので、バージョンの違いなのか、OSの違いなのかは不明。 終了ボタンを押すと「問題が発生したため、・・・」のダイアログが表示される。
RosBE(ReactOS構築環境)のインストールが終わり、ReactOSのコンパイルをしてみた。 自分で、user32.dllやgdi32.dllを作れるのは感動 WindowsXPにこれらdllをコピーするのは、怖くて流石にできないが、 ReactOSコンパイルでできたexeをXPで実行してみた。
explorer.exe(エクスプローラ) ... 起動しない。 taskmgr.exe(タスクマネージャ) .... WindowsXPのタスクマネージャが実行されるようだ。 explorer.exeとtaskmgr.exeは、なりすまし防止のため、WindowsXPで特別なことをしているのかもしれない。
calc.exe(電卓)、winmine.exe(ゲーム)...こんなもののソースまであるのかと驚きながら動くことを確認。
Sorry, you have been blockedが表示されて書き込めなかったので、何がおかしいのか調べていたらバラバラになった。 342、344、345、341、343の順で見ることを推奨
>>339 なるほど!ユーザーオブジェクトが理解できれば話の流れがつかめます では続きをやろう。win32ss\user\ntuser\window.cの156行目にIntIsWindow関数がある。 これは指定されたハンドルからPWNDが取得できたらTRUEを返すシンプルな関数だ。 PWNDの定義はwin32ss\include\ntuser.hの656行目にある。 window.cの184行目にIntGetParent関数がある。これは親ウィンドウを返す関数だ。 win32ss\user\user32\windows\window.cには、IsWindow APIとGetParent APIの実体がある。APIと内部関数は多少動作が違うが、似た動作になっている。
次に、ウィンドウがどのように作成されるかを見てみよう。 フォルダwin32ssをCreateWindowExでgrepする。win32ss\user\user32\windows\window.cの 452行目にCreateWindowExWの定義が見付かる。中身を読んでみると、(1)システムコントロールが登録されていなかったら登録する。(2) 拡張スタイルにWS_EX_MDICHILDがあれば、あれこれ処理を行う。 (3)その後はUser32CreateWindowExに丸投げ、という形になっている。User32CreateWindowExは、152行目にある。
さらにUser32CreateWindowExの中身を見てみると、文字列処理、メニューのロード、後はNtUserCreateWindowExに丸投げ、という形である。 カーネルの文字列処理ではCRT関数は使えないので、LARGE_STRING、UNICODE_STRING構造体、Rtl関数などを使って処理している。 lstrはLARGE_STRINGのprefixで、ustrはUNICODE_STRINGのprefixだ。 NtUserCreateWindowExは、win32ss\user\ntuser\window.cの2386行目。
さらにさらに、NtUserCreateWindowExを見てみると、 ------ あれこれ初期化 UserEnterExclusive(); pwnd = co_UserCreateWindowEx(...); ... hwnd = pwnd ? UserHWGetHandle(pwnd) : NULL; UserLeave(); 後片付け return hwnd; ------ という形になっている。UserHWGetHandleはPWNDからHWNDを取得する関数だ。ここで、 UserEnterExclusive(); と UserLeave(); の間のコードは特別な意味がある。
UserEnterExclusive();とUserLeave(); の間は「排他制御」(はいたせいぎょ)の区間である。 ReactOSはマルチスレッドOSなので、1つのデータや資源に複数のスレッドからアクセスされることがある。 そのとき、同時にアクセスされたために読み書きされた内容がおかしくなる可能性がある。それを防ぐために、データや資源へのアクセスにロックを掛けて、ロックされているときはロックが解除されるまで待つという機構が排他制御である。
カーネル内部で使用できるRtl関数の定義は、sdk\lib\rtlにある。 メモリー初期化用のRtlZeroMemoryや、Unicode文字列の初期化のRtlInitUnicodeStringなどが見付かるだろう。
_ ∧_∧  ̄  ̄ . (´Д`;)←>>354 . ' ヽ / // / // ,-( ヽ i / / メ、ヽ ヽ | / / ヽl | | / / // / ! , /∧_∧// / / ( ゚∀/ / / γ / / θ ヘ | / ) | , / | / ヘ | / i / | | / / , ' _/ |l / / | | し' / / ̄/ / /. / | ( _ / / 〃, ( / / l と と ) て ̄ / し' /__) (_(_,J で、co_UserCreateWindowExだが、ザッと400行ほどあって、常人はかみ砕いていかないと理解できないだろう。 という訳でこの辺でウィンドウ作成コードの研究をいったんやめる。
ReactOSにはnotepad(メモ帳)のソースコードもある。 WindowsXP上では、このメモ帳で日本語入力が可能なので、攻略を試みたが、 このソースコード内には日本語入力に関する処理がない。 CreateWindowEx関数を呼ぶ際に第二引数に
357の続き "EDIT"を指定することで、エディター用のウインドウが作られ このウインドウ内で日本語入力に関する処理をしているようだ。
今度はメニューの作成コードを見るぞ。 win32ss\user\user32\windows\menu.cの840行目にCreateMenu APIがあり、これはNtUserxCreateMenuに丸投げしている。 win32ss\user\user32\include\ntwrapper.hの551行目にインライン関数NtUserxCreateMenuがあり、これはNtUserCallNoParam(NOPARAM_ROUTINE_CREATEMENU)を呼ぶだけだ。 NtUserCallNoParamの定義は、win32ss\user\ntuser\simplecall.cの58行目にあり、UserEnterExclusive();とUserLeave();の間でUserCreateMenuを呼んでいる。
UserCreateMenuはIntCreateMenuを呼ぶ。win32ss\user\ntuser\menu.cの741行目にIntCreateMenuの定義がある。 IntCreateMenuはUserCreateObjectを呼んでユーザーオブジェクトPMENUを作成し、初期化を行う。PMENUの定義はwin32ss\include\ntuser.hの382行目にある。
ここで重要なのは、ユーザーオブジェクトの作成には、排他制御が必要であることだ。 ユーザーオブジェクトを作成するコードは、必ずUserEnterExclusive();とUserLeave();の間に置かなければならない。
_ ∧_∧  ̄  ̄ . (´Д`;)←>>361 . ' ヽ / // / // ,-( ヽ i / / メ、ヽ ヽ | / / ヽl | | / / // / ! , /∧_∧// / / ( ゚∀/ / / γ / / θ ヘ | / ) | , / | / ヘ | / i / | | / / , ' _/ |l / / | | し' / / ̄/ / /. / | ( _ / / 〃, ( / / l と と ) て ̄ / し' /__) (_(_,J VirtualBox上でReactOSを実行し、Guest Additionをインストール。 インストールがうまく行ったので、共有フォルダーを設定し、マイネットワークで開いてみる。 共有フォルダーは認識しているが、フォルダー内が表示されない。 ReactOSは、まだ、フォルダー共有は実装してないみたいだ。
ReactOSにVC++2010Expressのインストールを試みた。 isoファイルをダウンロードして、VirtualBoxメニュー->デバイス->光学デバイスで、このファイルを指定。 マイコンピュータから開いてみると、なぜか、README.TXTしかない。 README.TXTには、このディスクはUDFフォーマットなので、ISO-13345 UDFファイルシステムのサポートが必要と書かれていた。
ReactOSのアプリケーションマネージャをみていると、開発カテゴリにWinspy++があった。 このWinspy++は個人が作ったものでMSとは関係ないようだ。 インストールはうまく行かなかったので、ホームページからダウンロードすることにした。 使ってみるとなかなかの出来たが、肝心のWindowsメッセージのトレース機能がない。 MS製のWinspy++は、VisualStudio Express版には含まれていないまずなので、 もし、Windowsメッセージのトレース機能があれば、かなり欲しい。
>>367 Winspector Spyというツールがあるよ 「MZ-IME日本語入力」に個人的にはレアなソースコードを見つけた。 setup.cpp328行目の if (0 != DoSetRegistry1()) { は、通常、比較演算子(!=)の右辺にリテラル(0)を書くのが一般的のはずだ。 しかし、a変数が0の場合かどうかのif文を書く場合 if (a = 0) { と誤った場合を考えて、常に左辺にリテラルを書く人がいた。 1行のif文の場合でも{}を付けるのを見た時も思ったが、細かいこだわりのあるコードに思える。
_ ∧_∧  ̄  ̄ . (´Д`;)←>>371 . ' ヽ / // / // ,-( ヽ i / / メ、ヽ ヽ | / / ヽl | | / / // / ! , /∧_∧// / / ( ゚∀/ / / γ / / θ ヘ | / ) | , / | / ヘ | / i / | | / / , ' _/ |l / / | | し' / / ̄/ / /. / | ( _ / / 〃, ( / / l と と ) て ̄ / し' /__) (_(_,J キー入力を処理する関数は、win32ss\user\ntuser\keyboard.cの787行目のProcessKeyEventである。 gafAsyncKeyStateは、13行目にあり、これは非同期のキー状態を表しているようだ。 入力したキーがホットキーならば、824行目でco_UserProcessHotKeysが呼ばれ、 他に処理はされない。IntFixVkは247行目にあり、VK_SHIFTなどをVK_RSHIFTやVK_LSHIFTなどに変える関数だ。
835行目でIntGetFocusMessageQueue関数が呼ばれる。 文字通り、フォーカスされたメッセージキューの取得である。 キューというのは待ち行列のことだ。キー入力は待ち行列で処理される。 PUSER_MESSAGE_QUEUEは、win32ss\user\ntuser\msgqueue.hの44行目で定義されている。
VK_SNAPSHOTは、[PrintScreen]キーを表している。 [PrintScreen]キーが押されていれば、keyboard.cの890行目あたりで SnapWindowが呼ばれるはずだ。それ以外の場合、MsqPostMessageにより、 フォーカスのあるウィンドウ、あるいはアクティブなウィンドウに キーメッセージがポストされる。
PTHREADINFO pti;というのは、スレッドの情報を表していると考えられる。 THREADINFO構造体の定義は、win32ss\user\ntuser\win32.hの82行目に見つかる。 メッセージキューの処理は、win32ss\user\ntuser\msgqueue.cに記述されている。 メッセージキュー関数のprefixはMsqだ。MsqPostQuitMessageなどのなじみの ある処理も記述されているのがみられる。メッセージキューは ユーザーオブジェクトではないが、参照カウントで管理されている。
MsqPostMessageでポストされたキー入力メッセージはTranslateMessage APIにより、 WM_CHAR、WM_SYSCHARに変換される。その処理を行っているのが、 win32ss\user\ntuser\keyboard.cの1125行目のIntTranslateKbdMessageだ。 ここまで入力プロセスを見てきた。IMEを有効にするには、これらの処理のどこかで IMEと対話するための中間処理を記述しなければいけない。
keyboard.cのIntTranslateKbdMessageを見てみよう。1144行で関係ないメッセージは跳ね飛ばされる。 PsGetCurrentThreadWin32Threadでスレッド情報を取得して、 キーボードレイアウトとキーボードテーブルを参照する。 必要ならばpti->pClientInfo->hKLを更新し、キーボードテーブルがなければreturn FALSEする。 wParamがVK_PACKETならば特殊な処理を行う。 主処理はIntToUnicodeExで行われる。変換を行った文字は、 MsqPostMessageでWM_CHAR、WM_SYSCHAR、WM_DEADCHAR、もしくは WM_SYSDEADCHARとしてメッセージキューへポストされる。
訂正。 (誤) keybd_event (正) SendInput スクリーンキーボードのソースは、base\applications\oskにある。
>>379 英語の読解力がなくてよくわからないけど、 ロシア版ReactOSをインストールして、英語キーボードを選択したらこの問題が起きると書いているのでしょうか? 数日前にダウンロードした日本語版ReactOSを使っているけど、日本語配列と英語配列のキーボードを変えると、その言語のスクリーンキーボードに切り替える。 英語はまったくダメなので、よければついでに英語について教えてください。 On-screen keyboard should respect selected input language は、 On-screen Keyboardは、選択されたinput languageに従うべきだ。 と訳すと思うけど、 On-screen Keyboardは、選択されたinput languageに従うだろう。 とも訳せると思う。 shouldを...べきだと訳す場合と、...だろうと訳す場合の違いはどこにあります?
> Default selected input language for my russian installation of ReactOS is english. (訳) ロシア語でインストールした私のReactOSに対する既定の選択された入力言語は英語だ。 > When I try to use osk.exe, I see only russian letters and can't switch it to english mode. (訳) oskを試したとき、ロシア語の文字しか見えず、英語モードに切り替えられなかった。
> On-screen keyboard should respect selected input language (訳) スクリーンキーボードは選択済みの入力言語を尊重すべきだ
入力言語を変えるダイアログのコードはdll\cpl\inputにある。 実際に変える処理をしているのは dll\cpl\input\input_list.cの220行目のInputList_Processだ。
263行目、WM_INPUTLANGCHANGEREQUESTメッセージをシステム全体に送信している。
263行目、WM_INPUTLANGCHANGEREQUESTメッセージをシステム全体にポストしている。
shouldは、仮定法だから、だろうと訳すことは、ない。 そうなるべきであるにもかかわらず、実際は、そうなってない。 you shouldになってたら、 してないじゃないか。なぜしないのか。したほうがいいという感じになる
IMEをインストールするとレジストリはどうなる? IMEの正当性のチェック方法は? IMEの読み込み方法は? 読み込むのはいつ? 入力コンテキストの作成と破棄はいつ? 入力コンテキストはどこにどのように関連付けされるか? キーボードレイアウトを読み込むときIMEはどうなる? キーボードレイアウトの切り替えをどうやる? キーボードレイアウトがIMEであることの判定方法は?
IMMはIMEをどこにどのようにロードする? そのタイミングは? IMMはどうやってIME/Appと通信を行う? そのタイミングは? IMM/IMEはメッセージキューをどのように使う? user32.dllとimm32.dllの関係はどうなっている? コントロールパネルの入力言語設定でどうやってIMEを切り替える?
ReactOSで日本語入力するためには、IMMを実装しないといけない。 それもWindows2000とある程度互換性のある実装でなければならない。 正しい実装かどうか確認するには、やはりテストするしかない。
>>389 ありがとうございます。 仮定法のshouldの場合、してないじゃないか。なぜしないのか。したほうがいい。という感じと覚えます。 仮定法についても、もう少し聞きたいのですが、その前に、 英語についてインターネットで調べている時、マッカーサが 393の続き 「I shall return」と言ったというのを見ました。 willを使わなかったのは、強い意思や使命感の現れと書いてました。 On-screen keyboard should respect selected input language でwouldを使ってないのは、 この人は、「出来てて当然なのに、なんで出来てないんだよ」という気持ちがあるということなのでしょうか? それとも、 case 1.この文はwouldには置き換えられない。 case 2.shouldの方がwouldより、強い口調になるが、仲間内でwouldを使うとかえって他人行儀になる。 case 3.この文では、shouldとwouldのどちらを使っても違いがない。 のケースに当てはまるのでしょうか?
>>390-392 Windowsの内部構造について考える機会がなく、ReactOSを知って初めて内部構造を意識するようになった。 当初、imm32.dllとimeがあれば、日本語入力ができるものかと考えてた。 しかし、そんな単純なものではないことがわかった。 wine(Windowsエミュレータ)のメモ帳では日本語入力ができた。 wineのimm.cを見ると最終的にはXIMプロトコルを使って日本語入力していることがわかった。 ただ、wineがwindows2000の日本語入力と互換性を考えて書かれているのかどうはわからない。 自分にはゴール地点が見えない。 >>379 自己解決。usetupの言語の登録順が逆だった。 キーボードレイアウトの型PKLは、win32ss\user\ntuser\input.hの 26行目に定義されている。この定義は線形リストのようにも見える。 最後のメンバーPIMEINFOEX piiexはIMEの情報を表しているようだ。 PIMEINFOEXは、win32ss\include\ntuser.hの1151行目に定義されている。 IMEINFOは、sdk\include\psdk\imm.hに定義済みだ。 win32ss\user\ntuser\ntstubs.cに実装されるべきスタブ関数がある。 NtUserCreateInputContextなど、名前からは入力コンテキストに関係が ありような関数も見られる。関数の型がわからないので、実装は困難を極める。 直接的な逆工学は禁止なので、今のところ、関数名から推定するしかない。
>>394 case 1。shouldは「べき」で覚えれば間違いない。 教育用英和辞書には、英単語の意味が詳しく書かれているはずだ。
>>399 んじゃゲームパッドの場合はどうなるんだ?w IMEの文書についてはこちらを参照。 https://github.com/katahiromz/mzimeja/tree/master/doc IMEファイルはDLLファイルでもある。IMEの読み込みではDLLとして、 LoadLibrary[Ex]/GetProcAddressか、その内部関数が使われるはずだ。 ime-api_ja.pdfを参照すると、ImeInquire、ImeConversionList、ImeConfigure、 ImeDestroy、ImeEscape、ImeSetActiveContext、ImeProcessKey、NotifyIME、 ImeSelect、ImeSetCompositionString、ImeToAsciiEx、ImeRegisterWord、 ImeUnregisterWord、ImeGetRegisterWordStyle、ImeEnumRegisterWord、 ImeGetImeMenuItemsなどといったたくさんの関数をGetProcAddressで 取得する必要がある。 まあ、MZうyちゃーーーん♪がどんなブロック崩しを作るか楽しみにしてるよw 本人のセンスが出やすいw
成り済まし、妄想癖、ストーカーが激しいので、絶交です。
サブタスク1つにつき30000円。俺より早く解決できるか。早い者勝ち。
もちろん協力プレイもOKだ。だれが手柄を取るかは相談の上。
直接的な逆工学というのは、コードを盗むことを目的に対象の実機のWindowsに由来するコードを逆アセンブルないしは逆コンパイルすることだ。 第三者の誰かが書いた本やサイトを参考にしたなら、いつどこで何を参考にしたという(裁判所に提出できる)記録があればOKになる。
>>405 自分が書き込んだものと、違う人が書き込んだものを説明しても納得してもらえないでしょう。 381、382の書き込みがいけなかったことはわかるけど、まじめに学校で勉強してない人でもプログラムが好きな人はいます。 馬鹿げた質問に見えるかも知れませんが、まじめな質問です。自演自作はしてません。 また、この書き込みの後に悪ふざけの書き込みをする人がいるでしょう。 なので、もう書き込みませんが、プログラム好きが本当だと証明するために zzzyyyzzz56 でgoogle検索をしてみてください。 ニコニコ動画にこのIDで上がっている動画は、自分がアップした動画です。 『Inside Windows』というWindows解析本は有名だが、IMEについては『Inside IME』みたいな解析本は知られていない。もしあれば教えて欲しいものである。
>>411 絶交は、君に対してではなく通称オフィスマのことだ。君は気にしなくていい。 英語がわからなければある程度は教えよう。 俺にはIDが見えている。だから特定はだいたい出来ている。人間違いを避けたいなら、名前欄に「2ちゃんねるトリップ」と呼ばれるものをつけるといい。
>>412 んじゃDirectX解析本よろ♪(ギャハハ!!wwww” >>411 言葉が足りなかったようで、すまない。君を絶交した訳ではない。悪いのはオフィスマだ。許してくれ。 >>413-414 2ちゃんねるトリップのテスト書き込み。 うまくいってたらこのトリップで参加します。 >>416 許すも何も、あの流れを自演自作でされたら自分なら怒るので、片山さんは怒っているのだろうなぁと思っただけです。 389も当然自演ではないので、好意的に見ている人もいるのだなぁと感じました。 intlは国際的(international)の略語で、i18nは国際化(internationalization)の略語だ。langは言語(language)の略だ。cplはcontrol panelの略だ。 プログラミングにおいてはこうした略語や用語を知っていると役に立つ。
よく使われるメカニズムはだれかが理解、もしくは解析しておかないと技術が廃れてしまう。 日本では、巨大企業を恐れて合法的に解析しようと考える人がいなかった。 それが技術の進歩への乗り遅れになり、現在の日本のソフトウェア業界がある。
ReactOSチームには静的解析のプロが居る。実装が間違っているかどうかは、何とかして確かめることが可能だ。 DirectXはドライバー以外はほとんど解析済みだ。
ただ、彼らは日本語Windows2000や日本語キーボードを持っていない。中古で買ってプレゼントすることを考えている。
Yahoo!プログラミング言語検索ランキング(今回2016/08/18、前回2013/03/18) 《一般カテゴリ》 . 1(. 1) HTML...... 約224,3000万件(約252,7000万件) -11.23% . 2(. 2) PHP.. 約100,2000万件(約195,6000万件) -48.77% . 3(--) JavaScript..約. 17,3000万件(-------------.) ---- . 4(. 4) BASIC. 約. 15,3000万件(約 3,2600万件). +369.32% . 5(. 3) CGI 約 6,0300万件(約. 13,7000万件) -55.98% . 6(. 7) JAVA .約 5,5800万件(約 1,6800万件). +232.14% . 7(. 5) FORTH... 約 2,6200万件(約 2,2400万件) +16.96% . 8(. 6) C言語(*1) 約 2,4040万件(約 2,0567万件) +16.88% (*1)C言語、C++、C#の検索件数の合計 . 9(. 8) PYTHON 約 1,5800万件(約 1,5800万件) ±0.00% 10(. 9) PASCAL... 約 1,5400万件(約 1,5400万件) ±0.00% 11(10) DELPHI.. 約 9760万件(約 1,2200万件) -20.00% 12(12) IL. 約 7556万件(約 6498万件) +16.28% (*2)CILとCLRとMSILの検索件数の合計 13(11) PERL... 約 5830万件(約 1,0500万件) -44.47% 14(13) HSP.. 約 2150万件(約 2090万件). +2.87% 15(14) PROLOG......約 1230万件(約 1360万件). -9.55% 16(15) LISP. 約 1070万件(約 1340万件) -20.14% 17(16) FORTRAN.. 約 1050万件(約 1300万件) -19.23% 18(17) COBOL.. 約. 915万件(約 1110万件) -17.56%
《BASIC言語カテゴリ》 . 1(--) Apple Swift.....約. 46,600,000件(.-------------.) ---- [ ※参考 ] (*3)Apple Objective-Cからの置き換え . 2(. 2) VisualBasic . .約. 36,300,000件(約. 74,800,000件) -51.47% . 3(. 4) Objective-C. 約. 19,810,000件(約. 19,020,000件). +4.15%. [ ※参考 ] (*4)obj-cとobjective-cの検索件数の合計 . 4(. 3) Visual C++..... 約. 16,380,000件(約. 30,160,000件) -45.68%. [ ※参考 ] (*5)VC++とVisual C++の検索件数の合計 . 5(. 1) AGK 約. 12,060,000件(約165,640,000件) -92.71%. (*6)AGKとApp Game Kitの検索件数の合計 . 6(. 5) QBASIC. 約 1,010,000件(約 2,030,000件) -50.24% . 7(. 6) SmallBasic. 約 657,000件(約 882,000件) -25.51% . 8(. 7) X-BASIC ..約 431,000件(約 628,000件) -31.36% (*7)XBASICの検索件数(iPad、iPhone向けX68000用BASIC) . 9(10) プチコン. 約 386,500件(約 319,500件) -20.97% (*8)PetitComputerの検索件数含む合計 10(--) DXライブラリ..約 321,000件(.-------------.) ---- [ ※参考 ] (*9)VC++用ゲーム向け補助ライブラリー 11(. 9) DarkBASIC.....約 280,000件(約 398,000件) -29.64% 12(11) BasicStudio....約 267,000件(約 300,000件) -11.00% 13(14) MSX-BASIC..約 176,000件(約. 89,800件) +95.99% 14(16) 99BASIC. 約. 81,700件(約. 51,200件) +59.57% 15(12) N88-BASIC....約. 70,400件(約 125,000件) -43.68% 16(15) BASIC-256. 約. 37,500件(約. 71,100件) -47.25% (*10)BASIC256の検索件数 17(. 8) GLbasic 約. 23,800件(約 586,000件) -95.93% 18(--) DarkGDK ......約. 23,300件(.-------------.) ---- [ ※参考 ] (*11)VC++用ゲーム向け補助ライブラリー 19(13) Hu-BASIC... 約. 13,100件(約. 97,800件) -86.60% (*12)HuBASICの検索件数 20(17) CBM-BASIC 約 2,340件(約. 12,800件) -81.71% (*13)CBMBASICの検索件数
注釈 (*1)(*2)(*4)(*5)(*6)(*8)複数検索合計によるもの (*3)Apple社の基幹開発ツール (*7)(*10)(*12)(*13)無関係な流行が検索に混在しているものは、少ない方を選ぶ (*9)(*11)業務用ミドルウェアツールとは無関係
_ ∧_∧  ̄  ̄ . (´Д`;)←>>427 . ' ヽ / // / // ,-( ヽ i / / メ、ヽ ヽ | / / ヽl | | / / // / ! , /∧_∧// / / ( ゚∀/ / / γ / / θ ヘ | / ) | , / | / ヘ | / i / | | / / , ' _/ |l / / | | し' / / ̄/ / /. / | ( _ / / 〃, ( / / l と と ) て ̄ / し' /__) (_(_,J サブタスク#1: UI言語が正しい場所から取られていない。 XP SP3 (多言語パックインストール済み)からUI言語は、HKCU\Control Panel\Desktop\MultiUILanguageIdから取られるようになっている。 そこにはHKCU\Control Panel\Desktop\MUILanguagePendingもあるが、それはおそらく、UI言語設定が変更されたときに設定され、その後ログインにおいてMultiUILanguageIdに適用される。
サブタスク#6: 変更したロケールオプションたちが、次の再起動の前に正しく再ロード(load)されていない。 intl.cpl: 変更したロケールオプションたちは、次の再起動の前に正しく再ロードされていない。
サブタスク#7: UI言語オプションが欠けている。 intl.cpl: 現在のユーザーのUI言語を変更する「UI言語オプション」は「言語」タブ内で欠けている。 (Windowsでは、多言語パックがインストール済みの場合に限って表示される)
MAME(アーケードゲームエミュレータ)を解析して、3ヶ月程度でギャラクシアン(レトロゲーム)をFPGAに組み込んだことがあるが、 ReactOSは訳が違う。ここ数日調べた感じとして短期間でどうこうなるものでは無く、開発に携わる覚悟・気力が自分には無い。
ReactOSのソースを眺めていると、imm32.specファイルが気になった。 どうやら、dllファイル名.specというネーミング規則らしく、 kernel32.spec shell32.spec wsock32.spec などの見慣れたdllの.specファイルを簡単に見つけることができた。 用途は、アプリケーションから呼べる関数を定義している。 なので、.specファイルを見れば、そのdllのエクスポート関数が一目瞭然。
.specファイル内には、windowsのエクスポート関数を一通り網羅しているようだ。 ただ、関数名は分かっていても、使っているアプリが見当たらないせいが、stubと いう印をつけているエクスポート関数がある。 このstubの意味は、あることは分かっているが、引数や戻り値すら分からず実装のしようがないという意味のようだ。
サブタスク#1補記: 「ユーザーロケール」(「地域のオプション」プロパティシートの「標準と形式」)は、間違って レジストリ「HKLM\SYSTEM\CurrentControlSet\Control\Nls\Language」キーの 「Default」と「InstallLanguage」の値を変更するが、その結果、 再起動後にUI言語を変更した (これは想定外の出来事)。 また、間違ってOEMコードページとANSIコードページも変更する。 「ユーザーロケール」設定は、本当は現在のユーザーロケールのみを変更することを想定している。
【練習問題】 以下のDLLの日本語リソースを作成せよ: crypt32、cryptdlg、cryptui、devmgr、modemui、rasdlg、tapiui。 リソースでは、Jaまたはja-JPで日本語を表す。リソーステキストはUTF-8で保存すること。
コントロールパネルの日本語リソースを作成し、コミットされました。CORE-11882
IME/IMMの情報を集めた共同開発用のWikiが必要ではないかと考えている。 Wikiの制作ができる人はいないだろうか?
さらに日本語リソースを追加しました(CORE-11884)。 PHPでIME/IMMに関する情報サイト作成中です。三日以内で完成予定です。
日本語MSDNに未翻訳のページがあったので、予定を三日延長です。
あと2ヶ月しかない。早くやらないと首が飛ぶ。果たしてできるのか。
キモキモキモキモキモキモキモキモキモキモキモキモキモキモキモキモキモキモ みんなー、世界初!!「体液取引所」ができたお [転載禁止]c2ch.net http://hayabusa3.2ch.net/test/read.cgi/news4viptasu/1430115959/ 1 :片山博文MZ ◆T6xkBnTXz7B0 @転載は禁止:2015/04/27(月) 15:25:59.04 ID:VhXmVBOx0 「体液取引所」 http://katahiromz.esy.es/taieki/ 試してみてね。。。ご感想などよろしく。。。 3 :片山博文MZ ◆T6xkBnTXz7B0 @転載は禁止:2015/04/27(月) 15:28:32.37 ID:VhXmVBOx0 男汁、女汁、唾液、おしっこなどの体液を取引できるサイトが できたんだよーーー。 利用者登録すれば使える。使ってみてね。。。 13 :テューンタン ◆msxA1lIh7Ei2 @転載は禁止:2015/04/27(月) 16:43:12.16 ID:h2ozZyBy0 このスレみて昔あった体液フェチの友人がなんたらってスレ思い出した 20 :片山博文MZ ◆T6xkBnTXz7B0 @転載は禁止:2015/04/28(火) 12:30:57.13 ID:kCLcZkq+O 体液取引所は、非技術的問題で閉鎖しました。大変申し訳ありません。 【社会】キリン、「氷結」発売中止 原料果汁に偽装の可能性 [無断転載禁止]・2ch.net
うーたん @xuph933v 1分 食べすぎ注意! 8/31 3:52 Re RT ☆ 詳細
THE BEATLES LYRICS "Please Mister Postman" Wait, oh yes wait a minute mister postman Wait, wait mister postman Mister postman look and see Is there a letter in your bag for me I been waiting a long long time Since I heard from that girl of mine
┌──────────────────┐ │ │ │ しばらく空腹のまま お待ち下さい。 .... │ │ ノ⌒ヽ │ │ (( ( ○ ), )) │ │ (⌒⌒) ヽ__メ´ │ │ |__| _____ 彡" │ │ (^ω^)ノ━ヽ___ノ'''゙ ッパ.. │ │ ノ/ :/ │ │ ノ ̄ゝ │ │ Now Cooking ... │ └──────────────────┘
疲れたときに休めば過労死しない。 栄養ドリンクで疲れを誤魔化すか。
IMEハッカーズのトップページから全データがダウンロードできます。
何もできなくて申し訳ないけど頼んだぞ がんばってくれ
WineはLinuxなどで動作するWindowsエミュレータである。ReactOSのコードはWineのコードを一部拝借している。 Wine IMMはLinuxなどのOSと統合されている。一方、ReactOS IMMはReactOSと統合されていなければならないが、現状ではWine IMMから借りたコードが大半である。 それでは現状のIMMの解析を行う。RosBEを開き、トップフォルダーで「svn co svn://svn.reactos.org/reactos/trunk」を実行して 最新のコードに更新。reactos/dll/win32/imm32を参照。imm.cというファイルがあるはずだ。
43行目に構造体ImmHklがある。これはIMEとキーボードレイアウトの情報を扱っているようだ。IMEの関数ポインターも多数見られる。 72行目に構造体InputContextDataがある。これは「入力コンテキストのハンドル」、HIMCが指し示す中身と見られる。 225行目。IMMがスレッドごとに管理する情報の取得。238行目。IMMがスレッドごとに管理する情報の解放。いずれもTLS (thread local storage) という機構を使っている。
ImmHkl構造体にstruct list型のメンバーが見られる。<wine/list.h>で線形リストを扱っているようだ。 それはreactos/sdk/include/reactos/wine/list.hにあるので各自確認されたし。 線形リストにしたい構造体にstruct list型のメンバーを追加して、list_で始まるインライン関数でリストを操作する。 LIST_FOR_EACHで始まるマクロも反復のために存在するようだ。
imm.cに戻って284行目。関数IMM_GetImmHklは、HKLからImmHklを取得する。これは多数の関数から参照されており、重要な関数と見られる。 LIST_FOR_EACH_ENTRY(elem,list,type,field)マクロの使用が見られる。それはlist.hの198行目。 仮引数elemは、繰り返しに使うtype*型のループ変数。仮引数listはstruct list*型のリスト実体。仮引数fieldは、線形リストをなす構造体のメンバーの名前で、そのメンバーはstruct list型。 imm.cの96行目にImmHklListというグローバル変数があってこれがImmHklの線形リストを保持する実体。
>>459 途中経過はいらないから完成したら報告してくれな これからもイケてない企業を潰す勢いと反逆精神を持ってガンバりますのでよろしくね、えへ。
IMEはグーグル日本語入力なんかで足りるんじゃと思ったり
ネットに繋がないとってのはねぇ スラングが邪魔なときもあるし
>>469 実際の作業に耐えるちゃんとした使い方するには ネット経由の中途半端なIMEはつらいよ、やっぱり。 カーネルモードのメモリーの扱い方に詳しいヤツいねーか? 早くマニュアル化しないといけないんだ。
なかなか成果の出ない苦しい時期だ。日経BPのAPI徹底理解を読んで基本に戻ろう。
なんだこのスレ片山博文の一人天下になりそうだな だと思ったらそうなってた
最新のtrunk、エンバグしていて日本語や中国語では起動すらしない。
ReactOS ATLのCSimpleArrayとCSimpleMapの実装に貢献しました。CORE-11946
やるべきことをやる! IMEハッカーズ☆、内容拡充中
読んで勉強してね。 日本語訳の間違いを発見したら、WebMoneyもらえるかも。
appbarごときは、このハッカー様が四日間で解析してやるぜ。
appbarについてまとめる。 アプリ側がappbarを操作する関数はshell32のSHAppBarMessageだ。appbarの一部は、デスクトップ画面を管理するexplorer側で実装されている。 ここでappbarのshell32とexplorerが互いに通信する必要がある。この通信に関してはどうやらShell_TrayWndウィンドウにWM_COPYDATAメッセージを送信しているようだ。
appbarはデスクトップの端に取り付ける形で、主にウィンドウの位置とサイズの補正、登録と登録解除、イベントの通知を行っている。 デスクトップの端にappbarを取り付けると、現在のモニターにおいてデスクトップアイコンの置けるワークエリアが小さくなる。 appbarは将来的にマルチモニターをサポートすべきだが、今回は簡単のため、単一モニター環境を仮定する。
明日は優雅にexplorerのデスクトップの仕組みとイベント通知のタイミングを解析する。 今日はお休みだ。寝る。
ReactOSについては現在、東アジア言語でインストールができない、セットアップに失敗する現象が起きている。 そこで、東アジア言語でセットアップに成功するもっとも最近のリビジョン番号を調べないといけない。 皆さん、これからそれを調べる掃討作戦「化け狸」を開始するので、参加されたし。第一発見者には粗品を提供する。
目的を果たしたため、掃討作戦「化け狸」は完了した。 正解のリビジョンは、r72475であった。
ReactOSのバグCORE-12027の解決に貢献しました。
ReactOSでビルドしたファイルがたまにウイルス判定されることがあるから、 trunkはウイルス対策から除外するように設定しないといけない。
あと1ヶ月でIMMができるのか、オレ。 カーネルの勉強も少しずつやってるが。。。
プーチン様が見ている。惨めな結果を見せる訳には行かない。計画する。分析する。コードを打ち込む。テストする。実証する。やるべきことをやる。
…と思ったが、ちょっと今からVeySicKの改良をしないといけない。300ユーザーが待っている。 わりと反響が大きいからまだVeySicKのサポートを切れない。
バグCORE-12027のせいで日本語ReactOSのフォント表示がおかしくなっている。修正待ち。
task switcherとmodernスタートメニューに取り組んでいる。IMMは絶望的進捗也。
早く完成度を高めないとWin10による妨害行為が増えるみたいだし、 オレみたいなそれなりに出来るヤツがやるしかないよな。
MZさんには出来損ないのwinモドキなんかに手を出さないでほしい
>>497 ReactOSはビル・ゲイツの開発したOSを合法的に引きずり下ろす唯一の手段だ。止めないよ。 >>498 プログラマーの都合よりもユーザーの要求を優先しなければならない。 まだ32ビットのユーザーを切り捨てるときではない。 ---_---_--_-___-__--_____-____---_----___---__-_-__---___-----______-__--_-- ---_____---_-____-__--_-_-__-_-__---_--_----__-__-_-____--_-_----____----_-_ _-_-_--__--__-_--_---_-_______-----_--_____--__--_--_-___-_-__-__-__----_--- -__--_______-_-___--_-__---_--__-_-__--_--__--_-_----__--__-_-__-__--_---_-- --__---_---_--_-_-___-__--____--_-_-_--_-__-_-_--____-_--_-_--_---_-__-__-__ _-______---_-_----_-_-----__-__-_-_----_-__--_-_____-____-_------____-_---__ -_________---__-__--_-----_-_-__-____--__--_-___--_---___--_--_---__--__---- __---__--------____-__-__-__-_---_--__---__--_-_--_-____-____---___--_-___-- -_-----__---_--_-_---_---_-_---_--__-____-----___-____--___-_______-_--__-__ --__----__-_---_-____---__--__---_-----_--___--_____-____-_---_-___--_-____- ___-_-_--_----__-_--_-_----_--__---_--_-__-___-____-___--_-_---__---____-__- _--_-_--__------_-_-___---___-_-_-_---_-__---___---________-_--___--__---_-_ _-----___-_______-___-__-____--_------_-_____--__---_____--_---__--_-------- ---__------_--_-_--__---_____--___-_-_-_-__-____------_-____-__---__-_-___-_ _--_--___---_-_-_-____--_---__----_--_--_-_-___---___-____-_--_--_____----__
今日はAK氏にtestmanの使い方を教えてもらった。 テストはかなりの部分が自動化・統合されてるんだな。テスターという進路もある。
信じがたいが、ベクターでのVeySicKのダウンロード数が1ヶ月で400回以上ある。 古いシステムもまだ需要があるってことかも知れない。
N88-BASIC V3の情報が少なくて困っております。書籍などございませんか?
【VeySicK Proのやることリスト】 ☆ TALKコマンド。 ☆ SCREEN WIDTHコマンド。 ☆ RS-232Cサポート ☆ スプライト ☆ Win95サポート ☆ 音楽再生の不具合解消 ☆ 98モードの起動音(ピコ) ☆ GO SUBの修正 ☆ WAV/mp3再生 ☆ 画像ファイルの読み込みと保存
☆ アプリの互換性改善 ☆ アプリのデータ埋め込み ☆ 外部プログラムエディターの追加とEDITコマンドの拡張 ☆ メモリーモデルとI/Oポートの互換性向上 ☆ LIST/CIRCLEなどでのビット演算
☆ PUT KANJIでの文字列指定を可能に 昔のBASICはOSだった。OSを作るような気持ちで取り組むぞ!
99BASICに追い付くまであと10年かかりそうだなw 素直にDarkGDKやっとけw
C++03でperfect forwardingを実現するのは不可能っぽい。シンプルに実現しようとすると、値渡しになってしまう。
timed_mutex撃破!!! recursive_mutexの実装にかかれ!
Borland 5.5.1でも、chrono, thread, unordered_set, unordered_mapが動作するよ!!! サンプル試してみてね!!!
thread撃破!!! call_once, once_flag, recursive_mutex, recursive_timed_mutex が使えるようになった。
future, promise, async辺りも実装しないといけないか。
<system_error>とfilesystemと戦闘中。。。
強い暗号方式を作るためには、整数論や情報科学を研究しないといけないらしいよ。
ReactOS 0.4.3が出たよ。俺も少なからずReactOSの改良に貢献したぞよ。 日本語入力の実装については、今回は俺の負けだ。次はテスト駆動開発という新しい戦略で 再挑戦するから、また期待してね。
ワイド文字列とUTF-8の変換、どうしようかな。 ロケールを使った標準の方法はひどく遅いらしいから、非標準じゃないといけないだろうな。 Win32とiconv使ってチャチャと書こうか。
Unboostにtext2textというモジュールとサンプルを追加した。 text2textはWin32とPOSIXで利用可能だ。 これでたいていのテキストエンコーディング変換ができる。
ReactOSで*.ttcフォントファイルを読み込めるようにするためには、 freetypeを改造しないといけないことがわかった。
例のテスト用の2k3をVBOXにインスコした。 システムの時刻設定、大文字小文字の違い、Ctrl+Shift+Delの入力方法と英語さえ 分かれば、君もインスコできるだろう。パソコンの中ではだれでもタイムマシンが使えるのだ。
>>533 試しにベクターに投稿してみなよ。毎月のダウンロード回数がわかるよ。 >>534 返信ありがとうございます ベクターに自分が投稿するという発想がなかったのでちょっと調べてみます フォントシステムの実装終わり。レビュー待ち。来年はもっと素晴らしいことをやるぞ。
>>538 期待しています。 私もなにか身近でお題を探そうと思っています。 空いた時間で音声認識に挑戦したいなあ。 まだフーリエ変換もやったことないけど。
新しいスローガンは 「ことばのすべてをコンピュータへ。 数学の全てをコンピュータへ。」に 決まりました。
テスト、テスト、レビュー、テスト、テスト、レビュー。っと
ReactOS 0.4.4が出たよ! 日本語化などで少しは貢献できたかな?
みんな集まったな。点呼をとる。片山「はい」一名確認。よろしい、それではこれからCORE-6621のパッチremainder x5のバグ掃討作戦を開始する。 https://jira.reactos.org/browse/CORE-6621 クライアントはパッチを当てるとgdi32_winetest fontで200件以上の失敗が増えるので困っている。 作戦名は「すじゃくのくちばし」だ。制限時間は一日間だ。一日間以内になるべく失敗を消せ。「すじゃくのくちばし」開始! 皆のもの、取りかかれ! このHTML5 Canvasという機能で何か面白いことができないか考えてみる。
>>555 visual studioですか? android studioですか? bcc55でautoとrange-based forを実現したいけど不可能なのかな? 難しい。
ATL使えばシェル拡張を楽に書けるらしい。ATLはVS2015に付いていたな。
ダイアログテンプレートを読み書きするクラス作るどー!!!
>>561 勉強のためでもあるが、ReactOSでリソースエディタを欲しい人が 居たので開発することにした。 >>567 Visual Studioで開きたいのですが、プロジェクトファイルは無いのでしょうか? >>569 CMakeを使ってプロジェクトファイルを生成すればいい。 アイコンやビットマップの抽出や表示ってどうやってやるんだろう? カーソルがよくわからない。
packed DIBの扱いを決めねばなるまい。ショートカットを開けるようにしないと。
プレミア見れない ブンデス見れない CLEL見れない 代表も見れねえちきしょう 結果知らされて見れねえちきしょうクソったれ同和のクソ野郎地獄へ落ちろ 音楽聞けねえちきしょう テレビ見れねえちきしょう 同和のクズ共死ねクソ共がざまあみろ気違い共 ほれ気違い共もっともっとドア閉めろ通れ それしか能のない能無し共がざまあみろ地獄に落ちろ 悔しいか、ざまあみろくたばれクソ同和 お前らの恐ろしさをもっと見せてみろ。そんなんじゃなんともねえぞ 袋とじ見たぞ 悔しいか、ざまあみろくたばれクソ同和 生きる権利もねえクズ共が藁地獄へ落ちろ 嫌がらせがエスカレートするのが楽しみでしょうがない 今それだけが楽しみだ 俺の生き甲斐藁 それだけ怒ってるってことだもんな藁 分かったか?お前らは生きる権利すらねえクソ野郎共だ ラブホ行ったのがそんなに悔しいかざまあみろチンカス共が藁 思う存分楽しんでくるぞあばよ 椎名茉莉、知っちゃったよ。ラブホに来なければ知らなかったはずだけどな。サンキューお前ら藁 超美形。嬉しくてたまらん。お前らどうしてくれる?藁ほれ赤字分を取り返すために必死になれ ピザ食ったぞ。羨ましいだろう?藁ざまあみろ 音楽聞いたぞざまあみろ 非人が美人
アイコン・カーソル・ビットマップの表示・追加・抽出・置き換えができるようになったぞ!!! 次は、メニューだ。
_ ∧_∧  ̄  ̄ . (´Д`;)←>>586 . ' ヽ / // / // ,-( ヽ i / / メ、ヽ ヽ | / / ヽl | | / / // / ! , /∧_∧// / / ( ゚∀/ / / γ / / θ ヘ | / ) | , / | / ヘ | / i / | | / / , ' _/ |l / / | | し' / / ̄/ / /. / | ( _ / / 〃, ( / / l と と ) て ̄ / し' /__) (_(_,J void MainWnd_PreviewAccel(HWND hwnd, const ResEntry& Entry) { MainWnd_PreviewAccel(hwnd, Entry); // ←←(・∀・) ByteStream stream(Entry.data); …
resファイルってどうやって読み込んだら良いんだろう。
パーサー作るの面倒だから、windresを使っちゃおうか?
プログラムの不具合は全員虐殺する。絶対に許さない。
この電撃的な作戦が成功裏に進行するための策略に気を巡らすとき、これまでの研究で獲得した理知が課題を解決するカギを見付けるのに役立つのだ。
片山さん気分転換にカンボジアの女の子どぞー VIDEO ;t=10s EditResって名前が良くなかったか。別の名前考えないと。
新しい名前はRisoh Editorに決まりました!
ダイアログの描画には、PrintWindowとWM_PRINTを使うのかな?
EnumChildWindowsとGetWindowRectとMapDialogPointsで子ウィンドウの位置情報を取得できるはずだ。
次は、MENU, DIALOGEX, VERSIONの読み込みだ。
MENUはケアレスミスだった。DIALOGEXやろう。
バージョン情報はツリー構造か。ならば、再帰と自己参照構造体で、っと。
ある程度できたら、WTLで作り直そうと考えている。
>>621 スキャンしたけど、ウィルスは見付からなかったよ。 >>624 プリプロセッサmcppの改造しようと思う。 ひ・み・つ。 歯間ブラシとフロスと歯磨きしてお休み。
一時ファイルを作成して、コマンドラインを構築し、MProcessMakerで子プロセスを作成する。 その後、成功したか確認し、できた.resファイルを輸入する。いい調子だ。
windresとcppの依存性はどうなってるんだ? cc1が正しいパスにないと動かないみたいだが。
リソースを新規作成したときに、データが空っぽよりもサンプルの項目があった方が分かりやすく親切だ。 メニューやダイアログや文字列テーブルなどは、GUI編集を可能にしないといけない。
あちょー、あちゃちゃちゃちゃー、 あちゃー、おちゃー、げんまいちゃー
リソースを新規作成するためにサンプルデータを用意する。
この調子でどんどんGUI編集をサポートしていけば次のステージへ行ける。
次は、いよいよダイアログリソースの編集だ!!! やるぞよ!!!
編集するダイアログは、あるウィンドウのモードレスな子ダイアログにする。 すべてのダイアログ項目をサブクラス化して、マウス入力とキーボード入力をキャッチする。 特殊なDCを使って、ダイアログの上を上書きして、ラバーバンドを描画する。
インテルのメモリーが、スゴいことになってるぞ。これは革命だ。
これ、もしかしてRAD開発もどきを作ることになるんじゃね?
正しく美しく実り多い理想を実現するためにできることをやりつくす。
理想エディターの開発に当たっては、フレームワークも自前で用意するつもりだ。エンジョイプログラミング。
既存のフレームワークを使えば確かに楽だが、それではWin32を真に極めたとは言えない。 自分で優れたフレームワークを作ってこそ、真のマになれる。
果たして明日、RADのモックアップが完成するのか? オッズは三倍。
創価の人間は、「勝った 勝った」って演説で連呼するとネット上に風に書いてあるけど、 一体誰に?、何に?勝ったの? 片山は一体何に勝ったの?
払戻金は三倍。俺に賭けたやつ、ものすごくついてるぞ。次のダービーを期待してくれ。
賭け事にもソフトウェア開発にも興味がなければ出ていってくれ。
モックアップを理想エディターに組み込む。OLE DnDの研究が必要だ。1週間くらい。
自作フレームワークに合わせて理想エディターのスタイルをC++に変更中。。。
結構たのしみにしてるよ>片山 差し入れ 変えられるところは、自作のWindowBaseフレームワークを使ってC++スタイルにしたよ。
グローバル変数をゼロにしろって言われてるんだけど、ダイアログのメソッドからg_Entriesが参照されているんだよな。
オブジェクト指向を徹底したら、ファイルが増えちゃうよ。いいのかな。
結合度と依存性によって、いくつかのクラスヘッダーは統合してもいいらしい。結合度って何や?
【東京】帽子をかぶった全裸マン 江東区辰巳の公園に出没 無言で佇む30代 (______________ J そ 君 (__ ┌―‐―┐ ) き ん ! (_ |`l TT了| } ゃ な (_ j .| .|:| .l | / あ か 待 (_ | | .|j .j | イ | . っ ち (,_ |.| .|l .|:| ,. -‐ /_. っ こ た ( |.|. |! |/ / ! う ま (` `ー /..:::::\≧,,,、:::7___ で え (―――――――――(:::::::>'´ == \::⌒l^⌒ _ (⌒ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ノ く彡/// ∪,ノ ;| .レ⌒Y^'⌒`\________ く:::::∧ '_,. -、 く/::::::::/ |:::| \xく _,,,...,_ \:::::l、ヽ ,ノ \,,∠,,__ \|:::| _,....!,,_ \ iれ__,.、ヽ lF〒`ヾ.\,,..イ |::::::::, `7´ _,,.ィ ヽ{|iュ ェッリ | || _,..-/7゙h _|::::::// \.{n|.ィァ it} ', _'_ j) r'"三¨7´\| |´.|::::// |:::トl、 rュj . ト ニ イl、 / ゚`.|n./ .イl ,∧ |::// |::,| 'ーケトr'TTlイ /_`ヾtっ r'l゙ /⌒`lくミV / ,r1´|`'六´ //` ̄´ `Y´ |└┬シj ./ 7ヽ〈 /ヾ)< ./ | ∨|::|∨ ! { r ,、 _,シ /゙丁〈 / } { { \ | ',|::|/ ! ,ゝ-< ( / .| |/ ∧ \| l .Y。 .| |` 〃 ̄ ̄⌒ / 〈 /! ', __,,....::-‐ .∧. |。 { ゙爪` ' ‐- 、..,,,...イ '、 / .| `|:::::::::::::::: \/ l |。./ ,l | l, .| . || `'ー' i | j::::::::::::::::: ヽ、`'::、L.∧/ / |.{ u 〈.| イ 〈 /::::/::::::::::: ::::::::`ヽ、 ∨ / ̄| | 、 / l:l. | j /::::/::::::::::::: :::::\::::.....  ̄`| l | 鬱鬱 .l:l// l| ∨:::/::::::::::::::: >>1 複数選択をサポートしろってボスから言われた。こちらの科学力で実現できるだろうか。。。
インターフェース書きたくないよ! 多重継承いやだよ! 動的確保いやだよ!
選択できる個数に限界があってはいけないから、動的確保になる。 複数選択状態を管理する中央集権的なマネジャーが必要になる。 そのマネジャーとラバーバンドの対話をスマートに書くなら、インターフェースが必要になる。
class MRubberBandBase; class MRubberBandManagerBase; class MRadRubberBand; class MRadRubberBandManager; ターゲットとは、ラバーバンドが編集できる対象のウィンドウである。マネジャーは、ラバーバンドを管理する。 ウィンドウがターゲットとして選択されたら、マネジャーはラバーバンドの生成と登録が要求される。 マネジャーは要求に答えて、ラバーバンドはターゲットと関連付けられる。
選択が解除されたら、マネジャーはラバーバンドの登録抹消を要求される。要求に答えてラバーバンドは登録が解除され、削除される。 ラバーバンドの移動とサイズ変更があったら、マネジャーにユニフォームを要求する。ユニフォーム要求に対してマネジャーはすべてのラバーバンドの相対移動またはサイズ変更を行う。
ラバーバンドの移動またはサイズ変更があったら、そのターゲットに対する移動またはサイズ変更をマネジャーに要求する 。 ターゲットが自発的に移動またはサイズ変更したら、それに対するラバーバンドをそれに合わせてフィットできるような要求を可能にしないといけない。
こんなんでました。 RequestTargetMoveSize(target, hittest, deltapos, size) RequestBandMoveSize(band, hittest, deltapos, size) TargetFromBand(band) BandFromTarget(target) GetBandCount() BandFromIndex(index) CreateBandForTarget(target) KillBand(band) KillTarget(target) KillAllTargets()
今月中はReactOSに集中して取り組むことになった。理想エディターは少しお預けだ。
おつおつ 別に誰に強制されてるわけでもないんだからやめていいんだよ
MZC公開を要望するメールが来た。いつもながら脱線している。
現在、クラスライブラリーのMZC4を開発中だ。人間工学を念頭に置いて、使いやすさ、覚えやすさを最大限に考慮した設計になる予定だ。
MZC4のリリースに向けた作業に向かってる。今度は単体テストもちゃんと書くつもりだ。
MRegKeyとMMenuは参照カウントで管理した方がよさそうだ。
C++上のテストは遅いんだよね。plain Cで書いた方が早い。実行速度よりも開発速度を優先するなら、C++もありかな。
バッファを回転させるという考えはなかった。新しい発見。
やるしかない。やるんだ。 Evaluation: Lowest. Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
作れと言われたから作った。後は野となれ山となれ。 Evaluation: Lowest. Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f) 【運営より荒らし警告#DQN4649】
ReactOS開発の待ち時間で色々作っちゃうぜ。理想エディタの開発再開。 Evaluation: Lowest. Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f) 【運営より荒らし警告Lv2#DQN4649】
MZC4の開発を進めている。MZC4が完成したら、理想エディタをやる。 Evaluation: Lowest. Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f) 【運営より荒らし警告#DQN4649】
https://github.com/katahiromz/MZC4 MFileAPI.hを追加。MFileAPIは、C言語やLinuxからでも使えるようにした。多数の改良。 Evaluation: Average. Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f) 【運営より荒らし警告#DQN4649】 MFileMappingクラスも追加した。ビューは参照カウントで管理した。 https://github.com/katahiromz/MZC4 Evaluation: Average. Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f) 【運営より荒らし警告#DQN4649】 MFileMappingを改良した。granularityに合わせないとマッピングできないのを回避。
今週中にfreetypeの文字回転とexeのタイムスタンプをやらないと。時間ないな。
お次は、freetype。そこらに転がってるサンプルソースから始めるよ。
理想エディタを新しいMZC4に順応させた。これからダイアログエディタを作るぞ。
なるほど、ラバーバンドにはWS_EX_TRANSPARENTを使えばいいんだ。。。
ラバーバンド作り直し。WM_NCDESTROYに対するdelete thisにより、複数生成に対応。 リファクリング。
ラバーバンド複数選択、実現のめどが立った。フックは不要だった。
種明かしをすると、ラベル(STATICコントロール)は、WM_NCLBUTTONDOWNメッセージを食べちゃうから、 ドラッグ可能にするには、SendMessageではなくて、DefWindowProcを呼ばないといけないということだった。
外部ファイルで全部定義した方が拡張性と柔軟性が高くなるし、その方がカッコいい。 コントロールクラス名、ウィンドウクラス名、デフォルトのスタイル値、デフォルトのサイズ、デフォルトのテキスト、 スタイルフラグ群 などを定義しないといけない。
コンボボックスを初期化して、 クラスが選択されたら、スタイルリストボックスを初期化して、 OKが押されたら、入力内容を元にリソースにコントロールを追加して、ダイアログを更新。
クラス名コンボボックス初期化完了。 次は、スタイルリストボックス初期化。
スタイルがややこしい。マスクも考慮しないといけない。リストボックスとテキストボックスから編集可能じゃないといけない。 最初にスタイルの既定値をセットする必要がある。
LBN_SELCHANGEじゃ、どこクリックしたかわからないから、選択項目を記録しておく必要がある。
ゲーツの出したパズルを解かないとリアル脱出できない。。。
早く片付けないと、炭鉱送りにされて給料安いままだ。。。炭鉱行きの人々を助けないと
片山さんていろいろ開発してるけど 趣味でやってんの? 本業はなに?
>>748 趣味だけど、人生賭けてる感じ。本業は秘密。 一応、コントロールのプロパティを編集できるようにしたが、コントロールのインデックスが滅茶苦茶になる問題が残っている。
インデックスのバグ修正。やったぜ。 次は、インデックス一覧だ。
だれでも使えるように、UIを改良しないといけない。操作は基本的にモードレスにした方がいい。
インデックス表示はおそらくSetWindowRgnで領域指定の無効なポップアップウィンドウでいいだろう。 メニューかショートカットキーで切り替えできることが望ましい。
仕事だろうと趣味だろうと熱意がすごいよね。 俺も仕事でも趣味でもプログラム作ってるけど、ああはできない。 因みに年はだいたいいくつぐらいなの?
一つの会社に勤め上げないと、出世出来ない。たとえ炭鉱の仕事でも。頑張らないと陸蒸気に負けてしまう。
インデックスの表示できた。これでリソースエディタとしての基本機能はほとんど出来た。 次は、UIの改善とバグ探し。
ウィンドウで描画を重ねたいときに、WS_EX_TRANSPARENTって便利だな。
VS2008のリソースコンパイラーの不具合を発見してしまった。文字列の埋め込みにバグがある。
スプリッター(区分線)を実装する必要があるな。UI/UXのシナリオも考えないといけない。
さあ、スプリッターを狩に出掛けるよ。ハンティングシーズンだ。
スプリッターに関する1MBくらいのデータを入手したぞ。 わーいわーい。 HTMLのTABLEタグのでcolspan/rowspanみたいな使い勝手にしちゃうぞ。えっへん。
レイアウトのために余計なウィンドウ、作りたくないんだよね。サイズ変更のインターフェースを公開しちゃう? HTMLのTABLEってどうやってサイズ決めてるんだろ?
JavaのTableLayoutが使えそうだが、境界線の幅を考慮されてない。自分で考えるしかないか。
チーフに相談したら、基本的にTableLayoutで行け。セルのサイズや隣り合う境界線の位置を制限すればいい。とのこと。
よこよこ塗ったら筋肉痛がなくなった。コーディングを続ける。
コントロールの位置そろえを実装。 作戦を練り直し。
バケーション終わり。仕事を再開しよう。当面の目標はスプリッター。いかなる課題もエレガントに解決する。
__ / /⌒ ヽ / / ( )'゙ヽ. _/ . /iー-‐'"i ,; / i ! ( ヽ. ) ノ/ .:/ (\.゙ヽ_(_/,イ/ i ! (\\_,_)' ノ >>776 (\\_,_,)' i ! l ,i\ ヽ、 ! あ”っー あ”っー あ”っー あ”っー あ”っー し' OK、スプリッターを理想エディタに取り込むぞ。そしてUIの改善だ。 アイコンつきメニューと、メニューアイコン、ツールバーアイコン及びコマンドIDを統合したリッチな コマンドUIクラスを作ってほしい、と頼まれた。イメージリストを使えば楽勝だろう。やるぞ。
,r=''""゙゙゙li, _,、r=====、、,,_ ,r!' ...::;il! ,r!'゙゙´ `'ヾ;、, ..::::;r!'゙ ,i{゙‐'_,,_ :l}..::;r!゙ . ,r!'゙´ ´-ー‐‐==、;;;:.... :;l!:;r゙ ,rジ ∩_∩ `~''=;;:;il!::'li ∩__∩ . ill゙ (;>”<).... .:;ll:::: ゙li / \ / ヽ ..il' ⊂ つ'、;;;;;;;:.... .;;il!:: ,il!ヽ (≦゚≧:≦゚≧ ) ..ll し-J `"゙''l{:: ,,;r'゙ ヽ ( ▽ ノ グッ ! ..'l! . . . . ... ::l}::;rll,____ ヽ | 'i, ' ' -=====‐ー《:::il:: 7 | ゙i、 ::li:il ゙li、 ..........,,ノ;i `'=、:::::;;、:、===''ジ゙' `~''''===''"゙´
理想エディタでは、グーグルに掛からないことが分かった。名前を変えないといけないな。
>>786 ケアレスだった。他にも間違いがないか探してみよう。 邪魔者のグローバル変数には消えてもらった。さようなら。
今日はこの辺で勘弁してやる。ひとときの休憩。お休み。
0.5にバージョンアップ。様々なバグを潰した。RLE圧縮のビットマップを読み込めない不具合があるようだ。
名前は、リソーエディタで決まり。●コーじゃないよ。
ステータスバーで「準備完了」とか「コマンド実行中...」とか「GUI編集中...」とか 座標とかを表示するとかすれば、親切なんじゃないか?
ダイアログ編集の際にステータスバーに座標を表示するようにした。 次は、resource.hの読み込みだ。マクロの定義を取得するためにプリプロセッサによる処理が必要になる。
なかなかカッコよくなってきたのではないだろうか。果たしては今月中に完成させる事、成し遂げるやも知れぬ。
リソースIDをどう扱うか。。。リソースの種類ごとにリソースIDのプレフィックスを決めて、 リソースダンプ時にリソースIDの文字列を出力できるようにする。当然、多くのダイアログをリソースIDが読み込めるよう修正する必要がある。 勝手にresource.hを変更するのはまずいかも知れない。resource.hの変更方法を提案する控え目なやり方を採用しようと考えている。
プレフィックスや表示設定を保存するには、当然レジストリを使うのがスマートだ。MRegKeyクラスを使うことになるだろう。 ウィンドウの位置やサイズ、最大化なども保存できるようにしたい。設定ダイアログも用意しないといけない。
明日、cppでマグロ定義をどうやって吐き出すかを考えよう。
「設定」 「ダブルクリックでGUI編集を開く」 「ウィンドウ位置とサイズを記憶する」 「リソースIDの一覧」 「リソースの種類の関連付け」 「resource.hを読み込む」 「resource.hの変更の助言」 これでいいのだ。
またパーサーかよ。構文解析は重要な技術なんだな。今回はcaperを使わず、手書きでパーサーを作るぞ。
今月中に完成させないと俺に対する上司の愚痴がひどくなるぞ。やっつけ仕事だ。
他に良いプリプロセッサがないのかな。。。GPL汚染から逃れたい。。。
cppとwindresプログラムの代わりが見つからない。LLVMでプリプロセッサ作れるかな? windresの代わりは?
明日、マクロパーサー作るぞ。明日、WAVE音声をサポートするぜ。
EBNFに変換して左再帰の問題を回避したぞ。 マクロを展開するためには、トークンに細工をする必要があるな。
生ポインターを直接扱っているため、コピーすると壊れる。コピーを禁止しないといけない。
1.吐き出された全てのマクロ定義の字句解析を行い、トークン列を得る。 2.各マクロ定義のトークン列を展開する。 3.トークン列をパースし、整数として評価する。
マクロが関数形の場合: マクロの記述を、マクロ定義に表れる仮引数トークンを実引数トークン列に置き換えたトークン列で置き換える。 マクロが関数形でない場合: マクロの記述をマクロ定義のトークン列に置き換える。
__ / /⌒ ヽ / / ( )'゙ヽ. _/ . /iー-‐'"i ,; / i ! ( ヽ. ) ノ/ .:/ (\.゙ヽ_(_/,イ/ i ! (\\_,_)' ノ >>826 (\\_,_,)' i ! l ,i\ ヽ、 ! あ”っー あ”っー あ”っー あ”っー あ”っー し' 展開はプリプロセッサに任せた方がいい。 #include "...\resource.h" #pragma RisohEditor MACRO1 MACRO2 ... をプリプロセスするやり方にしようかな。「#pragma RisohEditor」は目印。
__ / /⌒ ヽ / / ( )'゙ヽ. _/ . /iー-‐'"i ,; / i ! ( ヽ. ) ノ/ .:/ (\.゙ヽ_(_/,イ/ i ! (\\_,_)' ノ >>828 (\\_,_,)' i ! l ,i\ ヽ、 ! あ”っー あ”っー あ”っー あ”っー あ”っー し' WAVE音声をDnD・再生できるようになった。 次は、「IDの関連付け」ダイアログ、 「関連付けの変更」ダイアログ、 「リソースIDの一覧」ウィンドウ、 「resource.hの読み込み」コマンド、 「設定」ダイアログ、 「リソースIDマクロを使う」コマンド を実装する!!! 今度こそ勝つぞ。
「IDの関連付け」ダイアログ、「関連付けの変更」ダイアログを実装したぜ。 次は、「リソースIDの一覧」ウィンドウと、「resource.hの読み込み」コマンドを実装するぜ。
「アプリ起動時に自動的にIDの一覧を表示する」 「自動的に近くのresource.hファイルを読み込む」
「コンボボックスの高さを次の値にする」 「次回起動時に境界線の位置をリセットする」 「前回のウィンドウ位置を復元する」
RADウィンドウがアクティブになった時、コンパイルが必要かユーザーに問い合わせ、 必要ならばコンパイルした結果を使う。不必要ならテキストの変更を破棄する。
MProcessMakerに致命的なバグがあったので修正したら、resource.hの読み込みができるようになった。
380 名無しサンプリング@48kHz 2017/08/30 06:02:24 つかかいいい378 名無しサンプリング@48kHz 2017/08/30 02:11:41 >>379 >>379>>379 >>379>>379 はい発狂連投 ざっこめめいささ &#62482;&#62601;&#62987; __ / /⌒ ヽ / / ( )'゙ヽ. _/ . /iー-‐'"i ,; / i ! ( ヽ. ) ノ/ .:/ (\.゙ヽ_(_/,イ/ i ! (\\_,_)' ノ >>843 (\\_,_,)' i ! l ,i\ ヽ、 ! あ”っー あ”っー あ”っー あ”っー あ”っー し' resource.h自動読み込みとリソースIDの参照が出来た。 次は、設定ダイアログだ。
EnterキーでGUI編集できるようにしないといけない。
__ / /⌒ ヽ / / ( )'゙ヽ. _/ . /iー-‐'"i ,; / i ! ( ヽ. ) ノ/ .:/ (\.゙ヽ_(_/,イ/ i ! (\\_,_)' ノ >>849 (\\_,_,)' i ! l ,i\ ヽ、 ! あ”っー あ”っー あ”っー あ”っー あ”っー し' 設定ダイアログ出来た。次は、コンボボックスの高さだ。
リソースID追加が可能になった。次は、resource.hの変更点の助言だ。
,, -''"´ ̄ ̄ ̄ ̄ ̄`ヽ、 ./ ,,-''"´ ̄ ̄ ̄`"''-、 | ,' / \| |. | )ヽ '、 | | _ノ ヽ,_.'、 .,⊥、.| . - - ', |⌒.ヽ| ノニ・ゝ 、〈.ノニ・ヽ.| | ヽ< . ̄ '、 ̄ .| .\_. ,.- |/7! |. '、 \ _,. '-‐''"´y' // |. '、 , '´ __,,,/ / / | `/ '"´ , '´ / _,,-〈.\ / /
変更点の助言ができるようになった。次は、4つのバグの修正だ。
最初のバグは、文字列テーブルの不具合。やっつけてやる。
出来た。次は、リッチエディットが作成できないバグだ。
出来た。残るは、RADウィンドウのバグだ。もうすぐ完成。
リソーエディタを作るのに88個のクラス、14個の構造体、実質23546行のコードを書きました。
今年の5月から作り始めて4ヶ月かかったわけか。これでクラスライブラリMZC4が整備されて、経験値が増えたかな。
ク ク || プ // ス ク ス | | │ // / ス | | ッ // ク ク ||. プ // / // ス ク ス _ | | │ // / ̄ ̄\ / ス ─ | | ッ // / _ノ .\ / // | ( >)(<) ___ . | ⌒(__人__) ./ ⌒ ⌒\ | ` Y⌒l / (>) (<)\ . | . 人__ ヽ / ::::::⌒(__人__)⌒ \ ヽ }| | | ` Y⌒ l__ | ヽ ノ、| | \ 人_ ヽ / . /^l / / ,─l ヽ \
次の目標は、ReactOSで文字列の回転の実現だ。
>>869 スゲー!! スクリプト言語と侮っていたが、アプリケーション用言語として頂点に立つ気がしてきた。 リソーエディタの要望があるようだから、しばらくサポートをする。
厳しい闘いを強いられているが、できる限りの事はやるつもりだ。
>これでクラスライブラリ MZC4 が整備されて 自前のライブラリで実アプリ作ってみると足りないところとかわかるよね。 お疲れ様でした。
__ / /⌒ ヽ / / ( )'゙ヽ. _/ . /iー-‐'"i ,; / i ! ( ヽ. ) ノ/ .:/ (\.゙ヽ_(_/,イ/ i ! (\\_,_)' ノ >>874 (\\_,_,)' i ! l ,i\ ヽ、 ! あ”っー あ”っー あ”っー あ”っー あ”っー し' オフィスマはお呼びでない。 デジタル技術を使ったセクハラやめようね。
ニンニクましまし担々麺と栄養ドリンク、いただきまーす。
今日の仕事はリソーエディタで検索・置き換え機能を実現することだ。FindText、ReplaceText APIを利用する。
>>888 おまえいったい何作ってんだよw ゴミを何度作ってもゴミなんだよw さっさとDirectX覚えろ!w >>889 うるせえ、俺はゲーム開発じゃねー。システム開発者だ。 OS開発ではカーネルモードで動作する低レベルのコードが必要なんだよ。 発狂BASICに懲りずに今度は何をやらかすかwwwww”
システム開発者に要求されるスキル ・コンピューターの動作原理 ← MZうyちゃーーーん♪は未熟 ・OS、コンパイラの設計能力 ← MZうyちゃーーーん♪は未熟 ・ユーザーとのコミュニケーション ← MZうyちゃーーーん♪には無理♪(アハ♪” アプリケーション開発者に要求されるスキル ・豊富な業務経験 ← MZうyちゃーーーん♪は無職なので無理w ・多彩な能力 ← MZうyちゃーーーん♪は未熟 ・芸術方面に長けている ← MZうyちゃーーーん♪は未熟 ・ライブラリーの活用スキル ← MZうyちゃーーーん♪は未熟
ゲーム開発者に要求されるスキル ・DarkGDKを使いこなせる ・企画、デザイン、サウンド、プログラムが1人でこなせること 意外と簡単♪(アハ♪”
__ / /⌒ ヽ / / ( )'゙ヽ. _/ . /iー-‐'"i ,; / i ! ( ヽ. ) ノ/ .:/ (\.゙ヽ_(_/,イ/ i ! (\\_,_)' ノ >>896 (\\_,_,)' i ! l ,i\ ヽ、 ! あ”っー あ”っー あ”っー あ”っー あ”っー し' >>869 が紹介している ・3D Three.js ・2D Pixi.js でもよさそうに思えるのだが、ダメなのかい 898 デフォルトの名無しさん 2017/09/03 23:41:13 >>869 が紹介している ・3D Three.js ・2D Pixi.js でもよさそうに思えるのだが、ダメなのかい リソーエディタでGIFとAVIをサポートしろだとよ。
賞金が懸かってない闘いでもちゃんと戦う。競走馬の生きざまさ。
ライセンスをクリアする画像入出力ライブラリがないかな?
AVI再生にはVFWかアニメーションコントロールを使い、PNG読み込みやGIFアニメにはGDI+を使うことにする。
このImagePlayerは、画像ファイルをドロップすると画像を表示する。アニメGIFも再生できる。
音声付きのAVIを再生する手っ取り早い方法は、MCIWndを使うことだ。明日、試してみる。
MIDI, WMF, EMFも次いでにサポートだ。
よし、テストが成功すれば、明日0.8をリリースだ!!!
今日は大規模なテストを行う。別の言葉で言うと、アプリの機能が正しく動作するか、幅広く確認する。 一流のプログラマーになるためには、テストを軽んじてはならない。 プログラムのテストをするのは、より良いユーザー体験を確実に実現させるためである。
壮大なReactOS開発計画を打ち立てよ。全軍は帝国に立ち向かえ。
3 :片山博文MZ ◆T6xkBnTXz7B0 @転載は禁止:2015/04/27(月) 15:28:32.37 ID:VhXmVBOx0 男汁、女汁、唾液、おしっこなどの体液を取引できるサイトが できたんだよーーー。 利用者登録すれば使える。使ってみてね。。。
汎用画像認識DLL+UWSCによるリセマラ動画です。 ※実質UWSCの機能は何も使ってないです。 効率的な画像認識 学習機能 Opencvベースのテンプレートマッチング 画面との完全一致マッチング etc VIDEO ;feature=youtu.be くそーーー、早く日本語入力を実現しないと馬鹿にされる。。。 やるしかないんだよな。。。
会社作るところから? 経営感覚ないからすぐつぶれちゃうよ。。。
__ / /⌒ ヽ / / ( )'゙ヽ. _/ . /iー-‐'"i ,; / i ! ( ヽ. ) ノ/ .:/ (\.゙ヽ_(_/,イ/ i ! (\\_,_)' ノ >>930 (\\_,_,)' i ! l ,i\ ヽ、 ! あ”っー あ”っー あ”っー あ”っー あ”っー し' 早くテラテイルから返事来ないかな。普通の人は、Visual Studioで作って終わりなんだけど、 オープンな俺の場合は、g++でもclang++でも動作するように書かないといけない。ちょっと難易度が高いんだ。
グローバルフックを使って、ReactOS上で「仮想的に」IMEを動作させようと考えている。 これが実現できれば、俺より頭の良い人が実際にカーネル上で実現してくれるだろう。まだ構想段階なんだがね。
それは返事が来るまでそこに置いといて、ReactOSコントロールパネルの「言語」ダイアログを実装しよう。 まあ、それは俺の経験では、動作原理が確認できれば、そんなに難しくない。
Wineとの同期にテスト失敗が頻繁して、Wine testが正常に動作してない疑惑が浮上。要検証。
DLL injectionとかグローバルフックとか見てると、Visual C++じゃないと難しいことがたくさんあるようなんだ。
s/頻繁/頻発/ Wine testsには問題はなかったようだ。勘違い。 話は変わるが、IRCで質問したところ、black box reverse engineeringなら、DLL injectionしても問題ないらしい。
次は、MSVC/g++でDLL injectionするコードを書かないといけない。g++はSEHサポートが不完全だから、少し泥臭いやり方をしないといけない。
やはり、解析のできる本格的なハッカーになるしかない。GNU asとWinDbgの研究を始めるぞ。
lud20221022045340ca
このスレへの固定リンク: http://5chb.net/r/tech/1450859278/ ヒント: 5chスレのurlに
http ://xxxx.5ch
b .net/xxxx のように
b を入れるだけでここでスレ保存、閲覧できます。
TOPへ TOPへ
全掲示板一覧 この掲示板へ 人気スレ |
Youtube 動画
>50
>100
>200
>300
>500
>1000枚
新着画像 ↓「★自作プログラム、評価してよスレッド」★1 [無断転載禁止]©2ch.net YouTube動画>2本 ->画像>6枚 」 を見た人も見ています:・文字コード総合スレ Part11 ・HacktoberFest 迷惑行為 プルリク スパムでTシャツ貰おう ・えぇ、ですからVB6の開発はやめろと言ったんです。 ・ふらっと C#,C♯,C#(初心者用) Part132 ・Android Studio Part3 ・写真の保存形式の著作権なんかあったよね? ・Rust part16 ・a4です。P2P人工知能「T」開発(2) ・Rust part10 ・プログラム言語は増えすぎた ・令和元年 vs 令和1年 ・Androidプログラミング質問スレ revision53 ・古代VBプログラマ質問スレ(Ver.6.0 まで) part65 ・ブロックチェーンの応用とか言うけどさ ・オブジェクト指向を教えてくれ! ・ユニケージってGPUで並列処理できるんかあぁぁん? ・【マウスだけで】Scratch【プログラミング】その1 ・VBScriptについて必死に話し合うスレ ・シェルスクリプトは歴史が長いローコードです? ・C言語なら俺に聞け ・筆ペンでノート取る奴wwwwwww ・【信者】C++の問題点【アンチ】 ・Eclipse統合M33【Java/C++/Ruby/Python/Scala】 ・おすすめの言語おしえて ・Excel VBA 質問スレ Part63 ・SEになるために前もってできる勉強を知りたい ・【Scheme】Schemeインタプリタ Mosh Part1【Lisp】 ・オブジェクトチンポシコシコ隔離病棟 ・JCとかJKを見たらズボンの中に射精しそうになる ・使ってはいけないエディタ その2 ・Perl初心者スレ(マジレス回答) ・C言語上級者スレ ・プログラミングのお題スレ Part10 ・テストを書いてからリファクタリングなんてのは幻想 ・結局Python上達するには何をすればよき? ・応用情報って取る価値ある? ・オブジェクト指向ってクソじゃね? ・Win32API質問箱 Build23 ・どのレベルならプログラミング出来ると言っていい? ・プログラミングのお題スレ Part20 ・設計思想/ソフトウェア工学(UML, デザパタetc) ・Amebaブログみたいなブログサイトが作りたい ・Microsoft SkyDrive API ・【bzr】Bazaarでバージョン管理 Rev 4 ・新言語を開発したい ・Borlandにはやられた... ・go言語、python言語自信ニキ来てくれ ・開発工数を大幅削減できた言語は存在しない ・Ruby で GUI するスレ ・【Enterprise】Java EEスレ part1【開発】 ・Eclipse統合M36【Java/C++/Ruby/Python/Scala】 ・Tizenアプリ作成 ・アセンブラ 13 ・php使ってる奴はアホ、これからはRuby on Rails! ・【肥大化】C++ を見捨てたヤシ 2人目【複雑化】 ・人工知能ディープラーニング機械学習のための数学 ・JavaScript の質問用スレッド vol.125 ・【Hook】フックの技術【Windows】 ・最高に頭悪そうな発言してください in ム板 (VI) 2 ・Excel VBA 質問スレ Part65 ・Vue vs React vs Angular vs Svelte Part.9 ・Python上げVBA下げしてる気持ち悪い奴ら ・Google Maps API 質問箱 ・パソコンのファイル整理中わい「これ半年前に暇つぶしに書いたプログラムやん、見てみよ」ポチ ・Visual Studio 2022 Part2
11:56:57 up 5 days, 22:21, 0 users, load average: 8.66, 8.85, 8.79
in 0.083575963973999 sec
@0.083575963973999@0b7 on 121801