1 名前:デフォルトの名無しさん mailto:sage [03/05/06 11:04] クロスプラットフォームGUIライブラリのwxWindowsについて語りましょう。 本家 www.wxwindows.org/ dW : Linux : wxWindowsの概要 www-6.ibm.com/jp/developerworks/linux/010413/j_l-wxwin.html SunWorld Online:wxWindows――無名だが成熟したGUIツールキット www.idg.co.jp/sw/back/200102/20010219_01_report.html メルマガ www.mag2.com/m/0000108320.htm 1はこれからインストールします
64 名前:デフォルトの名無しさん [03/05/21 21:18] おい、お前等。 やっとこさ、”wxWindows を使用したマルチ・プラットフォーム開発” の dot-gray.s33.xrea.com/docs.org/wx10.htm#multiplat 半ばまで訳せましたよ。 お陰さまで私、精も根も尽き果てましたので ”プログラミング戦略”以下の 4 ファイル dot-gray.s33.xrea.com/docs.org/wx22.htm dot-gray.s33.xrea.com/docs.org/wx23.htm dot-gray.s33.xrea.com/docs.org/wx24.htm dot-gray.s33.xrea.com/docs.org/wx25.htm 誰か訳してください。 お願いします。 で、訳後ファイルを↓にうpって下さい。 dot-gray.s33.xrea.com/cgi/upload.cgi 本当にお願いします。 僕はもう駄目です。無理です。
65 名前:デフォルトの名無しさん mailto:sage [03/05/21 21:35] 乙。 > Watcom C++ is automatic apart from the specification of the .pch file. Watcom C++ is strange in requiring the precompiled header to be used only for object files compiled in the same directory as that in which the precompiled header was created. Therefore, the wxWindows Watcom C++ makefiles go through hoops deleting and recreating a single precompiled header file for each module, thus preventing an accumulation of many multi-megabyte .pch files. Watcom C++では、.pchファイルの指定を除いては自動的である。Watcom C++は、 プリコンパイルヘッダは、それが作られたのと同じディレクトリでコンパイルさ れるオブジェクトファイルにのみ利用されるという点でヘンタイ的である。 であるから、wxWindowsのWatcom C++用makefileでは、それぞれのモジュールご とにプリコンパイルヘッダを削除して作成しなおすという面倒なことをして、 .pchファイルが積もり積もって全部で何メガバイトにもなる事態を回避している のである。 というところでどうでしょか。文体は丁度今見ているNHKの影響を受けている……。
66 名前:65 mailto:sage [03/05/21 21:42] > Note: include wx.rc after any ICON statements so programs that search your executable for icons (such as the Program Manager) find your application icon first. wx.rcのインクルードは、どのICONステートメントよりも*後に*行え。 それは実行ファイルを見てアイコンを探すプログラム(プログラム・マネージャ など)が、貴君のアイコンを最初に見つけるようにするためである。
67 名前:デフォルトの名無しさん [03/05/21 22:04] >>65-66 乙です。 翻訳アリガトー。 私、知らない環境の話になると、 英語力が足りなすぎて ニッチもサッチも行かなくてとてもお困りでしたの。 サソーク直してきま
68 名前:65 mailto:sage [03/05/21 22:14] ついでに。allocating and deleting wxWindows objects.(前半にょ) > In general, classes derived from wxWindow must dynamically allocated with new and deleted with delete. If you delete a window, all of its children and descendants will be automatically deleted, so you don't need to delete these descendants explicitly. ふつー、wxWindowから派生したクラスはnewで動的にアロケートしてdelete で逝ってしまわないといけないんだよもん。ウィンドウを削除したら、その 子も子孫も自動的に氏ぬから、こいつらを明示的に殺す必要はないもん。 # 難しい…… > When deleting a frame or dialog, use Destroy rather than delete so that the wxWindows delayed deletion can take effect. This waits until idle time (when all messages have been processed) to actually delete the window, to avoid problems associated with the GUI sending events to deleted windows. フレームやダイアログを頃すにはdeleteじゃなくてDestroyを使ってくださいお まいら。wxWindowsが、あぼーんの執行を送らせられるよーに。これは、ウィン ドウの削除をアイドルタイム(全てのメッセージが処理されたとき)まで遅らせて、 GUIがあぼんされたウィンドウにイベントを投げちまうことによる問題を避ける ためでつ。 > Don't create a window on the stack, because this will interfere with delayed deletion. ウィンドウをスタックに作るなゴルァ。削除の遅延が出来なくなるじゃねーか。
69 名前:65 mailto:sage [03/05/21 22:21] 後半にょ。 > If you decide to allocate a C++ array of objects (such as wxBitmap) that may be cleaned up by wxWindows, make sure you delete the array explicitly before wxWindows has a chance to do so on exit, since calling delete on array members will cause memory problems. wxWindowsがあぼーんするかもしんないオブジェクト(wxBitmapとかな)のC++ の配列 (STLのarrayのことか?)をC++でアロケートするんなら、終了時にwxWindows がそうする 前に、絶対、その配列を明示的にあぼんすれ。配列のメンバについてdelete を呼ぶと メモリの問題が発生するからな。 > wxColour can be created statically: it is not automatically cleaned up and is unlikely to be shared between other objects; it is lightweight enough for copies to be made. wxColourは静的に作成できまつ。自動的に削除されず、オブジェクト間で共有されるこ ともあんまないでつ。十分軽いのでコピー作ってもおkでつ。 > Beware of deleting objects such as a wxPen or wxBitmap if they are still in use. Windows is particularly sensitive to this: so make sure you make calls like wxDC::SetPen(wxNullPen) or wxDC::SelectObject(wxNullBitmap) before deleting a drawing object that may be in use. Code that doesn't do this will probably work fine on some platforms, and then fail under Windows. wxPenやwxBitmapといったオブジェクトを削除する際は、それらがまだ使用中でないか 気を付けよ。Windowsはこの点にたいへんウルサイ。であるから、使用中かも知れない オブジェクトを削除する前には、必ず、確実にwxDC::SetPen(wxNullPen) もしくは wxDC::SelectObject(wxNullBitmap)を呼ぶようにせよ。これを怠ったコードはいくつか のプラットフォームではちゃんと動くだろうが、Windowsではダメなんである。 文体バラバラや。推敲して下さい。 あと、見直して気付いたんですが>>65 の「指定」は「仕様」かも知れませぬ。 長くてスマソ >皆様。
70 名前:灰 mailto:sage [03/05/21 23:24] >>68-69 65 氏、マジでグジョブ! 要点きちっっと抑えててすげーよ! でも、一点だけ。 >>68 > classes derived from wxWindow * must * dynamically allocated with new and deleted with delete. wxWindowから派生したクラスはnewで動的にアロケートし、delete で逝かせる * 必要 * があるんだよもん。 ここの must ははしょっちゃいけない気がするんだけど、 いかがでしょ? 漏れも長文スマソ。
71 名前:灰 mailto:sage [03/05/21 23:33] あ、はしょってはいないか。 失礼しました。 >>65 氏
72 名前:デフォルトの名無しさん mailto:age [03/05/21 23:50] おまいら神!漏れも勉強してみよっかなっと。
73 名前:デフォルトの名無しさん [03/05/21 23:57] life.fam.cx/
74 名前:デフォルトの名無しさん mailto:sage [03/05/22 00:12] >>72 カモン カモーン
75 名前:灰 mailto:sage [03/05/22 00:51] >>69 清書してて気付いたので突っ込み。 1つ目の奴。 > wxWindows オブジェクトのC++配列は自分で削除せーよ。 ではなく、 > 自分で削除すんなゴルァ。wxWindows が削除するからほっとけよ。 じゃないかな? mey be 〜 by wxWindows は、If you 〜 にかかってて since 〜 memory problems は make sure you delete 〜 にかかってる?気がする。 >>65 は指定でいい思いまつ。 仕様にするとそれはそれで変になると思う。 なんか、話がとっ散らかっててしてスマソ。
76 名前:デフォルトの名無しさん mailto:sage [03/05/22 01:27] 形になってきたら sourceforge.jp に翻訳プロジェクトとして申請してみれ。
77 名前:の mailto:sage [03/05/22 02:30] おお、盛況ですな。 >75 案1)の方がC++としては自然ですな。 C++では、ポインタの指しているオブジェクトが配列かそうでないかを 識別することができないんだよね。 #詳しくはARMの5.3.4あたりを参照 オブジェクト配列を割り当てたのにdeleteを使用してしまった場合の挙動は 未定義(だいたいの場合はメモリリーク)になるから、『自分で始末しろ』て いってんじゃない? ……delete[]した後にdeleteするのもなんかマズい気もするけど…… ポインタを0クリアする必要ないのかなぁ?wxObjectのdelete演算子で 0クリアするように実装しているのかな?
78 名前:54 = tofu ◆fS6u1o5e6Q [03/05/22 06:35] 早起きしたので wx25.htm 適当訳を dot-gray.s33.xrea.com/cgi/upload.cgi にうpりました。 誤訳の責任が他にいくと申し訳ないのでコテ。
79 名前:65 mailto:sage [03/05/22 07:09] >>75 清書おつかれさまです。 >>65 の指定・仕様は、私もWatcom C++を知らんのでよくわからんのですが、 ヘンタイ的な仕様(とそれに伴う面倒)を指しているのかなと思ったのでした。 Watcom C++知ってる人のアドバイスきぼんぬ。 >>75 ,77 この文、やっぱり意味不明ですよねえ。 私のC++の知識はかなーり錆びててあやしいですが、もしかして、delete explicitly は、まず手動で要素のデストラクタを呼んでdelete[]する、ことま で言っていたりするんでしょうか。 あと、>>69 の最後の訳文は、 Windowsはこの点にたいへんウルサイ。 →とりわけWindowsはこの点にウルサイ。 に訂正です。
80 名前:デフォルトの名無しさん [03/05/22 07:15] 女子高校生監禁コンクリート詰め事件!!!! 共産党幹部宅で行われた鬼畜行為(裁判で明らかになってます)(監禁41日間の内容) ・オイルを両大腿、膝、すねにたらして着火する ・熱がって火を消そうとすると手にもオイルをかけて着火、火が消えるとまた点火する ・性器に異物を入れて弄ぶ ・自分の尿を飲ます ・性器にライターを入れて着火する(この行為によって何度も気絶し、髪の毛が抜けていったという) ・性器を灰皿代わりにする ・性器にオロナミンCの瓶を入れる ・お尻の穴に花火を突っ込む ・性器に強引に直径3Cmの鉄の棒を突っ込んだり抜いたりして性器を破壊する ・頬が鼻の高さを超えるまで腫れ上がり、目の位置が陥没して分からないほどになるまで暴行 ・歌謡曲を流して、歌詞にあわせて脇腹に思いっきりパンチをいれる ・痛さをこらえるので口が変なふうに歪むのを見て面白がる ・犯人2人の真ん中に立たせ、左右から肩や顔に回し蹴りを数発入れる ・顔にろうそくをたらす ・眉間に短くなった火のついたろうそくを立てる ・6kgの鉄アレイを腹に落とす ・鉄アレイで大腿や顔面を殴る ・逃げないようにガムテープで全身をぐるぐるまきにする コンクリート詰め事件で検索すればわかります。 アンチが騒いでます(w qb.2ch.net/test/read.cgi/accuse/1052793624/l50
81 名前:65 mailto:sage [03/05/22 07:25] >>78 乙です。んじゃ strategies for reducing programming errors と strategies for portability を貼ります。それぞれ短いのでご容赦下さい。 プログラミングエラー低減の戦略 ASSERTを使え 私自身はwxWindowsで実行できていないのだが、ASSERTステートメントを さくさく使うのは良い習慣だ。ASSERTは、成立すべき、ないしせざるべき 条件をチェックし、適切なエラーメッセージを出力する。これらは、 ノンデバッグ版のwxWindowsやあなたのアプリケーションからコンパイル時に 外すことも出来る。ASSERTの使用は、「防禦的プログラミング」の一例であり、 そのうちあなたに問題を警告してくれる。 文字配列よりもwxStringを使え wxStringの使用は、char*の使用よりもはるかに安全でより有用である。 今度もまた、私自身は自分の説く道を実践できていないのだが、私も 今、可能な限りwxStringを使おうと努めているところである。あなたは メモリリークの可能性を著しく低減でき、オーバーロードされた演算子 の使用は、strcmpなどの関数よりはるかに便利である。wxStringは、 プログラムにさほどのオーバーヘッドを与えない。オーバーヘッドも、 文字列操作がより簡便となったこと(つまりより少ないコードで済む ということだ)によってチャラになる。 他のデータ型についても同様である。可能な限りクラスを使え。
82 名前:65 mailto:sage [03/05/22 07:35] 移植性の戦略 相対位置指定やSizerを使え [訳注: Constraints positioningは既にobsoleteである。そのため、sizer に置き換えて文章を構成した。容赦願いたい。] 出来うれば、パネルの要素の絶対位置指定はやめよ。GUIが異なればパネルの 要素の大きさも随分と違うのである。多少はプログラムの手間が増えるかも知れ ないが、Sizerの使用を検討せよ。 別解として、プラットフォーム毎に、それぞれ少しずつ数値の違う別々の. wrc(wxWindowsリソースファイル)を用意する方法もある。もしくは、問題を避け るためにパネル要素の間を十分に空けよ。 wxWindowsリソースファイルを使え 可能な限り .wrc (wxWindowsリソースファイル)を使え。これは、ソースコー ドとは独立に簡単に編集できる。ビットマップリソースはプラットフォームに よって異なるビットマップをロードするようにも設定できる(リソースファイ ルの項を見よ)。 ~ ~ ~ たぶん、Windowsでもパネル要素の大きさは大きいフォントと小さいフォントで 違うのではないかと思います。
83 名前:72 mailto:sage [03/05/22 10:54] >>69 関係について、新参ですが、こーゆー事を言ってるんじゃないでしょうかねぇ。 何かのクラスのメンバーに例えば wxBitmap *pBitmap = new wxBitmap[N]; とかってやった場合はキチンと自前で delete [] pBitmap; ってやれ、って 事じゃぁないでしょうか。 wxWindows勉強まだ始めてないんで、かなり推測なんですが、wxWindows では 動的にアロケートされたwxWindows用のオブジェクトを終了時に勝手に delete してくれるようになってるんじゃないですかね。で、その自動化機構によって 配列に delete かけるとマズいから、配列を動的に確保した場合はキチンと delete [] を明示的にユーザー側でやってちょ。と。 全然違ったらスマソ
84 名前:デフォルトの名無しさん mailto:sage [03/05/22 12:39] Mingw(+MSYS)でコンパイルしたいのですが。 MingwのインクルードファイルとwxWindowsのインクルードファイル間で 構造体の宣言が衝突してエラーになります。 どなたか回避方法とかわかる方いらっしゃいますか?
85 名前:84 mailto:sage [03/05/22 12:59] ググったら、なんかそれっぽいのがあったです。 とりあえず下記を参考にインクルードファイルを修正してコンパイル中。 lists.wxwindows.org/cgi-bin/ezmlm-cgi?5:mss:33083:200305:jimgjppnkkijcogmmhle コンパイル通ったらまた来ます。
86 名前:灰 mailto:sage [03/05/22 13:31] おー、なんかすげー勢いになってる。 取り急ぎいろいろと。長文、乱文、アンカーミスあったらスマソ。 >>78 早起き過ぎ。 文責関係は私も気にしなきゃいけない気がしてたので 文書として明文化しておきました。 dot-gray.s33.xrea.com/translation.html あー、なんか俺必死っぽい(藁 >>78 ,81-82 ローカルに保存しますた。あとでマージしときます。サンクスコ! >>79 >>65 は原文併記に切り替えときます。あと、修正もやっときまふ。 >>75 ,77 は >>77 ,83 氏の案でビンゴかと。 wxWindows のオブジェクトはガベコレで管理してるけど、 new されたC++配列(wxHoge* p = new wxHoge[N])までは 管理しない(出来ない)から wx cleaned up までには、自分で責任もって削除しろYO! でないと、問題ですよ!ってことで理解しかけますた。 new wxHoge != new wxHoge[N] >> 84,85 うちも cygwin あるんでうp期待してまつ。
87 名前:65 mailto:sage [03/05/22 15:51] わかりました。たぶん。 >>69 の "a C++ array of objects" は配列じゃないんですな。 STLの……は惜しいけど違って、wxObjArrayだと思われ。こいつは要素を所有し ますので死ぬときにdeleteします。それがclean upまで持ち越されると、 arrayのdeleteとwxWindowsが要素を直接deleteするのとの前後が不定なため 二重deleteが発生しうるということではないかと。 include/wx/dynarray.h (_WX_DECLARE_OBJARRAYの中のEmpty()) include/wx/arrimpl.cpp (~name()、DoEmpty()) wx31.htm (wxArrayの説明) を読んでみて下さい。 訳文は夜にでも修正します。 >>84 いかがでしたか? うちではMinGWでもcygwinの-mno-cygwinでも作れていますけど、 ソースを修正したかどうかは忘れてしまいました。 あんまり困らなかったとは思うんですけど。 あと喉にひっかかってるトゲ(>>65 )をとってくれる勇者ぼしうです。だれか Watcom C++試して。
88 名前:84 mailto:sage [03/05/22 18:29] 出来たので報告。 環境はMingw2.0.0+MSYS1.0.8。 install-msw-2.4.0.txtに書いてある手順だけではうまくいかなかったので、 追加で必要だった作業を書いておきます。 ★MingwのWindows APIパッケージは最新の2.3にしておく ★lists.wxwindows.org/cgi-bin/ezmlm-cgi?5:mss:33083:200305:jimgjppnkkijcogmmhle 上のURLを参考に、wxWindows-2.4.0/include/wx/msw/missing.hの 162行目以降で #if defined(__GNUWIN32__) && !defined(HDN_GETDISPINFOW) #define HDN_GETDISPINFOW (HDN_FIRST-29) typedef struct { NMHDR hdr; となっている所を #if defined(__GNUWIN32__) && !defined(HDN_GETDISPINFOW) #define HDN_GETDISPINFOW (HDN_FIRST-29) #endif #if defined(__GNUWIN32__) && !wxCHECK_W32API_VERSION( 2, 3 ) typedef struct { NMHDR hdr; の様に修正する 以上です。 これで、minimalサンプルをコンパイルできる所まで確認しました。 ところで、wxWindowsのドキュメントの翻訳、乙です。 日本語のドキュメントなどが揃えば、新たな利用者も増えて、 スレ活性化で、情報増えて(゚Д゚)ウマー 漏れは英語苦手なんでアレですが、がんがってください!
89 名前:デフォルトの名無しさん mailto:sage [03/05/22 20:48] とりあえずコンパイルで苦労したくない人に対しては DevPakとDev-C++を薦めたほうがよさげだね citymap.slyip.com/_scripts/file.php?f=2618&r=46
90 名前:灰 mailto:sage [03/05/22 23:01] >>88 キタ━━━━━━(゚∀゚)━━━━━━ !!!!! > 漏れは英語苦手なんでアレですが、がんがってください! ぶちゃけ、みんな苦手だと思うYO! 漏れ工房んとき、馬鹿すぎて英語教師に黒板けし投げつけられたことあるYO! しかも当たったョ・・・、黒板けし。・・・糞、・・・氏ね、英語教師。 >>76 遅レスだがソースフォージか・・・、cvs 使えるのがえらい魅力的っぽいんだけど そこまですんのも・・・。 週末に擬似 cvs ちっくな cgi いれよかな。 メールでパス発行して、期間限定(一週間ぐらい?)のチェックアウト。 コミットした文書はいったんトランク(?)に突っ込んで、 コミッター3人以上の認証が得られれば本コミットみたいな・・・。 面倒くさいか。 あと、皆様。 文責・著作権関係を以下に纏めてみたんだけど、 これでいいのかな? こういうの書くのって初めてなのでよくわからないです。つっこみキボン。 dot-gray.s33.xrea.com/translation.html#res んじゃ、ちょっくらマージしてきまふ。
91 名前:65 mailto:sage [03/05/22 23:20] >>87 > 訳文は夜にでも修正します。 いまいち反応がないのが不安ですがこの立場で大幅に言葉を足してみました。 > If you decide to allocate a C++ array of objects (such as wxBitmap) that may be cleaned up by wxWindows, make sure you delete the array explicitly before wxWindows has a chance to do so on exit, since calling delete on array members will cause memory problems. wxWindowsが終了時に個別に始末するオブジェクト(wxBitmapなど)のC++ array (具体的には、WX_DECLARE_OBJARRAYで定義されるもの)をアロケートするのなら、 wxWindowsが終了時にそれを削除するより先に、確実に、明示的に削除せよ。 それはデストラクタで要素をdeleteするため、終了時の処理の順序によっては、 wxWindowsがarrayの要素についてdeleteを呼ぶときに、メモリを二重に解放して しまうからである。 違うなら違うといってくれー。
92 名前:灰 mailto:sage [03/05/22 23:45] >>91 違うと否定するにはまず wx31.htm (wxArrayの説明) を読まなきゃいけない。 漏れはそこ読みたいけどその前に訳をまとめときたいのでいまはむりぽー。
93 名前:84 mailto:sage [03/05/23 00:27] >>灰氏へ 普及促進サイトの dot-gray.s33.xrea.com/docs.org/wx14.htm#topic10 のページ中で(以下翻訳不能って所を訳してみました。 一部推測と意訳混じってますが、もし良かったら使ってください。 以下訳。 wxWindowsを制御するメイクファイルは、各Windowsコンパイラー用の物がMS-Windowsディレクトリ(src/msw)に入っているし、 Unix版を使っているならビルドディレクトリの中に入っている。このビルドディレクトリはユーザーが選ぶことが出来ます。 configureスクリプトを実行する時のカレントディレクトリがビルドディレクトリとなります。 このディレクトリは、標準的な基本ディレクトリ(そうするには./configureコマンドを実行すればよい)でも良いし、 他のどんなディレクトリ(例えば、先に基本ディレクトリの上階層にビルドディレクトリを作っておいて そこで../configureコマンド実行するとか)でも良いです。
94 名前:84 mailto:sage [03/05/23 01:33] 調子に乗って第二弾♪(w 以下のページを訳しました。 dot-gray.s33.xrea.com/docs.org/wx17.htm#topic14 おかしかったら、指摘してください。 以下訳。 アーキテクチャ依存 マルチプラットフォーム対応なプログラムを書いていると時々、 C言語の基本型(the basic C types)がすべてのプラットフォームで同じように定義されていない という問題に遭遇することがある。この問題は基本型(intやlongなど)をビットで表したときの長さにも当てはまり、 また、それらのバイトオーダーにも当てはまる。バイトオーダーは、標準的なIntel系のコンピュータではリトルエンディアンになったり、 標準的な幾つかのUnixワークステーションではビッグエンディアンになる。 wxWindowsはアーキテクチャに依存しないコードを簡単に書けるように型とマクロを定義している。 それらの型には以下の物がある: wxInt32, wxInt16, wxInt8, wxUint32, wxUint16 = wxWord, wxUint8 = wxByte このwxInt32は32ビット符号付き整数型を表す、などなど。 またあなたは、wxBIG_ENDIANかwxLITTLE_ENDIANのどちらか一方を定義する(将来wxPDP_ENDIANも定義できる様になるかも)wxBYTE_ORDERを使って、 プログラムがどのアーキテクチャ上でコンパイルされるかチェックすることが出来ます。 その、アプリケーションのエンディアンについてビットスワッピングを処理するマクロは、Byte order macrosの章で説明されています。
95 名前:灰 mailto:sage [03/05/23 01:54] 長文スマソ。 >>78 ,79,81-82 マージしますた。 ただ、新規翻訳文書は訳文と原文とのチェックまではいたらなかったので 両文併記のスタイルで挙げておきました。 申し訳ないっす。 >>93 乙です。がっつし! ばっちりだと思います。 一点だけ・・・、個人的に configure はスクリプトだろ!って思ったのですが グーグルおじさんによるとコマンド派が優勢だと知りました。 私の負けでございます。結構ショック。 configureスクリプト 約12,300件 www.google.co.jp/search?q=configure%83X%83N%83%8A%83v%83g&hl=ja&btnG=%8C%9F%8D%F5 configureコマンド 約17,900件 www.google.co.jp/search?q=configure%83R%83%7D%83%93%83h&hl=ja&btnG=%8C%9F%8D%F5
96 名前:灰 mailto:sage [03/05/23 02:02] >>32-33 亀レス。 MBCS系のお話。 下によるとにゃんかこんばーたまで用意されてるみたいね。 タイトルだけでぜんっぜん読んでないでけど >> の氏 いかがでしょこのあたり。 Unicode support in wxWindows dot-gray.s33.xrea.com/docs.org/wx458.htm#unicode wxMBConv classes overview dot-gray.s33.xrea.com/docs.org/wx459.htm#mbconvclasses あとね、マジでまるちぷらっとふぉーむでごりごり行きたい人は これをみとくと良いかもよ。 Supported classes by port www.wxwindows.org/supported.htm 一応スレへのふぃーどばっく(?)つーことで。
97 名前:84 mailto:sage [03/05/23 02:11] >>95 自分で書いておいてあれですが、漏れもスクリプトだと思います。(w シェルスクリプトのひとつですよね?なんでコマンドって書いたんだろ? 漏れ的にはスクリプトはテキスト、コマンドはバイナリってイメージです。 ところで、もういっちょ訳しました。URLは↓です。よろしくお願いします。長文スマソ。 dot-gray.s33.xrea.com/docs.org/wx18.htm#topic15 以下訳。 条件コンパイル wxWindowsの目的の一つは、乱雑で理解するのを混乱させ得るソースコード中の条件コンパイルの必要性を減らすことにある。 しかし時々、プラットフォーム固有の機能(MS-Windowsにおけるメタファイルの使用など)を組み込む必要が出てくることがある。 もしかするとsymbols.txtに載っているシンボルは、ユーザーが用意(定義)したシンボルと一緒に、この目的のために使用されるかもしれない。
98 名前:灰 mailto:sage [03/05/23 02:33] 長文スマソ。 >>97 禿同。 テキストベースはスクリプト、 バイナリベース単機能型はコマンド、 同多機能型はアプリケーション、 って思ってたけどどうやら違うらっすいね。 んで、翻訳乙です! 明日(っつかもう今日か) >>97 はマージします。 >>94 はマージしました。 また、両文併記だけど、もう今日は限界。 ねむりまふ。 もう、ほんとヘナチョコですまん。 あー、最後に 翻訳者の方々へ。 dot-gray.s33.xrea.com/translation.html#doc_info 上にあるとおり翻訳者名をすでうめこんでまふ。 今のところ”数字”で名乗ってる方々は数字のまんまつっこんでるんですが ちゃんとしたハンドルで埋め込まれてー方はご一報くだされ。
99 名前:の mailto:sage [03/05/23 03:04] >91 wxBitmap::~wxBitmap()の説明なんかを勘案して、こんな感じかと…… 「もしもあンたがwxWindowsがクリンナップ(処理)を行うオブジェクトの C++配列を割り当てることにしたンなら、(プログラム?関数?)終了(処理)時 みたいにwxWindowsが配列を削除する機会を得る前にてめぇできっちり やっときなよ。配列メンバのdelete呼び出しはメモリ問題を招きやがるからな」 やっぱり(C++)配列だと思う。 でも、なんでメモリ問題をおこすのかな?オブジェクト配列の各要素が デフォルトコンストラクタで作成されるから、それによって扱いが特殊になる、 つうこと? 教えて!!詳しいひと! >96 いいですな。 ただ、確かEUC-JP/SJISはサポートしていない罠。 週末チャレンジしてみますか。
100 名前:デフォルトの名無しさん mailto:sage [03/05/23 04:00] >>99 詳しくはないけど"C++ Array"が通常のC++配列(new wxBitmap[N];で確保した配列) のことだとした場合に考えられる問題は>>83 にも書いてある通り delete[]で削除すべきオブジェクトをdeleteで削除してしまう問題が発生するのでは
101 名前:デフォルトの名無しさん mailto:sage [03/05/23 07:15] wxBitmapから辿ってソースを眺めてみたところ wxObjectRefDataクラスが参照カウンタをもっていて wxObjectのm_refDataメンバにwxObjectRefDataの派生クラスのオブジェクトを指すことで wxObjectのRef(),UnRef()メンバを使ってwxObjectRefDataの派生クラスのオブジェクトを 管理することができるようになっているみたいです これがwxWindowsが自動的に削除するオブジェクトの仕組みだとすると、 参照カウンタが0になって削除されるのはwxObjectRefDataの派生クラスのオブジェクトのほうで >>83 も>>87 も問題なさそうな気がするのでもしかしたら的外れかもしれない・・・
102 名前:65 mailto:sage [03/05/23 07:49] >>99 ごめんなさい、私がC++のdelete[]の仕様を誤解しておりました。 delete[]は要素についてデストラクタを呼ばないと思っていましたが、そうでは ないのですね。wxObjArray(でないといけない)説は撤回します。 普通の配列でも同じ話が出来るということで。 memory problemsが何を指すかですが、wxObjectは基本的にハンドラで、データ の実体であるRefDataへのポインタを持ちます。RefDataはリファレンスカウント で管理されます。wxObjectがデストラクタでUnRef()するとカウントが減り、0 になれば破壊されます。 main loopを抜けたあとでリソースのclean upが行われるとすると、この時点で RefDataは破壊されます。万一、この時点でまだ配列が生き残っていて、それが これより後にdelete[]され、そしてそれぞれの要素のデストラクタが呼ばれると、 破壊されたRefDataを触ることになるので問題が発生します。 ……ということを言っているように思います。 もっとも、少なくともwxMSWのwxBitmapではcleanupはやってなさそうに見えます。 >>96 現状でもEUC-JP/SJIS変換できますよ。iconv使えますから。
103 名前:灰 mailto:sage [03/05/23 13:15] 報告遅れてすいません。 >>64 で依頼していた文章が全て翻訳されましたー。 アリガトゴザマース 後で清書しますでっす。 >>68 の訳はえらい難しいですね。 >>101 氏、蛇足だとは思いますが一応 wxObject は中途半端に和訳しております。 何かの参考になるやも・・・。 dot-gray.s33.xrea.com/docs.org/wx283.htm#wxobject (すでについて行けなくて他人事気分。うへ。) (´-`).。oO(なんか、神の多いスレだなぁ・・・)
104 名前:101 mailto:sage [03/05/23 20:18] >>102 wxObjectはすべてのクラスの基本クラスで参照カウントオブジェクトがいらないクラスもあるので UnRefはm_refDataがNULLかそうでないかを見てm_refDataを触るかどうか判断しているみたい で、UnRefするとm_refDataをNULLにしてRefや代入で新しくm_refDataに参照カウントオブジェクトを指すまで UnRefはm_refDataには触らないようになっているので、メモリ問題と参照カウントオブジェクトは関係ないかもしれない 話をややこしくしたみたいでスマソ
105 名前:65 mailto:sage [03/05/23 22:08] >>104 102は101を見てから書いたわけではないので。単にだぶっただけです。 RefDataが破壊されても他に残ったwxObject(あれば)のm_refDataはNULLになった りはしないので、cleanupで強引に破壊されるとしたら(これが怪しいんですが:<) 可能性はあるんじゃないかと思いますが。 CleanUp()からも辿ってみたけどwxBitmapを片してるところが見つからず。
106 名前:デフォルトの名無しさん mailto:sage [03/05/23 22:55] あー、やっとメルマガのサンプルをコンパイルできたー
107 名前:デフォルトの名無しさん mailto:sage [03/05/23 23:50] 俺もやってみるかな。
108 名前:灰 mailto:sage [03/05/24 00:24] これちぇっくついでに訳しますた。よろしぅ。(まだうpってないけど dot-gray.s33.xrea.com/wxWindows/docs.org/wx423.htm >>81 の1個目の訳 >さくさく使うのは良い習慣だ。ASSERTは、成立すべき、ないしせざるべき どーでもいいがさくさくでワロタ。 仕事モード直後だったんでツボにはまりますた。 >>106 おお、おめー。 やっとってことは何か問題発生? >>107 コレ結構おもろいですお。 メルマガのバックナンバーってココで読めるのね、知らなかった・・・。 backno.mag2.com/reader/Back?id=0000108320
109 名前:デフォルトの名無しさん mailto:sage [03/05/24 00:37] wxStringの冒頭部分を機械+手で訳してみました。 wxString wxStringは文字列を表すクラスです。 これに関する詳しい情報に関してwxString概観を見てください。 そこで説明されるように、wxStringはstd::stringのメソッドの約90%を実行します。 (iteratorはサポートしていないので、それを使用するすべてのメソッドも未サポート)。 これらの標準関数がこのマニュアルに記述されないので、STLドキュメンテーションを見てください。 これらのすべての機能のふるまいはそこで説明されたふるまいと同じです。 引き出します。 親クラス なし インクルードファイル <wx/string.h> 事前に定義されたオブジェクト オブジェクト: wxEmptyString 参照 概観 ファンクショングループ
110 名前:106=109 mailto:sage [03/05/24 00:40] あ、「引き出します。」はなしで。 >>108 いえ、こっちがちゃんとドキュメントを読んでないから、いろいろ躓きました(w
111 名前:灰 mailto:sage [03/05/24 01:41] >>109 またキタ━━━━━━(゚∀゚)━━━━━━ !!!!! これまた、地味かつディープなところで、・・・凄くナイスです。 早速取り込みますです。 >>110 やっちまったんですな。 何はともあれ乙でした。
112 名前:灰 mailto:sage [03/05/24 01:51] あ、あの。 クラス、関数のどきめんとは某翻訳プロジェクトを真似て、 (tp://www.shibu.jp/wiki/translation%20standard) 見出しは訳さない方向でいこかとおもーてまふ。 見出しの訳語を統一する手間も省けるし そのままの方が馴れでわかりやすいと私もおもーてますので。 なので、以後それ系ドキ、見出し徹底放置で。
113 名前:デフォルトの名無しさん [03/05/24 01:59] マルチな質問 widestudioとwxwindowsってどこが違うの?
114 名前:の mailto:sage [03/05/24 02:24] >113 マルチ氏ね で、質問の回答だけど、一番違うのがプログラムスタイル。 widestudioは、RAD&ウィザードスタイルのガチガチに硬いフレームワーク。 #window毎にソースファイルを作らなきゃいけないところとかの制限もあるみたいだし。 wxWindowsはクラスとマクロを組み合わせたライブラリライクなフレームワーク スタイル的な柔軟性はこちらの方が高い……と思う。使い方覚えるの大変だけど。 例えば、wxWindowsはウインドウの無いアプリケーションも簡単に作れる。 #wxApp::OnInit()の中でwindowを作らずにreturn false;するようにするだけで #(ウインドウを表示することなく)実行後にすぐ終了するプログラムを作れる #……つうてもわかんないか…… あとは、ライブラリの規模でしょうな。 #widestudioは軽く触っただけなので、間違えていたら指摘ヨロ
115 名前:デフォルトの名無しさん mailto:sage [03/05/24 02:46] wxWindowはフリーでマルチプラットフォームなMFC widestudioはフリーでマルチプラットフォームなBCBのサブセット
116 名前:65 mailto:sage [03/05/24 04:05] >>112 個人的には見出しは訳した方がいいと思うけどね。 どういう情報がどこにあるか探すのにわかりやすい方が楽でしょ。 あるときに読む必要のある文章というのは全然多くないのだから、 なまじ本文をだらだら訳すよりもそういう箇所をすぐに見つけられるように する方が同じ時間をかけるなら役に立つんじゃないかと思ったりしてるぐらい。
117 名前:65 mailto:sage [03/05/24 05:22] あ、>>116 の後半は一般論です。翻訳プロジェクトとか日本ユーザ会とかには 木を見て森を見ずというが多いように思うので。水をかけるようでスマソ。
118 名前:デフォルトの名無しさん mailto:sage [03/05/24 10:31] wide studioちょっとだけ使ってみた感想。 統合環境があって日本語ドキュメントも整っていて、非常に使いやすい。 初心者の俺でもすんなり使えた。 ただ、GUIが独自で作成物がちょっと操作しにくい。 慣れの問題だろうけど、この点がマイナスかな。
119 名前:灰 ◆v/.u/aNe9w mailto:sage [03/05/24 13:56] >>116-117 >木を見て森を見ずというが多いように思うので。水をかけるようでスマソ。 確かにそうかも。 了解しました、翻訳する方向で行きます。 ただし、見出しは完全な定型文なので個々に翻訳はせず 後日スクリプトで一括置換することにします。 対応訳語はdoxygenの出力あたりを参考してみまーふ。 (でいいかな?もっちょい考えるべきかな?) 一応、見出しの定義: クラス、関数仕様トキメント及び、そのフォーマットに順ずる文書 における下記の2パターン <h2>[^<]*</h2> <b><font COLOR="#FF0000">[^<]*</font></b> これを見出しとします。(この2種類だけのはず・・・) 現時点ではとりあえず放置。 調査後にチカンの方向で。
120 名前:灰 ◆v/.u/aNe9w mailto:sage [03/05/24 14:05] ほんやくこんにゃくセット(タブブラウザでタブグループ登録すると幸せに・・・) Excite エキサイト :英和辞書 eiwa.excite.co.jp/ goo (国語辞書) www.goo.ne.jp/ 専門語辞書参照サービス www.nova.co.jp/webdic/webdic.html 接頭辞(prefix) www1.ttv.ne.jp/ yano/prefix.htm 接尾辞(Suffix)(abcde) www1.ttv.ne.jp/ yano/suffixabcde.htm 接尾辞(Suffix)(fghi) www1.ttv.ne.jp/ yano/suffixfghi.htm 接尾辞(Suffix)(klmno) www1.ttv.ne.jp/ yano/suffixklmno.htm 接尾辞(Suffix)(pqrstuvwxy) www1.ttv.ne.jp/ yano/suffixpqrstuvwxy.htm google(オーディエンス用) www.google.co.jp/
121 名前:灰 ◆v/.u/aNe9w mailto:sage [03/05/24 14:05] オミトロン・翻訳ドキュメント用フィルタ(ちょっと楽しく便利になるかも・・・) ## 原文へのリンクを表示(もじら以外のユーザ用 Name = "wxW Show Original Document" Active = TRUE URL = "dot-gray.s33.xrea.com/docs.org/" Bounds = "<(link rel="alternate" title="Original \(English ver.\)" href=)\1"([^"]*)\2"*>" Limit = 128 Match = "*" Replace = "<\1"\2">" "<p><a href="\2">原文</a></p>" ## 翻訳者名を表示 Name = "wxW Show trans-auther" Active = TRUE URL = "dot-gray.s33.xrea.com/docs.org/" Bounds = "<(meta name="translation-author" content=)\1"([^"]*)\2">" Limit = 128 Match = "*" Replace = "<\1"\2">" "<p>翻訳者: \2</p>" IE opera moz で動作確認しますた。
122 名前:灰 ◆v/.u/aNe9w mailto:sage [03/05/24 14:12] >>120 s/ yano/\~yano/g スマソ。
123 名前:65 mailto:sage [03/05/24 14:26] >>gray氏 乙です。精力的ですな。 wxWindowsでの日本語について少し書いてみました。指摘よろ。 www.geocities.co.jp/SiliconValley-Cupertino/8526/wxWindows/japanese.html 日本語リテラル埋め込みで使う分には知らなくても使えちゃう部分もありますが。
124 名前:灰 ◆v/.u/aNe9w [03/05/24 14:43] >>119 あの・・・、やっぱり自由でいいです。 訳したい方は訳して、 ほっときたい人はほっときで。 私の方でうまいことやりますです。 でも、見出しは一斉チカンなので 訳をうpった人は見出し訳したのに反映されねーぞゴルァ! って言わねーでくださぃ。 (・∀・)オナガイシマース。 >>123 おおお。 凄いのキタ━━━━━━(゚∀゚)━━━━━━ !!!!! 凄いのキタ━━━━━━(゚∀゚)━━━━━━ !!!!! 凄いのキタ━━━━━━(゚∀゚)━━━━━━ !!!!! あげるぞ、このやろー! 藻前様は神か?そうなのか!?
125 名前:の mailto:sage [03/05/24 15:23] >119 折衷案だけど、見出しについては ユニコードはどーなってんの? [Unicode support in wxWindows] みたいな感じで両方併記するのはどう? ……て、Boost翻訳プロジェクトでもそうなってるのあるね…… そういえば、ここのスレと灰さんのwebページを見て思ったんだけど、 原文と対訳を併記するのはどうですかね? 誤訳の修正を期待するなら、こっちのほうがいいと思う…… サンプル www.debilotte.net/programming/wxWindows/html/wx/wx425.htm#versionfunctions #そういや、ドキュメントパックはwww.wxwindows.org/dl_all.htm #からダウンロード可能ですな。docbookが無いのは寂しいですが……
126 名前:の mailto:sage [03/05/24 15:55] そういや、前にもあったけど、 sourceforge.jp に登録してみる? みんながCVS使えるようだとsourceforgeも便利なんだけどね。
127 名前:65 mailto:sage [03/05/24 16:13] 最初は併記にして、安定してきたら 和訳に対応する原文のページへのリンクに切り換えるというのはどうです? 併記でも原文ページへのリンクが欲しいです。 原文が更新された場合などは便利かと。
128 名前:の mailto:sage [03/05/24 16:44] >102 まだしつこく続きを。 void wxApp::CleanUp() で wxBitmap::CleanUpHandlers();というwxBitmapの 何か得体の知れないhandlerをdeleteするメンバ関数が呼び出されますね。 #wxBitmap::CleanUpHandlers()はwxGDIImageから継承。 void wxApp::CleanUp() 自体は void wxExit()で呼びだされるので、 "wxWindows has a chance to do so on exit"とはこのことを指している のかな? #それ以上はトレース出来無かったけど。
129 名前:65 mailto:sage [03/05/24 17:00] >>128 CleanUpHandlers()で削除されるのはbitmapの各種フォーマットに対応する ためのhandlerで、個別のwxBitmapとは無関係かなと思いました。 void wxGDIImage::CleanUpHandlers() の直ぐ下に void wxGDIImage::InitStandardHandlers() というのが定義されていますが、 これを見るに、そんな感じです。
130 名前:の mailto:sage [03/05/24 17:58] >129 確かにそんな感じですな。new [] しても問題になるとも思えない…… そもそも、"that may be cleaned up by wxWindows"つうのはどういうこっちゃ? よりによってwxBitmapを代表例に選んでいたりするからよく解らん…… #wxButtonとかだったら、まだわかりやすいんだけど…… 取りあえずは、『オブジェクト配列は使うな』つうことですかねぇ
131 名前:デフォルトの名無しさん mailto:sage [03/05/24 18:57] ところでpython使っている人、wxpython入れると、(windowsだと)toolフォルダに XRCedっていうGUIビルダがついているのはご存知で? 他はwxDesigner,標準でついてくるらしいwxrceditかなぁ。 wxpythonではboa boa-constructor.sourceforge.net/ っていうのがあるみたい。 スクリーンショット boa-constructor.sourceforge.net/Screenshots/FrameDesign.html 見るとよさげなのでこれから遊んでみます。
132 名前:灰 ◆v/.u/aNe9w mailto:sage [03/05/25 02:55] >>125 確かにそうですね。 でも、両文併記はちょっと読みにくいかなぁと思ってたんですが 見た目をちょいちょい弄れば、自然に読めそうなことを発見します田。 んで、そうなると訳のチェックはみんなで出来るようになるから 今まで漏れが勝手にしていた作業を放棄できる。 んであれば、訳文マージ作業も自動化出来る。 簡単な構造指定文法(wikiちっくな感じかな)+スクリプトをつくーれば make all make upload で、作業完了ですお。父さん!って夢も見てみますた。 うほーい、楽ちんかもー!やふーぃ!
133 名前:灰 ◆v/.u/aNe9w mailto:sage [03/05/25 03:25] >>127 うーん、切り替えは無しでも良くないかな? ここ何日かの作業の感想からいうと、 文書の品質チェック(偉そうでスマソ)は脱糞するほどきついことがわかりますた。 一人でやるのはむりぽ。 やるのであればコミッター制度(>>90 )の導入が必要不可欠だと感じておりまふ。 それか別案があれば提出プリーズ! あと、原文リンクが必要なのは同意なので、 >>125 案+>>127 案のサンプルこさえてみますた。 dot-gray.s33.xrea.com/test/wx17.htm // サンプル デザインはアレとして、結構いける気がしまつ。 いかがでしょ?
134 名前:灰 ◆v/.u/aNe9w mailto:sage [03/05/25 03:58] >>126 > そういや、前にもあったけど、 sourceforge.jp に登録してみる? そんな気軽に利用でけるの?詳しくないのでわからんです。 プロジェクト(?)の具体的な目標、成果物を決めてからのほうがいいと思ってみたり。 個人的な目標では、wxWindows の概要・思想・方向性についての 文書の和訳の完成(not 全ドキメント)が目標だったりします。 (具体的な部分(クラスの仕様等)は、今後どんどん変わってく可能性が高いので・・・) >>128-130 メモリリーク関係のwikiDocs。 wiki.wxwindows.org/wiki.pl?Avoiding_Memory_Leaks マニュアルの件については同じ内容しか書いてないけど、 それ系の内容がまとまってるんで参考になるやも。 あと、ここ検索すっといいのが掘れそうな気がするんだけど うまい事掘り出せないっす。 埋まってないのかな?既に耕されてまふか?皆様。 lists.wxwindows.org/cgi-bin/search.cgi >>131 蛇使いなんで興味アリでつ。 漏れも(・∀・)ダウソスルー! 連続長文スマソ。
135 名前:灰 ◆v/.u/aNe9w mailto:sage [03/05/25 04:01] >>132 訂正 > んで、そうなると訳のチェックはみんなで出来るようになるから ↓ > んで、そうなると訳のチェックは読者に任せられるから あ、朝日が・・・。
136 名前:65 mailto:sage [03/05/25 06:16] >>133 ハマってますなー。 > ここ何日かの作業の感想からいうと、 > 文書の品質チェック(偉そうでスマソ)は脱糞するほどきついことがわかりますた。 > 一人でやるのはむりぽ。 > > やるのであればコミッター制度(>>90 )の導入が必要不可欠だと感じておりまふ。 > それか別案があれば提出プリーズ! とりあえずここに貼るのはどうでしょう。 > あと、原文リンクが必要なのは同意なので、 > >>125 案+>>127 案のサンプルこさえてみますた。 > dot-gray.s33.xrea.com/test/wx17.htm // サンプル > > デザインはアレとして、結構いける気がしまつ。 > いかがでしょ? おお、いいじゃないですか。見出しの原題はちょっと工夫欲しいかも。 h1,h2,h3,h4,h5,h6 span.j + span.o { size: smaller; } h1,h2,h3,h4,h5,h6 span.j + span.o:before { content: "<br> ("; } h1,h2,h3,h4,h5,h6 span.j + span.o:after { content: ")"; } とか?
137 名前:65 mailto:sage [03/05/25 06:59] ついでに>>133 の訳の改良案。 > (the basic C types) はなくても大丈夫じゃないでしょうか。 typicallyはmight beにかかりますので、 > which might be little endian (typically on Intel computers) or big endian (typically on some Unix workstations). 例えばIntel系のコンピュータではリトルエンディアンだったり、 Unixワークステーションによってはビッグエンディアンだったりする。 定義する→〜として定義される、の方が良いかと思います。 > where wxInt32 stands for a 32-bit signed integer type etc. You can also > check which architecture the program is compiled on using the > wxBYTE_ORDER define which is either wxBIG_ENDIAN or wxLITTLE_ENDIAN (in > the future maybe wxPDP_ENDIAN as well). 例えばwxInt32は32ビット符号付き整数型を表す。また、プログラムをコンパイ ルしているアーキテクチャも、wxBYTE_ORDERマクロを使って調べられる。 wxBYTE_ORDERはwxBIG_ENDIANとwxLITTLE_ENDIANのいずれかとして定義される (将来はwxPDP_ENDIANも扱えるようになるだろう)。 語尾統一。 > 説明されています。 説明されている。 訳のチェックは好みもあるし盛り下げたくないしで難しいですね。 これまでは誤訳かと思ってもwxWindowsと直接関わらないものはスルーしてました。
138 名前:tofu mailto:sage [03/05/25 09:52] 灰さん、マージやらUpやらお疲れ様です。 wx448.htm の Networking classes と wxFTPクラスの説明 wx165.htm を訳しました。 ---------------------------------- ネットワーキング クラス wxWindowsはソケットに基づいたネットワーキングのためのクラスを提供する。 wxDialUpManager ネットワーク接続のステータスチェックと接続確立機能を提供 wxIPV4address インターネット・アドレスを表現 wxSocketBase ソケット基礎オブジェクトを表現 wxSocketClient ソケット・クライアントを表現 wxSocketServer ソケット・サーバーを表現 wxSocketEvent ソケットイベント wxFTP FTPプロトコル クラス wxHTTP HTTPプロトコル クラス wxURL ユニバーサル・リソース・ロケーターを表現 ---------------------------------- wx165.htm は長いのでアプロダに。dot-gray.s33.xrea.com/cgi/source/0003.html 原文併記にしてありますが、どういう状態がマージする時に楽なんですかね。
139 名前:tofu mailto:sage [03/05/25 09:56] ところで、訳しながら、各メソッドの動きをチェックするために CUIでチマチマやってたんですよ。.NET 2003で。 で、CUIでやるには $(WXWIN)\lib\wxbase.lib が必要なんですが 追加してなくても comctl32.lib と rpcrt4.lib が追加されていれば、ビルドできちゃう。 追加していても $(WXWIN)\lib\wxmsw.lib より前にしないと駄目。 (というより、CUIではwxmsw.libは要らないっぽい) これにはまっちゃうと、ビルドできるし、他の機能は動くのに、接続だけできない。 wxbase.lib が必要なのは samples\console をみてすぐ分かったんだけど 追加する位置で思いっきりはまりました… こんなところにはまるのは僕ぐらいかもしれませんが、自分用メモを兼ねて書き。
140 名前:の mailto:sage [03/05/25 15:54] >136 65さんのサンプルを参考に、変換用のrubyスクリプトを作ってみました ……ソースに情報が無さすぎて、あんまり大したことはできていませんが…… 解る範囲でいらない段落は削除しています。 使い方は ruby <強制変換したいファイルの集まったディレクトリ> です。 強制的に書き換えを行いますので注意。
141 名前:の mailto:sage [03/05/25 15:55] #!/usr/bin/ruby -Ks rootdir = ARGV[0].gsub(/\\/, "/") Dir[rootdir+"**/*.htm"].each do |source| p source #source = ARGV[0] s = "" ref = source.gsub(/\\/, "/") ref.gsub!(/^.*html\/wx(.*)$/, 'www.wxwindows.org/manuals/2.4.0\1 ') File.open(source, "r") do |aFile| s = aFile.read.gsub(/\<[Pp]\>/, "</p>\n<p>") s.sub!(/\<\/p\>/, '') s.sub!(/\<head\>/, "<head>\n\ <meta http-equiv=\"content-type\" content=\"text/html; charset=Shift_Jis\">\n\ <meta name=\"translation-author\" content=\"\">\n\ <link rel=\"alternate\" title=\"Original (English ver.)\" href=\"" + ref+ "\">\n\ <style type=\"text/css\">\n\ p,div {\n\ margin-left:1.5em;\n\ }\n\ .o {\n\ color:#363;\n\ background-color:#f3f3f3;\n\ }\n\
142 名前:の mailto:sage [03/05/25 15:56] div.o {\n\ border:solid #aaa;\n\ border-width:0px 0px 0px 0.2em;\n\ padding-left:0.5em;\n\ }\n\ span.o {\n\ margin-left:0.5em;\n\ }\n\ div pre\n\ {\n\ margin-top: .6em;\n\ margin-bottom: .6em;\n\ margin-left: 2em;\n\ margin-right: 2em;\n\ font-family: Andale Mono, Courier New, Courier, mono, monospace;\n\ color: #550000;\n\ background: #eeeeee;\n\ }\n\ </style>\n" ) s.sub!(/ALT\=\"Next\"\>\<\/A\>/, "ALT=\"Next\"></A> <a href=\"" +ref+ "\">原文</a>") end
143 名前:の mailto:sage [03/05/25 15:56] t = false s.gsub!(/\<p\>([\S\s]+?)\<\/p\>/) {|m| paraj = m.gsub(/\<\/?p\>/, "") parao = paraj.gsub(/\<HR\>/, "") if (parao.include?("<FONT COLOR=\"#FF0000\">Derived from</FONT>")) t = true end if (paraj.include?("<HR>")) t = false end if (parao.include?("<H3>") or t) then "<p>\n<div class=\"j\">" + paraj + "</div>" else "<p>\n<div class=\"j\">" + paraj + "</div>\n<div class=\"o\">" + parao + "</div>\n</p>" end } s.gsub!(/\<pre\>([\S\s]+?)\<\/pre\>/, "</p><pre>\1</pre><p>") end File.open(source+"l", "w") do |aFile| aFile.write(s) end
144 名前:の mailto:sage [03/05/25 15:59] あ、最後間違えている…… File.open(source+"l", "w") do |aFile| aFile.write(s) end は File.open(source, "w") do |aFile| aFile.write(s) end ですね。 ……しかし、HTML文中に情報なさすぎ……<p>も閉じていないし……
145 名前:の mailto:sage [03/05/25 16:11] なお、変換後のサンプルは debilotte.net/programming/wxWindows/html/wx/wx.htm から参照してください。 #そのうち削除するけどね
146 名前:の mailto:sage [03/05/25 16:40] サンプル見ていて…… 変なことしないで、 訳したあと、原文を<div style="background: #999999"></div>で囲む ぐらいのシンプルなものの方がいいような気がしてきた…… こだわるのも大変だしね。
147 名前:灰 ◆v/.u/aNe9w mailto:sage [03/05/25 19:43] 長文スマソ。 >>137 > C type〜 らじゃー。 > which might 〜 らじゃー。 > where wxInt32 stands 〜 びみょー。 定義される には激しく同意。でも、文全体としては >>84 氏の方が良いかと。 折半案として以下の奴でいかがでしょう?(変更点 = *〜*) *例えばwxInt32は32ビット符号付き整数型を表す。* またあなたは、wxBIG_ENDIANかwxLITTLE_ENDIANの *いずれかとして定義される* (将来wxPDP_ENDIANも定義 *される* 様になるかも)wxBYTE_ORDERを使って、 プログラムがどのアーキテクチャ上でコンパイルされるかチェックすることが出来ます。 つづく。
148 名前:灰 ◆v/.u/aNe9w mailto:sage [03/05/25 19:44] >>147 続き > 語尾統一。 りじぇくとー。えへ。 語尾(文体かな?)の統一は、今はやらない方向で考えています。 (ですにゃ。とか、ですにょ。はさすがにアレだけど・・・。いや、取り込むべきか・・・?) 1.手軽さがなくなる。 2.>>36 等の大きな文書になると複数人翻訳は必然。 各訳者から、うpされるたびにチェック&修正は大変。 3.下手をすると揚足取りになってしまう。それは(・∀・)ダメー! 語尾統一するなら何かのタイミングで文書をフリーズしたとき、 パソコン君にやろそうかと考えてます。 > 訳のチェックは好みもあるし盛り下げたくないしで難しいですね。 > これまでは誤訳かと思ってもwxWindowsと直接関わらないものはスルーしてました。 出来るだけ自由にやれる様にしたいですな。
149 名前:灰 ◆v/.u/aNe9w mailto:sage [03/05/25 20:14] >>138 新規翻訳 キタ━━━━━━(゚∀゚)━━━━━━ !!!!! 乙です。 早速取り込みますでふ。 > 原文併記にしてありますが、どういう状態がマージする時に楽なんですかね。 >>132 でみた夢を追いかけて旅立ってみようかとおもってみたり。
150 名前:65 mailto:sage [03/05/25 20:30] >>147 ,148 まあ、お好きにどうぞ。 私は日本語として通したときに自然な方が好きなのでああしてみました。 最後の語尾統一はまあついでですね。さすがに同一ファイル内でばらばらなのは 見苦しいかと。
151 名前:灰 ◆v/.u/aNe9w mailto:sage [03/05/25 20:37] >>145 おお、具体例だ! やほー! >>140-144 この解析ロジック頂きます。 > ……しかし、HTML文中に情報なさすぎ……<p>も閉じていないし…… ・・・同意。
152 名前:灰 ◆v/.u/aNe9w mailto:sage [03/05/25 20:52] >>150 らじゃー。 修正してきまふ。
153 名前:灰 ◆v/.u/aNe9w mailto:sage [03/05/27 00:19] VC、mingw へのインストールと、 日本語関係の話題をスレからコピペで纏めてみますた。 あと、めぇるでwx450.htmとwx453.htmの翻訳を頂きました。 後ほどうpります。 さんくすこー! > かす氏
154 名前:デフォルトの名無しさん mailto:sage [03/05/27 02:48] win98seだとコンパイルできん
155 名前:デフォルトの名無しさん mailto:sage [03/05/27 08:41] コンパイラとそのバージョンは?
156 名前:デフォルトの名無しさん mailto:sage [03/05/27 11:03] Win98でコンパイル・・・
157 名前:デフォルトの名無しさん [03/05/27 23:52] あげよう
158 名前:灰 ◆v/.u/aNe9w [03/05/28 00:19] 某氏より、メールにてwxSizerの和訳頂戴いたしますた。 dot-gray.s33.xrea.com/docs.org/wx343.htm 乙でふ!>某氏 本家をあさってたらおもろいもの見つけますた。 tp://etpmod.phys.tue.nl/jan/janinjapan_web/ tp://etpmod.phys.tue.nl/jan/min_intl/ (gettext Japanese translation sample) ヤン氏いかしすぎ。 あと、ロードマップ・・・。Σ(゚д゚ )ペース早! www.wxwindows.org/roadmap.htm
159 名前:山崎渉 mailto:(^^) [03/05/28 12:32] ∧_∧ ピュ.ー ( ^^ ) <これからも僕を応援して下さいね(^^)。 =〔~∪ ̄ ̄〕 = ◎――◎ 山崎渉
160 名前:tofu [03/05/28 20:11] wxURLクラスの説明 wx405.htm を訳しました。 例によって灰さんのアップローダをお借りしてます。 dot-gray.s33.xrea.com/cgi/source/0004.html >>灰さん 前回訳したwxFTP wx165.htm なんですが、 wxFTP::GetInputStream の部分、以下の訂正をお願いできませんか。 wxStreamのseek機能のほとんどを利用できる。Seekはすべてのストリームで利用可能なわけではない。例えば、httpまたはftpのストリームはそれに対処しない。 ↓ あなたは、seek機能を除いて、wxStreamのほとんどの機能を利用できる。seekは全てのストリームで利用可能なのではない。例えば、httpやftpのストリームはそれを処理しない。 ご面倒おかけしますがお願いします。
161 名前:デフォルトの名無しさん [03/05/29 02:17] wxWindowsでスプライトは使えないんですか?
162 名前:デフォルトの名無しさん mailto:sage [03/05/29 03:31] 7upだけ
163 名前:デフォルトの名無しさん mailto:sage [03/05/29 04:13] >>161 使ったことがないので間違ってる可能性があるけれど たぶんwxImageクラスの SetMask SetMaskColour SetMaskFromImage あたりを使えばできると思う
164 名前:灰 ◆v/.u/aNe9w mailto:sage [03/05/29 11:32] >>160 乙です。今晩うpります。