burroughs6 の回答履歴
- サービスプログラムの作成方法
VC++2008にてプログラムを作成しています。 現在、ダイアログベースで作成していたプログラムを、 サービスプログラムへ変更しようとしているのですが、 サービスプログラム自体を作成したことがなく、 いろいろネットで読んでみたのですが、 分からないところがありすぎて困っています。 ちなみに、現在のダイアログベースのプログラムは、 CAsyncSocketとマルチスレッドを使用して クライアントPCと相互通信をするものです。 PostgreSQLアクセス用のODBCプログラムもあります。 (ですので、当然ながらダイアログは必要ありません) まず、VisualStudioにて新規プロジェクト→ Windowsサービスを選択し、プロジェクトを作りました。 元のプログラムから、cpp/hファイルを移行し、 CString等の変数をしようしているため、 stdafx.hに、 #define _AFXDLL #include <afxwin.h> 上記を追記し、ビルドしました。 Setupプロジェクトも追加し、 カスタム動作のインストール、アンインストールに、 プライマリ出力を追加し、引数をそれぞれ、 /Service、/UnregServerにし、インストールしてみましたが、 管理ツールのサービスには登録されませんでした。 Serviceプログラムがいけないのかと思い、 単純に新規プロジェクトを作成し、 Setupプロジェクトを追加して、設定したあと、 インストールしてみましたが、これでも登録されていませんでした。 なにか、他に設定等が必要なものがありますでしょうか? Windowsサービスでの作成については、 ネットに載っているのを見つけられなかったのですが、 ATLでのサービスにも挑戦してみました。 しかし、<afxsock.h>をインクルードする手段が みつからず、断念しました。 どちらかの手段で、サービスプログラムを 作成したいのですが、上記問題について、 アドバイスでもよろしいので、よろしくお願いします。
- 無線LANカード2枚挿し時のUDPクライアントプログラミングについて。
LinuxのUbuntu8.04を使用しているのですが、現在無線LANカード2枚挿ししている状態で、同じネットワーク内でIPアドレスを設定しています(192.168.0.10と192.168.0.11)。UDPクライアントプログラムでパケットを送信すると、インターフェイスを勝手に選んでしまうので、任意に「こっちの無線LANカードを使う!」という指定をするためにはどのようにプログラミングすればよいでしょうか? お願いします。
- C++のDLLが見つからないVBAから見つからない
こんにちは。質問させてください。 Visual C++ 2008 Express Editionで自作DLLを作成しました。 このDLLが、開発環境(WindowsXP、Excel2002)の Excelマクロで呼び出したところ、うまく動いたのですが、 WindowsVista、Excel2007のPCで同じマクロを実行すると 実行時エラー '53' ファイルが見つかりません [ファイル名] というエラーが出て実行できません。 どちらの環境でもDLLファイルはフルパスで指定していて ファイルはちゃんと存在しています。 原因が、Vistaなのか、Excel2007なのか またはその他の要因なのか、わからずに悩んでいます。 どなたか心当たりがある方がいらっしゃいましたらご教授願います。 よろしくお願いします。 その他詳細 ・DLLはdefファイルを使ってEXPORTしました。 ・Vistaのユーザーアカウント制限をoffにしてます。 ・Declear部分のソースコードは Declare Sub Prepare Lib "C:\test\API_test.dll" (ByVal FileName As String)です。
- 締切済み
- Visual Basic
- 73lab
- 回答数1
- コントロールに邪魔されずにイベントを取得したい
visual studio 2008 express edition C#3.5 を使用しています。 http://ranobe.com/up/src/up363465.jpg のように buttonが乗ったsplitContainer1のPanel1(左側)に private void splitContainer1_Panel1_MouseEnter(object sender, EventArgs e) { MessageBox.Show("Test"); } というマウスがのったらメッセージボックスを表示するイベントを設定しています。 ただこれはbuttonの上だと反応しません・・・ なんとかしてbuttonというか乗せてるコントロールに邪魔されずに反応させることはできないでしょうか?
- 締切済み
- その他(プログラミング・開発)
- takagoo100
- 回答数2
- ピクチャーボックスでの折線グラフ作成 VB6.0
お世話になります。 VB6.0にて、下記データを使って、ピクチャーボックスを使用して、コマンドボタンを1つクリック毎に、 「10個の数値」を使って、CurrentX CurrentY で「点」を描写、「点」同士をつないで、折線グラフ作成 また、連続でクリックする事により、アニメのように見える という事をしたいです。 ここで、下記「データ群」のように、1、2、3、とクリックで移動する毎に、数値の MAX MIN が変化していき、 [ Picture1.Height = 200 ] としてる為、縦方向にムダなく表示する為、「倍率」を求める事になります。 「1」の場合の「倍率」 = 200 ÷ (33 - 1) 「2」の場合の「倍率」 = 200 ÷ (49 - 1) ですので、ボタンクリックの度に、 「10の数値」の MAX MIN で「倍率」を求める その「倍率」を使って折線グラフ作成 となります。 しかし、これが「10個の数値」ではなく、100~500、また各数値も 130.88 など3桁、小数点アリ になると、 「倍率」計算で時間が懸かり、アニメのように、とは難しいです。 画像であるなら、Picture1.AutoSize があり、縦方向にピッタリとなりますが。 さてここで質問ですが、私は「倍率」を求めてそれを元に折線グラフ作成としていますが、 もっとイイ方法があれば、是非御教授下さい。 お願いします。 なお「MSChart」は使わないという事で。 データ群 「1」~「6」 1 [ 01~10 23 ,01 ,02 ,13 ,19 ,29 ,33 ,15 ,17 ,21 ] MAX; 33 MIN; 01 2 [ 02~11 01 ,02 ,13 ,19 ,29 ,33 ,15 ,17 ,21 ,49 ] MAX; 49 MIN; 01 3 [ 03~12 02 ,13 ,19 ,29 ,33 ,15 ,17 ,21 ,49 ,17 ] MAX; 49 MIN; 02 4 [ 04~13 13 ,19 ,29 ,33 ,15 ,17 ,21 ,49 ,17 ,54 ] MAX; 54 MIN; 13 5 [ 05~14 19 ,29 ,33 ,15 ,17 ,21 ,49 ,17 ,54 ,27 ] MAX; 54 MIN; 15 6 [ 06~15 29 ,33 ,15 ,17 ,21 ,49 ,17 ,54 ,27 ,78 ] MAX; 78 MIN; 15 With Picture1 .Cls: .BackColor =白 .Width = 3000: .Height = 200 .ScaleWidth = .Width: .ScaleHeight = .Height .AutoRedraw = True .DrawWidth = 1 .DrawStyle = 0 .FillStyle = 0 .FillColor = 黒 End With 各数値 ----------------- 01 23 02 01 03 02 04 13 05 19 06 29 07 33 08 15 09 17 10 21 11 49 12 17 13 54 14 27 15 78
- ベストアンサー
- Visual Basic
- ryu8472
- 回答数2
- コントロールに邪魔されずにイベントを取得したい
visual studio 2008 express edition C#3.5 を使用しています。 http://ranobe.com/up/src/up363465.jpg のように buttonが乗ったsplitContainer1のPanel1(左側)に private void splitContainer1_Panel1_MouseEnter(object sender, EventArgs e) { MessageBox.Show("Test"); } というマウスがのったらメッセージボックスを表示するイベントを設定しています。 ただこれはbuttonの上だと反応しません・・・ なんとかしてbuttonというか乗せてるコントロールに邪魔されずに反応させることはできないでしょうか?
- 締切済み
- その他(プログラミング・開発)
- takagoo100
- 回答数2
- 最大値のみレコードを抽出する方法
下記の通りに、品名、産地、個数が書かれている in.csvから、個数が最大値であるレコードをピックアップして、 out.csvに出力したいと考えてます。 どのようにしたら、可能でしょうか。 (※in.csvのデータは、ソートされていません。) 私は、in.csvを1行ずつ構造体に代入して、 個数が一つ前のデータより、大きい場合は、 データを上書きする。小さい場合は、代入しない という方法で、out.csvが作れるのではないかと 考えてますが、他にも効率がよい方法がありましたら、 教えてください。 ========in.csv=========== 品名 産地 個数 りんご 青森 2 りんご 青森 3 もも 山梨 5 もも 山梨 6 もも 山梨 7 かき 和歌山 8 かき 和歌山 5 かき 和歌山 3 りんご 青森 4 ======================== ========out.csv========= 品名 産地 個数 りんご 青森 4 もも 山梨 7 かき 和歌山 8 ======================== 以上です。
- ベストアンサー
- C・C++・C#
- noname#227157
- 回答数3
- cprintf()関数で2バイト文字を表示するには
cprintf()関数の引数に2バイト文字を含む文字列を指定してプログラムを 実行すると、表示結果の2バイト文字の部分が全て文字化けしてしまいます。 cprintf()関数で2バイト文字を表示することはできないのでしょうか? ご教示宜しくお願い致します。 下記は実際に文字化けしてしまうコードです。 ---------------------- #include <conio.h> int main(void) { cprintf("日本語 English"); return 0; } ---------------------- 【環境情報】 使用コンパイラ:VC++2008 実行環境:WinXPSP2とVistaHomePremiumSP1の2環境で確認 【質問の背景】 『独習C 第3版』という本の中に、一部のコンパイラでは、getche()の ような非標準の入出力関数とprintf()などの標準の入出力関数を併用 すると問題が発生すると記載されており、printf()関数の代わりに cprintf()関数を使用したサンプルコード(上記のコードとは異なる)も記載されています。 しかし、実際にそれをコンパイルして実行してみると、2バイト文字が 全て文字化けして表示されてしまいました。
- テキストファイルの内容を連結する簡易な方法
2つのバイナリ形式のデータが出力されたテキストファイル 「C:\a.txt」「C:\b.txt」の中身を結合させて、 1つのファイル「C:\c.txt」にまとめようと思っています。 ファイルパスを指定し、CFile::OpenとCFile::Readで 一つずつファイル内容を読み出し、c.txtに書き出す方法だと少し手間がかかるので、 より簡易な方法で一つのファイルにまとめたいのですが、 何か効率的で良い方法があれば、教えていただけませんでしょうか? 例えば、Linuxでいうcatコマンドのような方法があれば理想的なのですが。。 よろしくお願い致します。 開発環境:VC++2005、MFC
- ベストアンサー
- C・C++・C#
- noname#95666
- 回答数4
- パイプを用いたプロセス間通信について
VC++2005にて下記サイトを参考にパイプを用いたプロセス間通信を行うプログラムを作成しています。 猫でもわかるプログラミング (1)第242章 匿名パイプ(サーバー側) http://www.kumei.ne.jp/c_lang/sdk3/sdk_242.htm (2)第243章 匿名パイプ(クライアント側) http://www.kumei.ne.jp/c_lang/sdk3/sdk_243.htm サーバー側からWriteFileでデータを送信する際に、 char型配列に入ったバッファデータ「szBuf」を送信し、 クライアント側のReadFileで同じく「szBuf」で受信していますが、 構造体Data ================== typedef TypeData{ int a; int b; char c[10]; }Data; ================== のオブジェクトdataを送信するには、WriteFile及びReadFileの箇所は どのように実装すれば良いのでしょうか? MSDNにはWriteFileの引数の型はLPCVOIDとあるため、 可能だと思うのですが。。。 もし解決策をご存知の方おられましたら、ご教示お願い致します。
- 最大値のみレコードを抽出する方法
下記の通りに、品名、産地、個数が書かれている in.csvから、個数が最大値であるレコードをピックアップして、 out.csvに出力したいと考えてます。 どのようにしたら、可能でしょうか。 (※in.csvのデータは、ソートされていません。) 私は、in.csvを1行ずつ構造体に代入して、 個数が一つ前のデータより、大きい場合は、 データを上書きする。小さい場合は、代入しない という方法で、out.csvが作れるのではないかと 考えてますが、他にも効率がよい方法がありましたら、 教えてください。 ========in.csv=========== 品名 産地 個数 りんご 青森 2 りんご 青森 3 もも 山梨 5 もも 山梨 6 もも 山梨 7 かき 和歌山 8 かき 和歌山 5 かき 和歌山 3 りんご 青森 4 ======================== ========out.csv========= 品名 産地 個数 りんご 青森 4 もも 山梨 7 かき 和歌山 8 ======================== 以上です。
- ベストアンサー
- C・C++・C#
- noname#227157
- 回答数3
- 最大値のみレコードを抽出する方法
下記の通りに、品名、産地、個数が書かれている in.csvから、個数が最大値であるレコードをピックアップして、 out.csvに出力したいと考えてます。 どのようにしたら、可能でしょうか。 (※in.csvのデータは、ソートされていません。) 私は、in.csvを1行ずつ構造体に代入して、 個数が一つ前のデータより、大きい場合は、 データを上書きする。小さい場合は、代入しない という方法で、out.csvが作れるのではないかと 考えてますが、他にも効率がよい方法がありましたら、 教えてください。 ========in.csv=========== 品名 産地 個数 りんご 青森 2 りんご 青森 3 もも 山梨 5 もも 山梨 6 もも 山梨 7 かき 和歌山 8 かき 和歌山 5 かき 和歌山 3 りんご 青森 4 ======================== ========out.csv========= 品名 産地 個数 りんご 青森 4 もも 山梨 7 かき 和歌山 8 ======================== 以上です。
- ベストアンサー
- C・C++・C#
- noname#227157
- 回答数3
- パイプを用いたプロセス間通信について
VC++2005にて下記サイトを参考にパイプを用いたプロセス間通信を行うプログラムを作成しています。 猫でもわかるプログラミング (1)第242章 匿名パイプ(サーバー側) http://www.kumei.ne.jp/c_lang/sdk3/sdk_242.htm (2)第243章 匿名パイプ(クライアント側) http://www.kumei.ne.jp/c_lang/sdk3/sdk_243.htm サーバー側からWriteFileでデータを送信する際に、 char型配列に入ったバッファデータ「szBuf」を送信し、 クライアント側のReadFileで同じく「szBuf」で受信していますが、 構造体Data ================== typedef TypeData{ int a; int b; char c[10]; }Data; ================== のオブジェクトdataを送信するには、WriteFile及びReadFileの箇所は どのように実装すれば良いのでしょうか? MSDNにはWriteFileの引数の型はLPCVOIDとあるため、 可能だと思うのですが。。。 もし解決策をご存知の方おられましたら、ご教示お願い致します。
- fgetsの使い方
C言語を今日から始めたじいさんです。 宜しくお願い致します。 メモ帳を使って3行ほどの文字列を入力して、text.txtファイルに保存します。 この文字列を読み込んで、1行ずつ印刷しようとしていますが fgetsでtxtファイルの終了条件がわかりません。 while(fgets(row , sizeof( row ) , fp) != NULL){ printf("%s\n , row); } fclose( fp ); return 0; のようにしているのですが、3行印字処理をして異常終了してしまいます。 本に出ている例をそのまま実行しているのですが、うまくいきません。 txtファイルをダンプしてみると各行の後ろに0d 0aたぶんCR,LFが入っていてNULL=00(?)はありません。テキストファイルの作り方に問題があるのでしょうか? それともfgetsの使い方に誤りがあるのでしょうか?
- ベストアンサー
- C・C++・C#
- ume_chan_m
- 回答数7
- fgetsの使い方
C言語を今日から始めたじいさんです。 宜しくお願い致します。 メモ帳を使って3行ほどの文字列を入力して、text.txtファイルに保存します。 この文字列を読み込んで、1行ずつ印刷しようとしていますが fgetsでtxtファイルの終了条件がわかりません。 while(fgets(row , sizeof( row ) , fp) != NULL){ printf("%s\n , row); } fclose( fp ); return 0; のようにしているのですが、3行印字処理をして異常終了してしまいます。 本に出ている例をそのまま実行しているのですが、うまくいきません。 txtファイルをダンプしてみると各行の後ろに0d 0aたぶんCR,LFが入っていてNULL=00(?)はありません。テキストファイルの作り方に問題があるのでしょうか? それともfgetsの使い方に誤りがあるのでしょうか?
- ベストアンサー
- C・C++・C#
- ume_chan_m
- 回答数7
- エラー C言語 プログラミングについて
#include<stdio.h> int leapYear(int); int main(void){ int year,i; for(i=2001;i=2999;i++){ year=i; printf("%d leap = %d \n",i,leapYear(int year)); return 0; } } int leapYear(int year){ if(year%100==0){ return 0; } else if(year%400==0){ return 1; } else if(year%4==0 && year%100!=0){ return 1; } } をコンパイルすると11行目に式の構文エラーが出るんですが どうしてでしょうか?? 間違ってない気がするんですけど。。
- 締切済み
- C・C++・C#
- tomato1414
- 回答数7
- 漢数字のゼロ"〇"について
お世話になります。 VB6SP5において、LabelのCaptionに漢数字のゼロを 入力しておいて、 label1.Caption = "〇" プログラムから label1.Caption = "" とすると、Captionが"〇"のままに なってしまいます。 こうなる原因を知りたいのですが、情報お持ちのかた、 よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- siro7aka7
- 回答数3
- ArrayListの初期値に二次元配列を設定したい(VB2005)
下記は、aryhogeにTextBoxオブジェクトを格納する処理です。 ---------------------------------------- 'a) Dim hoge()() As TextBox = _ {New TextBox() {txta01, txtb01, txtc01}, _ New TextBox() {txta02, txtb02, txtc02}, _ New TextBox() {txta03, txtb03, txtc03}} Dim aryhoge As New ArrayList 'b) aryhoge.Add(hoge(0)) aryhoge.Add(hoge(1)) aryhoge.Add(hoge(2)) ---------------------------------------- (a)を(b)の初期値として設定するにはどのようにすればよいか、ということが質問内容です。 試しに(b)の部分を以下のようにしてみましたが、「1次元配列の値を変換できない」とのエラーが出ました。 Dim aryhoge As New ArrayList(New TextBox() {hoge(0), hoge(1), hoge(2)}) どうぞよろしくお願い致します。
- ベストアンサー
- Visual Basic
- tekan
- 回答数3
- ActiveXコンポーネントのデザイン部分について
VB6でOCXを作成しましたが、デザイン(表示)部分でわからないことがあります。 作成したOCXを別のプログラムでコンポーネント参照した際に、 通常タイマーならタイマーの画像が、ボタンならボタン形状のツールバーが表示されるのですが、デフォルト画像(表現しにくいのですが青のタスクバーに4つのボタンと鉛筆マーク)が表示されます。 これをオリジナルデザインにすることは可能でしょうか? また、使用する際にタイマーイベントのようにデザイン時にはコンポーネントが見えていて、実行時には見えなくする方法が知りたいです。今は実行させると、作成したフォームが丸見え状態です。 あとVB6で作成したコンポーネントはVisualStudioの他のバージョン(2003や2005)でも使えるのでしょうか? 最近ActiveXコンポーネントの作成がわかり喜んでいたのですが、つめが甘いのかデザイン部でつまずいています。ActiveXコンポーネントは古い技術でしょうか。 ActiveXコンポーネントについて詳しく書かれている書籍はありますか? できればVB6を希望しますが、VC6でも構いません。
- ベストアンサー
- Visual Basic
- hdkoa
- 回答数2
- VB2005のピクチャーボックス内の図形の移動
VB2005で、formにPictureBox一つと、Button三つをおいて、Button1で、PictureBoxに丸を書いて、Button2とButton3で、PictureBox内で、丸を右左に移動させようと考えています。で丸を書くことと、同じプロシジャー内では、移動させることはできました。が、別のプロシジャーから移動させるってことは出来るのでしょうか?VB2005をやり始めたばかりなのでてんでわかりません。どなたか詳しい方いらっしゃいましたら教えてください。よろしくお願いします。 Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim g As Graphics = PictureBox1.CreateGraphics() g.Clear(PictureBox1.BackColor) Dim w As Integer = PictureBox1.ClientSize.Width / 3 Dim h As Integer = PictureBox1.ClientSize.Height / 3 g.ResetTransform() g.DrawEllipse(Pens.Black, 0, 0, w, h) g.TranslateTransform(80, 50) g.DrawEllipse(Pens.Black, 0, 0, w, h) g.ResetTransform() g.Dispose() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim g As Graphics = PictureBox1.CreateGraphics() g.TranslateTransform(80, 50) End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click End Sub End Class
- 締切済み
- Visual Basic
- cbr4001964
- 回答数1