fresh_homepieのプロフィール

@fresh_homepie fresh_homepie
ありがとう数39
質問数0
回答数61
ベストアンサー数
24
ベストアンサー率
64%
お礼率
0%

  • 登録日2012/10/27
  • DialogBox

    こんばんは 最近Windowsプログラムでツールを作ることになりまして 久しぶりにダイアログボックスを作成しようとして、いきなり躓きました;; DialogBox関数でダイアログを表示できないのですが、何か特別な処理って必要でしたっけ? 以下ソースコードです #include <windows.h> #include "resource.h" BOOL CALLBACK DialogProc(HWND, UINT, WPARAM, LPARAM); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, int nCmdShow ) { DialogBox(hInstance, MAKEINTRESOURCE("IDD_DIALOG"), NULL, (DLGPROC)DialogProc); return 0; } BOOL CALLBACK DialogProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) { switch (msg) { case WM_INITDIALOG: // ダイアログボックスが作成されたとき return TRUE; case WM_CLOSE: EndDialog(hWnd, IDOK); return TRUE; } return FALSE; } よろしくお願いします

  • 2次元vectorのerase?

    1行に4つのdouble型の値が書かれているファイルを読み込み、 iを行数として1行ずつphoton[i][0]~photon[i][3]に入れる。 photon[i][0]がある条件を満たしたらphoton[i][1]~photon[i][3]の値を photon[i-1][1]~photon[i-1][3]と photon[i+1][1]~photon[i+1][3]に 分けて加算し、photon[i][0]~photon[i][3]は消す(加算後の[i+1]が[i]に来るようにしたい)という作業をしたいのですが、消し方が良く分かりません。 やり方をご存知の方、回答お願いします。 以下のやり方では消えませんでした。vector<double>(4)のほうをeraseしてないからでしょうか。 ---------- #include <iostream> #include <fstream> #include <string> #include <list> #include <vector> using namespace std; int main(){ string str; ifstream ifs("h2o.csv"); ofstream ofs("h2o.txt"); int i = 0; double sum[3] = {0}; vector< vector<double> > photon(147, vector<double>(4)); double value[4] = {0}; for(;getline(ifs,str); i++){ sscanf(str.c_str(),"%lf,%lf,%lf,%lf", &value[0], &value[1], &value[2], &value[3]); photon[i][0] = value[0]; photon[i][1] = value[1]; photon[i][2] = value[2]; photon[i][3] = value[3]; sum[0] += value[1]; sum[1] += value[2]; sum[2] += value[3]; } for(vector< vector<double> >::iterator it = photon.begin(); it != photon.end(); it++){ if( (*it)[0] > 0.1){ cout << "delete!"; it = photon.erase(it); } cout << (*it)[0] << endl; } }

    • honor
    • 回答数2
  • プログラミングの勉強仲間をつくるには

    非技術系会社員(OL)です。 プログラミングを独習しているのですが、IT系の方との接点がゼロで、一緒に勉強したりいろいろと教えて頂ける仲間(・・・先生?)がほしいです。 いまはC++をやっています。(ロベールのC++入門講座を読み終えたところで初心者です。) いまはCの派生言語で簡単なものを書いていますがこれからC++をつかってゲームなど作りたいと思っています。 IT勉強会などもみてみたのですがC++のものはなかなか見つかりません。 平日は夜遅くなってしまうので、できれば都内で週末などの勉強会があればとおもったのですが、やっぱりプログラミングはネット上で相談したりというのが普通なのでしょうか? アドバイスおねがいします。

  • メモリアドレスについて

    こんにちは サーバをアセンブラで出力したデータを参考にして、クライアントを作っています そこで、アセンブラで出力したデータを使っても、サーバの実行時にはメモリアドレスは変わるものでしょうか もしそうであれば、今やってる事は全て無駄になってしまいます よろしくお願いします

    • noname#192849
    • 回答数5
  • ビルドから除外されたソースのコンパイル

    現在、Visual Studioを使用してある巨大なプロジェクトを開発しています。言語は C++です。 このプロジェクトには、ソースファイル(*.cpp)が全部で1000以上もありま す。百ではありません、千です。 そのため、プロジェクトをビルドするのに30分以上もかかり、開発効率が非常に悪 くなっています。 コンパイル・リンクとも相当の時間がかかっています。実感としては、cpp1ファイ ルにつきコンパイル1秒かかっています。 (なぜそんなに大量のcppが必要なのかというのはここでは置いといてください) そこで、次のような方法でビルド時間を短縮する方法を考案しました。 (1)ある一定数のソースファイルのプロパティで「ビルドから除外」とする。 (2) (1)でビルドから除外したソースファイルを全てインクルードしたソース ファイルを作成し、プロジェクトに追加する。 [1つにまとめたソースファイルのイメージ] #include "src001.cpp" #include "src002.cpp" #include "src003.cpp" ・・・ #include "src999.cpp" ソースファイルを1つにまとめてしまう事による弊害は全て解決したものとします。 以上により、プロジェクト内のソースファイル数を100以下にまで減らし、無事ビ ルド時間が大幅に短縮されました。 と、ここまでは良かったのですが、一つ問題があります。 それは、「ビルドから除外」したソースファイルを単独でコンパイル出来なくなって しまうのです。(ここでは、そういうことをしたいという要望があると思ってくださ い) ソリューションエクスプローラでソースファイルを右クリックし、出てくるメニュー リストの「コンパイル」が無効表示され選択できません。 もちろん、コンパイルコマンド(cl.exe)をコマンドラインから直接叩いてやればい くらでも出来ますが、出来ればIDEから簡単な操作で行いたいのです。 また、チームで開発しているため、コンパイルする時だけソースファイルの設定を変 更するというようなことはしたくないのです。 この問題に対して、何か良い手段はないでしょうか? プロジェクトを複数モジュールに分離して・・・ とか、 プリコンパイル済みヘッダを利用して・・・ とか、 リビルド時間を短縮するためソース間の依存関係を減らして・・・ というような、質問の内容を超える回答はご遠慮ください。 そのようなことは、十分ではないかも知れませんが検討済みです。