プログラミングのギモン その62

        Q大至急! Microsoft Visual Studio 10.0を使用しています。C言語でウィンドウにボタンを付けてそのボタンにクリックのイベントを付けてつくりました。 ですが、たったそれだけっだたら意味の無いボタンになってしまうので、ボタンをクリックしたらメッセージボックスが表示させる、イベントを作りたいです。それのプログラミング(ソースコード)を誰か詳しく教えてもらえませんか?
        BA> Microsoft Visual Studio 10.0を使用しています。 Microsoft Visual Studio 2010 のことでしょうか?> C言語でウィンドウにボタンを付けてWin32 API でウィンドウプログラミングをしているわけですね。> ボタンをクリックしたらメッセージボックスが表示させる、イベントを作りたいです。「メッセージボックスが表示させる、イベント」というものはなく「メッセージボックスが表示させる」のはイベントを捕らえて表示ですよね?Win32 プロジェクトをデフォルトで(空のアプリケーションにチェックしない意味)作成した場合の code に追加した例を提示しますね。以下の code で // ★ が追加行です。LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){ int wmId, wmEvent; PAINTSTRUCT ps; HDC hdc; enum { IDC_BUTTON = 50, BTN_LEFT = 30, BTN_TOP = 20, BTN_WIDTH = 100, BTN_HEIGHT = 40 }; // ★ static HWND hButton = NULL; // ★ switch (message) { case WM_CREATE: // ★ if (!hButton) { // ★ hButton = CreateWindow(L"button", L"", WS_CHILD | WS_VISIBLE, // ★ BTN_LEFT, BTN_TOP, BTN_WIDTH, BTN_HEIGHT, // ★ hWnd, (HMENU) IDC_BUTTON, hInst, NULL); // ★ } // ★ break; // ★ case WM_COMMAND: wmId = LOWORD(wParam); wmEvent = HIWORD(wParam); // 選択されたメニューの解析: switch (wmId) { case IDC_BUTTON: // ★ MessageBox(hWnd, L"Hoge", L"BUTTON", MB_OK); // ★ break; // ★ case IDM_ABOUT: DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); break; case IDM_EXIT: DestroyWindow(hButton); // ★ hButton = NULL; // ★ DestroyWindow(hWnd); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } break; case WM_PAINT: hdc = BeginPaint(hWnd, &ps); // TODO: 描画コードをここに追加してください... EndPaint(hWnd, &ps); break; case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, message, wParam, lParam); } return 0;}
        QプログラミングJAVAの問題です。【問題】2つの乱数の足し算の計算をクイズとして出したい。また、自分の持ち点(100点)から、間違った回数だけ5点ずつ引いていく。このとき、以下の【実行結果】が出力されるようなプログラムを作成せよ。【実行結果】12+3=99違います。正しい答えを入力してください!!12+3=0違います。正しい答えを入力してください!!12+3=15正解です。あなたの点数は90点です!!ーーーーーーーーーーーーーーーーーーーーーという問題なのですが、“正解です。”が出力されません。何がいけないのでしょうか? public static void main(String[] args) { Random rand = new Random(); Scanner stdIn = new Scanner(System.in); int a = rand.nextInt(100); int b = rand.nextInt(100); System.out.println("次の計算をしなさい。"); System.out.print(+ a + "+" + b + "="); int x = stdIn.nextInt(); int y=100; do { System.out.println("違います。正しい答えを入力してください!!"); System.out.print(+ a + "+" + b + "="); x = stdIn.nextInt(); y = y - 5; } while(x!=(a+b)); System.out.println("正解ですー!"); System.out.println("あなたの点数は"+y+"です!"); }
        BA実装例です。import java.util.Random;import java.util.Scanner;public class Sample { public static void main(String[] args) { Random rand = new Random(); Scanner stdIn = new Scanner(System.in); int a = rand.nextInt(100); int b = rand.nextInt(100); int n, score = 100; while (true) { System.out.print(a + "+" + b + "="); n = stdIn.nextInt(); if (n == a + b) { System.out.println("正解です。"); break; } else { System.out.println("違います。正しい答えを入力してください!!"); score -= 5; } } System.out.println("あなたの点数は" + score + "です!!"); }}
        QYahoo!japan 知恵掲示板作成にあたり、使用されている言語は何でしょうか?考えられる言語はなんでしょうか! ⇒ PHP? 連鎖系なので、オブジェ指向プログラミング⇒Microsoft Visual Studioみたいな、システム的な、データべースが構築できる開発用ソフトがいるのでしょか? 宜しくお願いします。
        BA連鎖系の意味がわかりませんが、URLに「.php」が含まれているので、少なくともフロントエンド部分にphpは使われていそうですね。あまり関係ありませんが、Yahoo運営に必要と目されているサーバ台数についての話題です。http://q.hatena.ne.jp/1322030181アプリケーション部分に関してはphpでしょうが、DB・負荷分散等、いくつもの技術が含まれていると思います。
        QVisual Basic のプログラミングに詳しい方、御回答お願い致します。GUIを作成中です。VB初心者です。書き出したテキストファイルが文字化けしてしまい、その解決法がよく分からないので質問させて頂きます。 Imports System.IOPublic Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Me.Close() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim pDia As Double Dim msg1 As String pDia = pDiameter.Value msg1 = pDia & vbCrLf My.Computer.FileSystem.WriteAllText("C:\data\ParticleDiameter.txt", msg1, False) 上のプログラムで書き出されたテキストファイルが他のプログラムに読み込まれると、文字化けしているようです。文字を指定する為、ASCIIEncodingを上のプログラムに書き足したいのですが、どのように組み込めばよろしいでしょうか?お願い致します。
        BAWriteAllTextのAPI仕様です。http://msdn.microsoft.com/ja-jp/library/27t17sxs(v=vs.80).aspx第4引数にこれを設定すればできないでしょうか。System.Text.Encoding.GetEncoding("us-ascii")といいますか、一般的に使われている文字コードはUTF-8なので、書き込みも読込みもUTF-8が良いと思います。(WriteAllTextの第4引数に設定しない場合はUTF-8が設定されます)
        QJavaの抽象クラスの問題についてこういったことは自分で考えてなんぼのことですがいくら考えてもとけないので教えてくださいQ: 人間.javaで記述されたクラスを抽象化して抽象クラスを作成し、その抽象クラスを継承し、人間.javaと同じ役割となるようなサブクラスを作成せよ。クラス名は、抽象クラスをAbstractHumanとし、サブクラスをHuman とすること。また、mainメソッド内で、このサブクラスをインスタンス化して動作を確認せよ。という問題です。その人間.javaですがpublic class 人間 { private String 名前; private double 身長; public 人間() { } public 人間(String 名前) { this.名前 = 名前; } public void 自己紹介する() { System.out.println("私の名前は" + 名前 + "です。身長は" + 身長 + "cmです。"); } public double get身長() { return 身長; } public void set身長(double 身長) { this.身長 = 身長; } public String get名前() { return 名前; }}になります。まずこの問題で言っている意味も分かりませんし動作を確認せよとかそんなレベルにもなれません・・・自分はプログラミングが向いていないと実感させられますすみませんがすべての答えを教えてくださいとは言いません。ヒントだったり参考にできるサイトなどあったら教えてくださいなんとかヒントありでも自分で解き切ってみたいので・・・
        BAオブジェクト指向というのは難しい物ですよね。私も最初は苦労しました。何せC言語から入ったので、オブジェクト指向、つまり抽象的な概念を扱うプログラムには不慣れでした。では、答えという訳ではありませんが、ほとんど答えになるはずの回答をします。まず、抽象化というのは、public class AbstractHuman{// 一部省略します。private int mHeight; // 身長private String mName; // 名前public AbstractHuman( int height, String name ){ mHeight = height; mName = name;}}というのがあるとして、まだ、具体的な内容が決まっていない人間と思って下さい。この人間はまだ未完成の人間です。その人間を完成させましょう。publi class Human extends AbstractHuman{ public Human() { // 抽象Humanクラスのメンバ変数にデータを渡す。 super( 172, "Yamada" ); }}ここで、extends AbstractHumanをすることで、未完成の人間を「継承」します。そして、継承した後、この未完成の人間にデータを与える必要があります。それがsuper( 172, "Yamada" )のことです。superでAbstractHumanのコンストラクタを呼んでます。これで、未完成の人間は人間になりました。172cmの身長で、名前は山田です。main関数で{AbstractHuman human = new Human();human.introduce();これをすると、自己紹介してくれますよ。}例えば、クローン人間だって作れます。public class CloneHuman extends AbstractHuman{};これで上で書いたように、適当に名前とか付けてあげるといいかもしれませんね。こんな説明で大丈夫でしょうか?もし分からなかったら、また聞いて下さい。メールとかだと助かります。ここだと書くのがしんどいですからね。頑張ってください。----補足について。AbstractHumanクラスに記載すれば大丈夫ですよ!

            Copyright (C)2012プログラミングのアドバイス.All rights reserved.