redfox63 の回答履歴

全3318件中181~200件表示
  •  namespace定義の使い方

     こんにちは。 C++を勉強しています。 今回は、namespace宣言して使いたいのですが、ヘッダー内でnamespace宣言をすると重複してしまいます。namespaceで定義したものを他のファイルでも使いたい場合はどうすればいいでしょうか? よろしくお願いします。

  • VC++2003でSDIのMFCアプリ作成中です。

    アイコン上にファイルをドロップし、ファイルをオープンする動作を実装し、 正常系は動作確認できました。 しかし、ファイルに読み込み制限などをかけていた場合、こちらのエラー処理に入る前に Windows内部エラー処理に入ってしまうようで、「○○へのアクセスは拒否されました」と ダイアログが表示されます。 デバッグで見て云ったところ、ProcessShellCommand(cmdInfo)の内部でエラーが発生し、 強制的におちているようですが、具体的にどこのクラス、メソッドでエラーを受け取って いるのでしょうか? オーバーライドしてエラー処理を自分で実装したいと考えています。

  • バイナリから実数を取得したいのですが・・・

    C++にてバイナリデータから倍精度の浮動小数を取得したいと考えています。 バイナリの中にリトルエンディアン形式で倍精度の浮動小数が64ビット幅に収められています。 これをdouble型の変数に代入したいのですが、どうすれば(できれば簡単な方法で)値を代入できるでしょうか? ご教授お願いします。 データのサンプルを念のために記載させて頂きます。 B2 9C 05 DA 7D 40 6C 3F -> 3.448720745086919e-3

  • チェックボックスの逆使用がわかりません!

    初めて質問させていただきます。マクロ超初心者です。 エクセル2007を使用しております。 マクロに初めて挑戦し、契約書に差しこんでおります。 うまく説明できないところがあると思いますが、ご了承ください。。。 シート1に契約書に差し込むデータが一覧表として作成してあります。 シート2に契約書のひな型を作成→シート1から契約内容を差し込む 見よう見まねでマクロを作成しました。 ここまではうまくいったのですが、どうしてもわからないところがあります。 シート1  A列  B列  A子  マンション  B子  アパート  C子  戸建  D子  テラスハウス シート2へ差し込み    A列     B列      C列     D列    E列     F列   G列     H列  チェックBOX  マンション  チェックBOX アパート チェックBOX  戸建 チェックBOX B/D/F以外 もし、A子がマンションなら、シート2のA列チェックBOXにレ点が入るようにしたいです。 同様にB子・C子と差し込んだときに、一致するBOXにチェックが入るといったものにしたいです。 この説明で、お分かりいただけましたでしょうか? どうか、お願いいたします。

  • Visual Studio 2008 フォルダ設定

    現在、多くのcppファイルがフォルダごとに分かれて格納されている状態です。 これらのcppファイルをVisual Studio 2008のプロジェクトにて、各フォルダ設定ごと取り込むことはできないしょうか? 例を画像で表すとこんな感じです。 フォルダを指定したら、その階層化のプログラムファイルをとって来て、図のように分けて欲しいということです。 手動でおこなうと、実際はフォルダが大量にあるのと、それぞれのフォルダの階層化にも多くのフォルダがあり、とても時間がかかるのでやりたくありません。 このようなことができる方法がありましたら教えてください。

  • Visual Studio 続行するには何かキーを

    Visual Studio 2010 professional(当方アカデミック版です)で デバッグ実行時にコマンド・プロンプトを閉じないで ”続行するには何かキーを押してください...” を表示させて待機させる設定方法がありましたら 教えてください。(getchar()などのコマンドを追記する方法ではなく)。よろしくおねがいします。

  • VBでのWebBrowserコントロール

    VBで、WebBrowserコントロールを使用して外部サイトに接続し、 接続先のサイトの操作を行い表示された結果をVBの画面上に表示しています。 しかし、その処理が非常に重く表示に数分以上掛かっていまう場合があります。 応答を待っている間に、同じPC端末からIEを立ち上げ同じサイトにログインして 同じ操作をすると10秒も掛からず行えてしまします。 その為、インフラや接続先のサイトの問題ではないと思われます。 WebBrowserコントロールを使用すると通常の操作以上に時間がかかるものなのでしょうか? あるいはWebBrowserコントロールには問題があってパッチが出ていると言う事はあるでしょうか? ご存知の方がいらっしゃればご教授お願いいたします。 【環境】 Windows 2003 ServerR2 Microsoft .NET Framework3.5 Microsoft Visual Basic 2008 Ver3.5 SP1

  • VB functionについて

    プログラム初心者です。 以下のソースをVB2010で動作させると型'double'の値を'system.Collections.ArrayList'に変換できません。となります。呼び出し方法がおかしいと思うのですが。よく分かりません。解決方法を教えてくださいお願い致します。 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim aArr() As Double aArr(1) = 1.1 aArr(2) = 2.3 MsgBox(AAA(aArr)) End Sub Public Function AAA(ByVal aArr As ArrayList) As Double() Dim retVal As Double() = Nothing ReDim retVal(2) Dim loopCnt As Integer = 0 Dim Arrcnt As Integer = aArr.Count Dim sum As Double = 0.0 For loopCnt = 0 To Arrcnt - 1 sum += aArr(loopCnt) Next sum = sum / loopCnt retVal(0) = sum Return retVal End Function

  • VB.NETからC++のdll連携(double)

    プログラム初心者です。 double型の配列をVB2010とC++で作成したdllで連携したいのですが、値が正しく渡されません。 値が正しく渡せるにはどうしたら良いでしょうか? 以下がその内容です。(int型の場合)これをdouble型で渡したいのですが。 C++ではSafeArrayの扱いになるとのことですが、方法が良く分かりません。 VBソース ----------------- ' Arrays.vb Imports System Imports Microsoft.VisualBasic Imports System.Runtime.InteropServices Friend NotInheritable Class NativeMethods Private Sub New() End Sub Declare Function TestArrayOfInts Lib "makedll.dll" ( _ <[In](), Out()> ByVal myArray() As Integer, ByVal size As Integer) As Integer End Class Public NotInheritable Class App Private Sub New() End Sub Public Shared Sub Main() ' *************** array ByVal ************** Dim array1(9) As Integer Console.WriteLine("Integer array passed ByVal before call:") Dim i As Integer For i = 0 To array1.Length - 1 array1(i) = i Console.Write(" " & array1(i)) Next i Dim sum1 As Integer = NativeMethods.TestArrayOfInts(array1, array1.Length) Console.WriteLine(ControlChars.CrLf & "Sum of elements:" & sum1) Console.WriteLine(ControlChars.CrLf & "Integer array passed ByVal after call:") For Each i In array1 Console.Write(" " & i) Next i Console.Read() End Sub End Class //********************************** C++作成dllソース(makedll.cpp) extern "C" MAKEDLL_API int TestArrayOfInts( int* pArray, int size ) { int result = 0; for( int i = 0; i < size; i++ ) { result += pArray[ i ]; pArray[ i ] += 100; } return result; } //********************************** C++作成dllソース(makedll.h) #ifdef MAKEDLL_EXPORTS #define MAKEDLL_API __declspec(dllexport) #else #define MAKEDLL_API __declspec(dllimport) #endif extern "C" MAKEDLL_API int TestArrayOfInts( int* pArray, int size ); //********************************** C++作成dllソース(makedll.def) LIBRARY makedll.dll EXPORTS TestArrayOfInts PRIVATE

  • VB.NETからC++のdll連携(double)

    プログラム初心者です。 double型の配列をVB2010とC++で作成したdllで連携したいのですが、値が正しく渡されません。 値が正しく渡せるにはどうしたら良いでしょうか? 以下がその内容です。(int型の場合)これをdouble型で渡したいのですが。 C++ではSafeArrayの扱いになるとのことですが、方法が良く分かりません。 VBソース ----------------- ' Arrays.vb Imports System Imports Microsoft.VisualBasic Imports System.Runtime.InteropServices Friend NotInheritable Class NativeMethods Private Sub New() End Sub Declare Function TestArrayOfInts Lib "makedll.dll" ( _ <[In](), Out()> ByVal myArray() As Integer, ByVal size As Integer) As Integer End Class Public NotInheritable Class App Private Sub New() End Sub Public Shared Sub Main() ' *************** array ByVal ************** Dim array1(9) As Integer Console.WriteLine("Integer array passed ByVal before call:") Dim i As Integer For i = 0 To array1.Length - 1 array1(i) = i Console.Write(" " & array1(i)) Next i Dim sum1 As Integer = NativeMethods.TestArrayOfInts(array1, array1.Length) Console.WriteLine(ControlChars.CrLf & "Sum of elements:" & sum1) Console.WriteLine(ControlChars.CrLf & "Integer array passed ByVal after call:") For Each i In array1 Console.Write(" " & i) Next i Console.Read() End Sub End Class //********************************** C++作成dllソース(makedll.cpp) extern "C" MAKEDLL_API int TestArrayOfInts( int* pArray, int size ) { int result = 0; for( int i = 0; i < size; i++ ) { result += pArray[ i ]; pArray[ i ] += 100; } return result; } //********************************** C++作成dllソース(makedll.h) #ifdef MAKEDLL_EXPORTS #define MAKEDLL_API __declspec(dllexport) #else #define MAKEDLL_API __declspec(dllimport) #endif extern "C" MAKEDLL_API int TestArrayOfInts( int* pArray, int size ); //********************************** C++作成dllソース(makedll.def) LIBRARY makedll.dll EXPORTS TestArrayOfInts PRIVATE

  • VB.NETからC++のdll連携(double)

    プログラム初心者です。 double型の配列をVB2010とC++で作成したdllで連携したいのですが、値が正しく渡されません。 値が正しく渡せるにはどうしたら良いでしょうか? 以下がその内容です。(int型の場合)これをdouble型で渡したいのですが。 C++ではSafeArrayの扱いになるとのことですが、方法が良く分かりません。 VBソース ----------------- ' Arrays.vb Imports System Imports Microsoft.VisualBasic Imports System.Runtime.InteropServices Friend NotInheritable Class NativeMethods Private Sub New() End Sub Declare Function TestArrayOfInts Lib "makedll.dll" ( _ <[In](), Out()> ByVal myArray() As Integer, ByVal size As Integer) As Integer End Class Public NotInheritable Class App Private Sub New() End Sub Public Shared Sub Main() ' *************** array ByVal ************** Dim array1(9) As Integer Console.WriteLine("Integer array passed ByVal before call:") Dim i As Integer For i = 0 To array1.Length - 1 array1(i) = i Console.Write(" " & array1(i)) Next i Dim sum1 As Integer = NativeMethods.TestArrayOfInts(array1, array1.Length) Console.WriteLine(ControlChars.CrLf & "Sum of elements:" & sum1) Console.WriteLine(ControlChars.CrLf & "Integer array passed ByVal after call:") For Each i In array1 Console.Write(" " & i) Next i Console.Read() End Sub End Class //********************************** C++作成dllソース(makedll.cpp) extern "C" MAKEDLL_API int TestArrayOfInts( int* pArray, int size ) { int result = 0; for( int i = 0; i < size; i++ ) { result += pArray[ i ]; pArray[ i ] += 100; } return result; } //********************************** C++作成dllソース(makedll.h) #ifdef MAKEDLL_EXPORTS #define MAKEDLL_API __declspec(dllexport) #else #define MAKEDLL_API __declspec(dllimport) #endif extern "C" MAKEDLL_API int TestArrayOfInts( int* pArray, int size ); //********************************** C++作成dllソース(makedll.def) LIBRARY makedll.dll EXPORTS TestArrayOfInts PRIVATE

  • excel vba 複数項目の集計

    EXCEL2003 VBAにてマクロを作成しているのですが、作成日程が迫っているにも関わらず、 すぐ行き詰ってしまいます。どうかご指導お願い致します。 以下のような事をしたいのですが、できる限り高速で最も効率の良い方法を教えていただきたいと 思っております。よろしくお願い致します。 あるSheetに以下のようにデータが登録されていて、 A       B        C りんご    赤       200 なし     黄色      100 りんご    緑       100 メロン    緑       10 なし     黄色      200 りんご    緑       500 これを集計すると、 りんご  赤  200 りんご  緑  600 なし   黄色 300 メロン  緑  10 と、結果を返したいと考えています。 数字を合計するのはA列とB列がともに一致した時のみです。 最初は単純に何回もForNextで処理しようと思ったのですが、行数が 多くなると繰り返し回数も多くなり、時間もかかってしまうので、 別の方法でもっといい方法があればと思い、質問させていただきました。 宜しくお願いします。

  • VC++2008でAPI関数とプログラムの連動

    現在“fopenでtxtファイルを開き内容を参照して特定の文字列があればメッセージボックスを表示する”というプログラムを作ろうとしているのですが、 API関数でメッセージボックスを表示させる.cppファイルを「Win32プロジェクト」でつくり、 それとは別にfopenでtxtファイルを開く.cppファイルを「Win32 コンソールアプリケーション」で作ったのですが、 この二つのプログラムを連動させて動かすことは可能なのでしょうか? それぞれ別のプロジェクトで作ったのはそうしないと _WinMain@16 が関数 ___tmainCRTStartup で参照されました。 というエラーが発生してしまうためです。 API関数を使う方では最初にWinMainを定義?し、fopenを使用している方ではint main()を定義しているのですが、そこでエラーが起きてしまっているようなのですが…

  • vb2005でXmlReaderの使い方

    xmlファイルの読込がうまくいきません。どこが間違っているでしょうか。 参考にしたページ http://msdn.microsoft.com/ja-jp/library/ayf5ffy5(v=vs.80).aspx -----xmlファイルここから----- <root> <parentnode1> <childnode1>100</childnode1> </parentnode1> <parentnode2>20</parentnode2> </root> -----xmlファイルこまで----- -----コードここから----- Sub Main() Dim b As Boolean Dim objXmlR As XmlReader = XmlReader.Create("c:\temp\sample.xml") objXmlR.MoveToContent() b = objXmlR.ReadToDescendant("parentnode1") Console.WriteLine(objXmlR.Name) '「parentnode1」を出力 Console.WriteLine(objXmlR.Value) '「」を出力 b = objXmlR.ReadToDescendant("childnode1") Console.WriteLine(objXmlR.Name) '「childnode1」を出力 Console.WriteLine(objXmlR.Value) '「」を出力。ここで「100」が出て欲しい End Sub -----コードここまで----- 基本的なことだと思いますがよろしくお願いします。

  • VB.NETからC++のdll連携(double)

    プログラミング初心者です。 VB2010からC++で作成したDLLの配列連携で困っています。 下記のサンプルで整数配列(integer)の連携を確認できました。 しかし、double型の連携が同サンプルでは正しい値が渡されません。 (プラットフォーム呼び出しサンプルの”整数 ByVal の配列”を使用しました。) プラットフォーム呼び出しサンプル http://msdn.microsoft.com/ja-jp/library/8bbftkst(v=VS.90).aspx double型の配列は同じ方法で可能なのでしょうか。 別の方法でないと動作しないのであれば、そちらも教えてください。 よろしくお願い致します。

  • VB.NETからC++で作成したdllの連携

    プログラム初心者です。 VB2010からC++で作成したdllへ配列を渡したいのですが、 動作するサンプルがありましたら教えてください。 単純な数値(int)であれば下記のページのサンプルコードをダウンロードして 動作可能でした。 http://www.geocities.jp/i_love_balard/myhome/vbdll.html しかし、以下のサンプルを作成したのですが、動作しませんでした。 http://www7.atwiki.jp/hisam/pages/51.html http://support.microsoft.com/kb/402577/ja http://support.microsoft.com/kb/410837/ja よろしくお願い致します。

  • VC++でMFCアプリ作成中です。

    MFCの既存のフレームで、「最近使ったファイル」という欄があります。 これを選んだ際に、指定したプログラムでそのファイルを開きたいのですが、うまくいきません。 どうすればよろしいでしょうか? HogeView.cpp ...(省略) /*************************************** OnOpenRecentFileのオーバーライド ***************************************/ BOOL CWinApp::OnOpenRecentFile(UINT nID) { ASSERT_VALID(this); ASSERT(m_pRecentFileList != NULL); ASSERT(nID >= ID_FILE_MRU_FILE1); ASSERT(nID < ID_FILE_MRU_FILE1 + (UINT)m_pRecentFileList->GetSize()); int nIndex = nID - ID_FILE_MRU_FILE1; ASSERT((*m_pRecentFileList)[nIndex].GetLength() != 0);        /* 選んだファイルを表示 */ AfxMessageBox((*m_pRecentFileList)[nIndex]); CHogeView *myview = new CHogeView(); ★ myview->GetDocument()->SetFilePath((*m_pRecentFileList)[nIndex]); AfxMessageBox(myview->GetDocument()->GetFilePath()); myview->ReadFile((*m_pRecentFileList)[nIndex]); TRACE2("MRU オリジナル関数内: open file (%d) '%s'.\n", (nIndex) + 1, (LPCTSTR)(*m_pRecentFileList)[nIndex]); if (OpenDocumentFile((*m_pRecentFileList)[nIndex]) == NULL){ m_pRecentFileList->Remove(nIndex); } return TRUE; } /****************************************************************** ファイル読み込み ******************************************************************/ void CHogeViewerView::ReadFile(CString filename){ ...(省略) } コンパイルはできるのですが、どうやら★のところがうまく行かず、 Debug Assertion Failed! とエラーがでます。 何が原因なのでしょうか?

  • typedef定義型を使った関数について

    はじめて質問させていただきます。 Visual C++ 2008 Express Editionを使ってC言語のソースコードを記述しています。 (OSはWindows XPを使用しています。) ビルドを行った際に以下のエラーが発生していて、先に進めません。 色々と調べてみたのですが、解決方法がわからず質問させていただいた次第です。 解決方法についてご存知の方がいらっしゃいましたら、回答いただけると嬉しいです。 ■エラー内容 ------ ビルド開始: プロジェクト: Sample, 構成: Debug Win32 ------ コンパイルしています... Sample.c d:\sample\sample\Sample.c(4) : error C2061: 構文エラー : 識別子 'GetInfo' d:\sample\sample\Sample.c(4) : error C2059: 構文エラー : ';' d:\sample\sample\Sample.c(4) : error C2059: 構文エラー : ')' ビルドログは "file://d:\Sample\Sample\Debug\BuildLog.htm" に保存されました。 Sample - エラー 3、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ========== ■Sample.c #include "stdafx.h" Info GetInfo(){ return 0; } int main(){ return 0; } ■stdafx.h #pragma once #include "def.h" #include <stdio.h> #include <tchar.h> Info GetInfo(); ■def.h typedef struct Info{ int a; int b; int c; } Info;

  • typedef定義型を使った関数について

    はじめて質問させていただきます。 Visual C++ 2008 Express Editionを使ってC言語のソースコードを記述しています。 (OSはWindows XPを使用しています。) ビルドを行った際に以下のエラーが発生していて、先に進めません。 色々と調べてみたのですが、解決方法がわからず質問させていただいた次第です。 解決方法についてご存知の方がいらっしゃいましたら、回答いただけると嬉しいです。 ■エラー内容 ------ ビルド開始: プロジェクト: Sample, 構成: Debug Win32 ------ コンパイルしています... Sample.c d:\sample\sample\Sample.c(4) : error C2061: 構文エラー : 識別子 'GetInfo' d:\sample\sample\Sample.c(4) : error C2059: 構文エラー : ';' d:\sample\sample\Sample.c(4) : error C2059: 構文エラー : ')' ビルドログは "file://d:\Sample\Sample\Debug\BuildLog.htm" に保存されました。 Sample - エラー 3、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新不要、0 スキップ ========== ■Sample.c #include "stdafx.h" Info GetInfo(){ return 0; } int main(){ return 0; } ■stdafx.h #pragma once #include "def.h" #include <stdio.h> #include <tchar.h> Info GetInfo(); ■def.h typedef struct Info{ int a; int b; int c; } Info;

  • VC++2008でのサンプルプログラムのビルド

    VC++2008を使用してWin32APIを使ったプログラムを動かしたいと思っている者です。 これまでC言語については多少学んできましたがC++を使用するのは初めてです。 まずはサンプルプログラムを動かそうと思い以下のソースを入力しました。 #include <windows.h> #include <tchar.h> int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR pCmdLine, int showCmd) { MessageBox( NULL, _T("Hello World"), _T("メッセージ"), MB_OK ); return 0; } そしてこれをビルドしてみたところエラーメッセージがでてしまいうまくビルドできませんでした。 参考にしているHPはVC++2008での作業を推奨していたので、動作環境の違いなどではないと思うのですが… 初期設定等の問題になるのでしょうか?解決策があれば教えていただきたいです。 以下が表示されるエラーメッセージです。 1>1.obj : error LNK2028: 未解決のトークン (0A000044) "extern "C" int __stdcall MessageBoxW(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBoxW@@$$J216YGHPAUHWND__@@PB_W1I@Z) が関数 "extern "C" int __cdecl MessageBox(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBox@@$$J0YAHPAUHWND__@@PB_W1I@Z) で参照されました。 1>1.obj : error LNK2019: 未解決の外部シンボル "extern "C" int __stdcall MessageBoxW(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBoxW@@$$J216YGHPAUHWND__@@PB_W1I@Z) が関数 "extern "C" int __cdecl MessageBox(struct HWND__ *,wchar_t const *,wchar_t const *,unsigned int)" (?MessageBox@@$$J0YAHPAUHWND__@@PB_W1I@Z) で参照されました。 1>C:\Documents and Settings\Owner\My Documents\Visual Studio 2008\Projects\1\Debug\1.exe : fatal error LNK1120: 外部参照 2 が未解決です。