[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 12/05 01:38 / Filesize : 262 KB / Number-of Response : 969
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【GUI】wxWidgets(旧wxWindows) その3【サイザー】



1 名前:デフォルトの名無しさん mailto:sage [2006/09/09(土) 00:06:30 ]
クロスプラットフォーム GUI ライブラリの wxWidgets (旧 wxWindows)について語りましょう。

本家
 www.wxwidgets.org/
wxWindows日本語プロジェクト
 wxwindowsjp.sourceforge.jp/
Let's wxWidgets
dot-gray.s33.xrea.com/
(*)準備中(*)
www.geocities.co.jp/SiliconValley-Cupertino/8526/
wxWindowsで始めるC++ GUIプログラミング
www.h3.dion.ne.jp/~k5_n/wxwin/
wxWidgets でクロスプラットフォーム GUIアプリを作ろう
namazu.org/~satoru/pub/uu-2004-08/
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

558 名前:デフォルトの名無しさん mailto:sage [2008/01/20(日) 23:45:50 ]
このスレで前に似たような質問があったのですが・・
どうしても解決しないので質問させてください。

環境はWindow XP Home MinGW です。
Eclipse CDT からMinGW を使って普通のcppファイルのコンパイル自体はできる状況です。

自分もここ
0xcc.net/pub/uu-2004-08/
を見て色々設定したのですが、wxGladeを使って生成したhello.cppをコンパイルしようとするとエラーが出ます。
このページではwxWigdetsのバージョンは2.5.2が扱われていますが、なぜか自分の環境で2.5.2をインストールしようとすると./configure --disable-shared --disable-threads →make の時点でエラーが出るので
ver2.8.7を./configure --disable-shared --disable-threads →make して、make install もしました。
この状態でwxGladeで生成したhello.cppを上記ページで書かれているように
g++ -c hello.cpp `wx-config --cppflags`
すると、
g++: 'wx-config: No such file or directory
cc1plus.exe: error: unrecognize command line option "-fcppflags'"
というエラーが出てしまいます。
`wx-config --cxx` -o hoge.exe hoge.cpp `wx-config --cflags --libs`
とすると、
''wx-config' は内部コマンド外部コマンド、
操作可能なプログラムまたはバッチファイルとして認識されていません。
というエラーになります。。

どうすればよいのでしょうか??どなたかご教示頂けると幸いです。

559 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 03:02:40 ]
あなたそりゃUNIXのシェルを前提としてる操作をWindowsのコマンドプロンプトで
やってもダメでしょうよ。

560 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 11:12:14 ]
wx-configはコンパイルオプションを吐くシェルスクリプト
MSYSを導入して、rxvt上で実行しろ

561 名前:デフォルトの名無しさん [2008/01/21(月) 11:16:12 ]
回答ありがとうございます。
0xcc.net/pub/uu-2004-08/
ここの、Windowsにインストールする場合の説明のところを見てやったのですが・・
あと558の
wx-config --cxx` -o hoge.exe hoge.cpp `wx-config --cflags --libs`
wx-config --cxx` -o hello.exe hello.cpp `wx-config --cflags --libs`
の間違いでした。

562 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 11:33:27 ]
>560 さん
回答ありがとうございます。MSYSは入ってます。
MSYSを導入して、rxvt上で実行 というのは、C:\MSYS\1.0\bin\rxvt.exe を立ち上げて
そこからg++ 〜 でコンパイルしろってことでいいんでしょうか。
家帰ったら試してみます。ありがとうございます。


563 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 12:20:12 ]
コンパイル云々の前に、そのまま素で
$ wx-config --cflags
とでも打ってみるんだな
どんな効果がでるか一発で分かる

564 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 13:05:17 ]
''wx-config' は内部コマンド外部コマンド、
操作可能なプログラムまたはバッチファイルとして認識されていません。
というエラーになります。。

565 名前:デフォルトの名無しさん mailto:sage [2008/01/21(月) 13:17:20 ]
いや、だから、wxWidgets はユニックス系なので、
windows のコマンドラインじゃなくて
ユニックス系の shell でやらなきゃ ...

566 名前:558 mailto:sage [2008/01/21(月) 14:00:43 ]
>565さん
564は自分じゃないですよ。
多分あまりにも基本的な部分で間違ってるので他の方に茶化されたのだと・・

でも
> wxWidgets はユニックス系なので、
> windows のコマンドラインじゃなくて
> ユニックス系の shell でやらなきゃ ...
ここらへんわかってなかったのでご指摘いただけてラッキーでした。
ありがとうございます。

シェルの勉強等まだ手をつけておらずほぼ全く分からないもので・・
初心者質問ばかりしてすいません >564さん

>563さん
ありがとうございます。帰ったら試してみます。



567 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 00:24:02 ]
初心者なら、まずLinuxなりFreeBSDなりでやった方がいいよ。
Windowsでやるよりはるかに簡単だから。ネットの情報もほとんどUNIX系だし。

一旦それでやってればWindowsでもすぐできるようになると思う。
UNIX系の情報を見ながらWindowsで一発でやるには両方の知識が必要。

568 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 02:55:34 ]
実行ファイルににxrcを組み込むか、それと同等の事って出来ないでしょうか?
xrcの存在意義を無視してるのは分かるのですが、
ソースは簡潔&実行時にはファイル一つ、にどうしてもしたくて..

569 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 05:10:43 ]
ファイルひとつにこだわるならアーカイブ白と

570 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 05:32:32 ]
>>568
xrcのデータを実行ファイルに持たせることなら普通に出来る。ドキュメント読め。

571 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 17:11:00 ]
558です。
ご指摘されたとおりrxvt上からg++ 〜でやってみたのですが
wx/wx.h No such file or directory
などその他たくさんエラーが出てしまいました。

wx-config --cxx` -o hello.exe hello.cpp `wx-config --cflags --libs`
では wx-config-cxx commnad not found と言われてしまいました。

>567さん
Linuxでやる方が簡単なんですか。。
一度VMwareにUbuntu入れてやろうと思ったのですが重くてやめてしまってました。
Linuxの方が簡単なのであればそっちでやってみることにします。
ありがとうございました。

572 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 17:22:09 ]
簡単にGUIアプリが作りたいだけなら、wxPython でやってみるって手もある。

573 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 18:38:29 ]
>>568に便乗質問なのですが、
xrcでフォームの位置やサイズをアプリケーション終了時に保存することはできますか?

574 名前:デフォルトの名無しさん mailto:sage [2008/01/22(火) 23:05:56 ]
>>570
出来ました。ありがとうございます

575 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 00:04:51 ]
>>571
もうちっとコマンドラインとか、パスとか、そういうことを勉強したほうがいいと思うな ...

576 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 01:05:42 ]
>>572
そういえばマイナー同士の組み合わせの割には、wxPythonの日本語情報って
ググると意外に出てくるね。



577 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 02:08:03 ]
最近のが多いから
はじめたばかりの君は恵まれている
昔は見つからなかった

578 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 02:15:24 ]
なるほど。ということは、ちょっと前に「情報が少なかったのに頑張った」
猛者たちがあらわれたってことか。感謝感謝。

579 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 05:26:51 ]
っつーかwxHogehogeの中で一番楽なのがwxPythonな気がする

580 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 08:53:58 ]
今pythonがアツいってのもあるね
wxに限らずPyGTKやらPyQtやらで作られたアプリが増殖中

581 名前:デフォルトの名無しさん mailto:sage [2008/01/23(水) 09:11:20 ]
wxPythonについて概ねまとまってて勉強になったサイト
自信たっぷりの間違いがいくつかあるので注意
ttp://www.harukaze.net/~haruka/wxpython/


582 名前:デフォルトの名無しさん [2008/01/29(火) 18:06:45 ]
アプリケーションのトップのエラーハンドラって書けますか?

C++ Builder/VCL だと、
>void __fastcall TForm1::ApplicationEvents1Exception(TObject *Sender, Exception *E)
みたいな感じで書くんですが。


583 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 19:13:42 ]
C++標準の例外じゃダメなの?

584 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 19:22:52 ]
いや、それで良いのです。throw するのはC++の例外。
アプリの一箇所、一括でcatchしたいだけですが、どう書けば良いでしょう?

585 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 23:17:40 ]
int main()
{
try {
// main routine
}
catch(...) {
// error handling
}
}

586 名前:デフォルトの名無しさん mailto:sage [2008/01/29(火) 23:40:34 ]
wxApp使った場合って、mainが隠蔽されてるんだっけ?
とするとwxApp::OnFatalExceptionとかがそうなのかなぁ。
ttp://wxwindowsjp.sourceforge.jp/docs/html/wx/wx30.htm#wxapponfatalexception



587 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 01:38:35 ]
Ver2.8.6使ってるけど、
wxApp::OnUnhandledExceptionのドキュメント見ると、
OnRunをオーバーライドしてそこでキャッチしろって書いてるよ。

int MyApp::OnRun()
{
 try{
  return wxApp::OnRun();
 }
 catch(std::exception &e){
  ...
 }
}

588 名前:582 mailto:sage [2008/01/30(水) 08:41:31 ]
>>585 >>586 >>587 etc.
回答サンクス。

やっぱ質問してヨカタ。

589 名前:582 [2008/01/30(水) 10:36:01 ]
ヘルプの内容(>>587)確認しました。

OnRunオーバーライドして、エラーはcatchはされるんですが、catchの前にエラーが出てしまうのは何ででしょう。

590 名前:582 [2008/01/30(水) 10:39:12 ]
OnExceptionInMainLoop()をオーバーライドして、return trueしたところ、無問題になりました。
有難うございました。

591 名前:582 mailto:sage [2008/01/30(水) 10:44:40 ]
あれ?例外が補足されなくなちゃったorz

592 名前:587 mailto:sage [2008/01/30(水) 11:20:47 ]
bool MyApp::OnOnExceptionInMainLoop() { throw; }
でMyApp::OnRun()のcatchに直通できた。
wxのエラーダイアログの中止ボタン押したときの処理もこうだから、
たぶんこれで問題ないと思う。

593 名前:582 mailto:sage [2008/01/30(水) 11:28:06 ]
>>592
あ、本当ですね。上手くいきました。

594 名前:582 mailto:sage [2008/01/30(水) 11:51:30 ]
Winでは上手くいったのですが、
wxMac-2.8.7では、MyApp::OnOnExceptionInMainLoop()がコールされずに、
>シグナル 6(SIGABRT)により終了しました。
で終わってしまうのは何ででしょう?

throw を丸々囲んだら、ちゃんとcatchされますので、C++例外オフの問題じゃないみたいです。
念の為configureを調べても、
>checking for --enable-no_rtti... no
>checking for --enable-no_exceptions... no
です。


595 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 12:07:13 ]
サンプルみつけました:

wxWidgets/samples/except
cvs.wxwidgets.org/viewcvs.cgi/wxWidgets/samples/except/
cvs.wxwidgets.org/viewcvs.cgi/wxWidgets/samples/except/except.cpp?rev=1.13&content-type=text/vnd.viewcvs-markup

596 名前:582 mailto:sage [2008/01/30(水) 13:25:38 ]
あれー、
>wxMac-2.8.7\samples\except
で、
コンソールからmakeしましたが、
アプリでThrowメニュー(int/string/object)を実行すると、アプリがエラーで吹っ飛びます。

どうも、wxMacのバグですね。
当面は、実行メニューをそれぞれtry-catchで囲んでおきます。
開発中にcatch内容が変わったりすると、メンドイですね。



597 名前:デフォルトの名無しさん mailto:sage [2008/01/30(水) 15:29:47 ]
www.wxwidgets.org/docs/technote/patches.htm

598 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 16:16:31 ]
すいません質問させて頂きたいのですが、
0xcc.net/pub/uu-2004-08/
このページ見てwxGladeでc++のコードを生成しようと思って、プレビューまでは普通に出来たのですが、Generate Codeボタンを押すと

An exception occurred while generating the code for the application.
This is the error message associated with it:
'ascii' codec can't encode characters in position 28-33: ordinal not in range(128)

こんなエラーが出てコードが生成できません。どうすればいいでしょうか?

環境は
Ubuntu7.1.0
libwxbase 2.8.4.0
libwxgtk 2.8.4.0
python-wxglade 0.5
python-wxgtk 2.8.4.0
python-wxtools 2.8.4.0
python-wxversion2.8.4.0
です。

どなたかアドバイス頂けると幸いです。。


599 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 17:14:43 ]
対症療法だが日本語使うのをやめろ

600 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 22:16:10 ]
てかエラーメッセージ読めよ…

601 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:01:50 ]
レスありがとうございます。

エラーメッセージ読んでますが読んで意味が分からなかったので質問させて頂きました。
エラーメッセージで検索したりもしてみたんですが関係ありそうなのが出てこなかったので・・

日本語ですか。特に使ってないと思うのですが・・


602 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:02:14 ]
レスありがとうございます。

エラーメッセージ読んでますが読んで意味が分からなかったので質問させて頂きました。
エラーメッセージで検索したりもしてみたんですが関係ありそうなのが出てこなかったので・・

日本語ですか。特に使ってないと思うのですが・・


603 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:17:53 ]
英語が読めないならば、エラーメッセージを英日翻訳ソフトに入れると良いかもよ。
ascii文字以外が入っているかもう一度確認して見てください。
ascii文字の意味はわかりますか?


604 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:44:01 ]
親切にありがとうございます。
いえ、英語は分かるのでエラーメッセージの翻訳はできるんですが、それでも意味が分からないということなんです。
ASCII文字は分かります。
「ascii文字以外が入っているか」っていうのは、どこを確認すればいいのでしょう??

605 名前:デフォルトの名無しさん mailto:sage [2008/01/31(木) 23:56:32 ]
インターフェースに日本語つかってるということなんじゃないの?
アルファベットだけつかったつもりでも、
まちがって全角スペースが入るということもあります

606 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:03:41 ]
>>602
直接的な答えじゃなくて申し訳ないけど、俺がやるなら:

・エラーメッセージを出力している部分の wxGlade のソースコードを読む
・エラーが出なくなるまでウィジェットを減らしてみる



607 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 00:11:46 ]
ソースファイルを1バイトずつ読み込んで値が全部0以上127以下になってるか調べればいいと思うよ

608 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 01:42:06 ]
解決しました。
単純にコードを吐き出すパスに「デスクトップ」が入っていただけでした・・汗
回答くださった方々ありがとうございましたm(_ _)m

609 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 03:11:59 ]
これはずっこけざるを得ない. まぁありがちだとは思うが.
ubuntu-jpも余計なことしてくれるよな. 'デスクトップ'は英語名に直しとき.

610 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 04:05:20 ]
デスクトップで作業してんじゃねーよ、カス


611 名前:デフォルトの名無しさん mailto:sage [2008/02/01(金) 09:53:13 ]
まあ、トラブルの原因のほとんどは「単純」なミスだよね

612 名前:デフォルトの名無しさん mailto:sage [2008/02/02(土) 17:49:53 ]
fedora8のwxwidgets(2.8.4)で
wxDirPickerCtrlで起動後初回の選択のみ反応しないのですが,
(GetPathに反映されず,ハンドラも呼ばれない)
同じような症状の方いませんでしょうか?
使い方でミスをしてるのか,バグなのか分からなくて困ってます.

613 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 02:36:57 ]
今ようやくHello,worldが作れたんだけれど、66KBだった。
4MBぐらいになるってどこかに書いてあったのだけれど。


614 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 03:13:40 ]
静的リンクだとMBになるよ

615 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 03:22:02 ]
てことは、静的リンクになってなかったってことですよね。
特別なにもしてないと静的リンクにならないんでしょうか。

ところで、Linuxだと

g++ -c hello.cpp `wx-config --cppflags`
g++ -o hello hello.o `wx-config --libs`

で普通にコンパイルできたんですが、
Windows Home でやろうとすると

g++ -c hello.cpp `wx-config --cppflags`

wx-config -cppflags: No such file or directory
と言われる、けど、hello.oは生成される。

そして
g++ -o hello hello.o `wx-config --libs`
でも同じように
wx-config --libs: No such file or directory
と言われるけど、今度は何も生成してくれない。

のはなんででしょう。。

616 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 03:26:45 ]
>>615
>特別なにもしてないと静的リンクにならないんでしょうか。

つ ldd



617 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 03:52:29 ]
>>615
>>558-563

618 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 04:42:37 ]
スレ違い
C初心者スレ池


619 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 04:58:13 ]
>>615
>今度は何も生成してくれない。
>のはなんででしょう。。

太陽が眩しかったから

620 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 09:23:53 ]
Linux が素人にも使いやすくなって、Windows のコマンドラインと
Unix のシェルの違いもわからないひとが GUI プログラムを
コンパイルできるようになったというのは良いことなのやら悪いことなのやら ...

621 名前:デフォルトの名無しさん mailto:sage [2008/02/03(日) 10:04:57 ]
ただの馬鹿なのが問題なんだ。
たとえ素人でも疑問を追及する意思があれば間抜けな質問を垂れ流したりはしない。


622 名前:デフォルトの名無しさん [2008/02/03(日) 17:02:57 ]
>>612について情報をお持ちの方は居ませんでしょうか…

623 名前:デフォルトの名無しさん mailto:sage [2008/02/09(土) 00:36:25 ]
みんなemacs(Meadow)上でwxWidget使ったコード書くとき、modeどうしてる・・・?
通常のc++-mode設定だとインデント壊れて気持ち悪いよね?
(sample/minimal/minimal.cppに対してindent-regionすると120行目のMyApp::OnInit()が1インデント下がる)

ttp://www.wxwidgets.org/develop/standard.htm#indentation とかの設定もみたけど、
wxWidgetのマクロによるインデントずれの問題は解決してないように見えるんだが・・・


624 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 02:46:40 ]
すいません、お聞きしたいのですが、
ボタンが押されたらアプリを終了するようにしようと思い、

class MyFrame: public wxFrame {

protected:
wxButton* button_1;
}; // wxGlade: end class

BEGIN_EVENT_TABLE(MyFrame, wxFrame)
EVT_BUTTON(button_1, MyFrame::OnExit)
END_EVENT_TABLE()

void MyFrame::OnExit(wxCommandEvent& WXUNUSED(event))
{
Close(TRUE);
}

みたいに書いてみたのですが、(はしょりまくってます)
コンパイルしようとすると
hello2.h:31: error: invalid use of non-static data member ‘MyFrame::button_1’
hello2.cpp:13: error: from this location
のようなエラーが出ます。

どこがおかしいでしょうか??
初心者質問ですいません。

625 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 08:14:57 ]
普段Windows使ってるのでよく分かんないんですが、EVT_BUTTONの後に
指定するのは変数名ではなくて、多分wxButtonをnewする際に指定する
コマンドID(wxID_EXITとか)かも…。
EVT_BUTTON(wxID_OK, MyFrame::OnExit)

MyFrame::MyFrame(...)
  button_1 = new wxButton(this, wxID_EXIT, wxT(“OK”),
wxPoint(200, 200));
  :

626 名前:625 mailto:sage [2008/02/10(日) 08:16:38 ]
orz…
EVT_BUTTON(wxID_OK, MyFrame::OnExit)

EVT_BUTTON(wxID_EXIT, MyFrame::OnExit)



627 名前:デフォルトの名無しさん mailto:sage [2008/02/10(日) 13:07:31 ]
>>623
おれはDECLARE_EVENT_TABLE()とかの後ろにセミコロンを置いてる。

628 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 09:52:51 ]
wxWigetsのiniファイル読み書き専用関数とかあるんでしょうか?


629 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 13:20:18 ]
>>628
wxwindowsjp.sourceforge.jp/html/2.8.4/wx_wxfileconfig.html

630 名前:628 mailto:sage [2008/02/12(火) 13:24:31 ]
サンクス。やっぱこういうのが標準であると便利ですよね。

631 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 18:16:41 ]
wxWigetsのStringListはありますか?

632 名前:デフォルトの名無しさん mailto:sage [2008/02/12(火) 19:43:35 ]
>>631
つ wxArrayString

633 名前:631 mailto:sage [2008/02/13(水) 09:46:38 ]
有難うございます。

wxArrayString.Text (Itemを改行コードを挟みながら連結)みたいなメソッドは無いんですね。
自作するしか無いか。


関係ないけど、やっぱ改行コードってC++のendlを使いますよね?
まさか、wxWidgetsで、CRとかLFをラップしてくれてたりしないですよね?

出来れば、wxWidgetsが改行コードのグローバル変数を持ってて、
初期処理でどのプラットフォームでもCRLFで初期化してやろうかと思ったのですが。

634 名前:631 mailto:sage [2008/02/13(水) 09:50:17 ]
>関係ないけど、やっぱ改行コードってC++のendlを使いますよね?

wxWidgetsのヘルプ読んでると、
>std:string互換関数の利用が強く推奨される!
>そして遅かれ早かれstd::stringを使い始めるであろうwxWidgetsの将来のバージョンとの互換性を保つ.
とあるから、
wxStringより、std::string推奨なんですね。

文字列についてはC++の標準を使えって意味は分かるけど、std::stringって機能が弱いおね。

635 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 10:57:42 ]
>>634
>std::stringって機能が弱いおね。
たとえばどんな?

636 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 11:00:08 ]
std::stringだと、

string str1;
str1 = "a" + (string)"b";
みたいに書けないことない?(自分の勉強不足かも)

それとか、UpperCaseが無いわけじゃないけど、書きにくかったりとか。



637 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 11:11:28 ]
string std::operator+(const char *lh, const string &rh);
は標準で入ってたと思う。

638 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 11:18:50 ]
あ、+ 演算子は実装されてますか。

gccでエラーだったんですが。(勘違いかも)

639 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 11:47:01 ]
MinGW gcc3.4.5では大丈夫だね。

640 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 16:26:50 ]
STLって、MemoryStreamみたいな可変バイト列ってありましたっけ?

vector char とかするのかなぁ?

(ちょっとスレチ)

641 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 16:41:34 ]
stringstream

642 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 16:48:22 ]
>>641

どうも。それ使います。insertメソッドとかもありますね。
NULLで切れないと信じて。

643 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 18:30:57 ]
>string str1;
>str1 = "a" + "b";
は書けます。

>str1 += "a" + "b";
は書けないんですね。

ちょっと不便。

644 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 19:04:47 ]
全然

645 名前:デフォルトの名無しさん [2008/02/13(水) 20:10:56 ]
べつに

646 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 20:38:05 ]
str += "a";
str += "b";
は出来るだろ。
ていうかC++スレでやるべきだと思うんだ・・・。



647 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 21:58:27 ]
ま、C++だしな。
そのへん楽したかったら、
wxPython
wxErlang
wxHaskell
wxLua
wxPerl
wxRuby
wxSqueak
wx4j
wxJavaScript
あたり使ったらいんじゃね?

648 名前:デフォルトの名無しさん mailto:sage [2008/02/13(水) 22:16:15 ]
C/C++は
"a" "b"
って書いたら
"ab"
って書いたのと同じだけどな。
リテラルだけだが。

649 名前:デフォルトの名無しさん mailto:sage [2008/02/14(木) 10:58:06 ]
> wx4j

へえー、4j ってプログラミング言語があったのか・・と思った
ググって見ると、・・このスレのテンプレにすでに書いてあった・・

650 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 17:55:06 ]
1、プロセスを跨いだ書き込みができるコンソールクラスはありますか?
 (wxで無くともポータブルなら何でもかまいません)

2、↑を押すと以前選択された文字列が出てきたり、
  選択可能な文字列群を設定すればtabキーで勝手に補完してくれる
  なんちゃってシェルのようなクラスはありませんか?

よろしくお願いします。

651 名前:デフォルトの名無しさん mailto:sage [2008/02/15(金) 20:59:46 ]
2番目はreadlineじゃ駄目なのか?

652 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 00:34:08 ]
>>651
readlineってこういう事に使うライブラリなのですか。
初めて知りました^^

これで全然問題ないです。
どうもありがとうございました。

653 名前:624 [2008/02/16(土) 00:48:57 ]
>>625 さん
返信めちゃくちゃ遅れてすいません。
ご指摘された通り直したら意図した通りに動きました。
ありがとうございましたm(_ _)m

654 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 01:22:37 ]
>>652
readline はガチガチの GPL なので、代わりにより自由な libedit をお勧めする

sourceforge.net/projects/libedit/

655 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 09:51:47 ]
>>654
自分も探しましたよ。ストールマンの呪縛から逃れるために^^

そこのlibeditの最終リリースが2001年8月だったので
何じゃコリャと思ってしまったのですが、
Googleで探してみるとちゃんと新しいのもあるみたいですね。
ただ、マルチバイトが使えない&直すのは難しくないが「需要がない」
という内容のMLを見たときは少しびっくりしました。

656 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 12:28:10 ]
たしかにコンソールで日本語打ちたいと思うケースはあまりない




657 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 13:05:57 ]
> cd C:¥デスクトップ¥夏休みの宿題¥プロジェクト1¥宇宙シミュレータ
> bigbang.exe 初期値1.xls > 結果1.xls

658 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 13:46:08 ]
後々ターミナルからアクセスすることを考えると日本語ファイル名は打つのめんどくさいから付けない






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<262KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef