■過去ログ置き場に戻る■ 1- 前250 次250 最新50


[memo] "9999999999_00.html#R20" という感じで、URLの最後に "#RレスNo" を追加すると幸せになれます。

★初心者にVisual C++を教えるスレ★ Part13
501 名前:デフォルトの名無しさん :04/07/29 14:09
VisualStudio.NETに変わってからあまりに環境が変わりすぎてさっぱりわかりません。
クラスウイザードはどこへ行ったのでしょうか?代わりになるものはなんですか?

502 名前:デフォルトの名無しさん :04/07/29 14:17
>>501
プロパティ

503 名前:デフォルトの名無しさん :04/07/29 15:20
JPEGファイルを扱いたいのですが、CImageクラスでは保存時に圧縮率を設定できません。
圧縮率を設定するにはどうしたらいいのでしょうか?

504 名前:デフォルトの名無しさん :04/07/29 17:38
>>501
右の方にニュッと出てくるプロパティとかあるじゃん
そこらへんにだいたい同等の機能が組み込まれてる

505 名前:デフォルトの名無しさん :04/07/29 17:51
>>502,504
なんとなく解決。もういちどScribbleから始めます。


506 名前:デフォルトの名無しさん :04/07/29 17:56
Scribbleってみんなやってるの?
ちなみにやってない派。

507 名前:デフォルトの名無しさん :04/07/29 18:05
MFCだけじゃなくVC++の使い方まである程度わかるようになるのでいい。
前の環境では書籍がついてたのだが、.NETではどこにあるのか教えてください。

508 名前:デフォルトの名無しさん :04/07/29 18:10
>>495
ZeoSync で検索すればどんなHPだったのか分かる。
結局こいつら夜逃げしたのか。

509 名前:デフォルトの名無しさん :04/07/29 19:53
>>508
詐欺事件があった、てことなのでしょうか。

で、どなたか492の質問に回答お願いします_| ̄|○

510 名前:デフォルトの名無しさん :04/07/29 20:35
>>508, 492
一口に圧縮と言っても色々あるし対象となるデータによっても
向き不向きがあるので、まずはここら辺りで基本的な知識を身につけて
目的にあった方法をより深く調べるなりすれば良いかと。
ttp://member.nifty.ne.jp/yamazaki/doc/basic_compression.html
ttp://homepage1.nifty.com/snap/room03/c02/comp/comp.html

511 名前:VisualC++初心者です :04/07/30 00:53
ノートパソコンの方にSDK入ってませんでした><;
初歩的な事聞いてごめんなさい;;

急いでSDKをダウンロードしたんですけど、
インストール途中に変なエラーが出て失敗・・・
なんだかインストールするまでも凄く動作が重くなったりするんです。
こんな事ってあります??

512 名前:デフォルトの名無しさん :04/07/30 01:42
あります

513 名前:デフォルトの名無しさん :04/07/30 14:43
VC++で使用出来るグレープシティのスプレッドシートのような
ものはないのでしょうか?


514 名前:デフォルトの名無しさん :04/07/30 17:41
Excel.Application

515 名前:デフォルトの名無しさん :04/07/31 20:20
WM_KEYDOWNとWM_CHARを使うプログラムを見ていたのですがWM_KEYDOWNはキー入力全般、WM_CHARは文字入力を伴うキー入力のことだと思うのですが、
それを踏まえてこんなコードを書いたのですが http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/lounge/file/1074774948_28/text.txt
jを押したときもhを押したときもメッセージボックスが出てくるのは出はないかと思ったのですがhのみ有効でjは反応はなく、Xは有効なのですがどうしてjが無効なのかがわかりません。
よろしければご指導お願いします。

516 名前:515 :04/07/31 20:23
if(wParam == 'o')の処理をWM_CHARに書けというのは無しで、WM_KEYDOWNで行うにはどうすればよいかをお願いします。


517 名前:デフォルトの名無しさん :04/07/31 20:55
jに応答するコードを書いてないから。

case WM_CHAR:
if(wParam == 'h')
{
wsprintf(s,"hを入力しました");
MessageBox(hWnd,s,"MsgBox",MB_OK);
}
return 0;
case WM_KEYDOWN:
if(wParam == 'o')
{
wsprintf(s,"oを入力しました");
MessageBox(hWnd,s,"MsgBox",MB_OK);
}
if(wParam == 'X')
{
if((GetKeyState(VK_CONTROL)<0)&&(GetKeyState(VK_SHIFT)<0))
{
PostQuitMessage(0);
}
}
return 0;


518 名前:515 :04/07/31 21:46
jとo間違えました。
oを押しても反応がないのでどうすればよいかお願いします。

519 名前:デフォルトの名無しさん :04/07/31 23:19
仮想キーコードと
キャラクターコードの違いじゃねーの?

520 名前:デフォルトの名無しさん :04/08/01 01:48
>>515
A〜Zの仮想キーコードは、'A'〜'Z'の「大文字」のASCIIコードと同じ。

521 名前:デフォルトの名無しさん :04/08/01 02:39
>>520
ありがとうございました。

522 名前:デフォルトの名無しさん :04/08/02 14:39
Unixサーバにtelnetでログインしていろいろなコマンドを入力するかわりに
GUI操作により自動でコマンド入力するようなソフトウェアをつくりたいと考えています。

たとえば、接続ボタンを押すとあらかじめ登録されたホストにtelnetログインし、GUIにホームディレクトリの
ファイル一覧を表示し、GUIに設けた検索ボタンを押すと裏でtelnet経由でgrepコマンドを起動して
その結果をまたビジュアルに表示するといったようなものです。

そのためにはまずtelnetを制御する仕組みが必要になりますが、MFC等で簡単にtelnetを扱うための
クラスはありますか?FTP用のクラスはあるみたいですが。
ないとしたらVCではどのような手法でtelnetを実現するのが一般的なのでしょうか?

523 名前:デフォルトの名無しさん :04/08/02 15:00
>>522
「Socket クラス」で検索すれば良いよ。

524 名前:522 :04/08/02 15:15
>>523
MFCのCSocketクラスというのが見つかりました。
これつかってみようかと思います。ありがとう。

525 名前:デフォルトの名無しさん :04/08/02 19:16
>>522
TeraTermのマクロでも使えば?

526 名前:デフォルトの名無しさん :04/08/02 19:49
VC++6.0 なのですが、WizardでMFCのexe(MDI)を作成したところWinMainがありませんでした。
今までWinMain(DllMain)ありきという考えでソフトを組んでいたんですが・・・。
アプリケーションを実行した場合、CWinAppクラスがWinMainを含んでいて(?)、
コンストラクタが最初に動作するという考えで良いのでしょうか?

527 名前:デフォルトの名無しさん :04/08/02 19:51
たった>>523程度の助言でtelnetクライアントを書き上げるだけの
力があるなら>>522のような質問はしないと思うが・・・


528 名前:デフォルトの名無しさん :04/08/02 20:00
telnetなんか使わずにssh使えよってツッコミはだれもしないのか?
その方が楽に実装できるし、しかも安全だぞ。

529 名前:デフォルトの名無しさん :04/08/02 20:05
>>526
MFCはentry関数名が違うだけ

530 名前:デフォルトの名無しさん :04/08/02 20:06
どっからつっこでいいものやら...


531 名前:デフォルトの名無しさん :04/08/02 21:17
>>526
WinMainはMFCに内包されとる。
WinMain(_tWinMain)→MFC自体の初期化→アプリケーションクラスのInitInstance()
ソース見てみ。

コンストラクタはWinMainの前。
ウィザードで作られたソースに

CHogeApp theApp;

ってグローバル変数があるだろ?


532 名前:デフォルトの名無しさん :04/08/02 22:43
>>528は、単に「ssh」と言ってみたかっただけ

533 名前:デフォルトの名無しさん :04/08/03 07:59
>>532
リモートでコマンド実行したいんだから、
rsh とか ssh の Xsh 系でいいんじゃないの?
telnet 使おうとする方がどうかしてる。


534 名前:デフォルトの名無しさん :04/08/03 08:51
あー確かに。
>532を改めて読むと、単にrshでlsとかgrepとかすればいいだけな気がする。

535 名前:522 :04/08/03 09:52
今回は、sshやrコマンド、X-window等は使えないローカルな環境をターゲットしています。
rコマンドは使えるようにしてもいいかとは考えていますが、対話型コマンド等考えると
telnetのほうが無難かなとも思っています。
また、コマンドラインベースの操作にGUIをかぶせることが目的で、webにしようかとも
考えたのですが、ホスト側でhttpdを動かすことに抵抗があり止めました。
もちろん自分が使うのであればteratermでログインして作業したほうが楽です。

例としてはls等をあげていましたが本当は特殊なシステムを保守するためのコマンド郡になります。

Unixでのプログラム経験はありますがGUIやWindowのプログラム経験がゼロでしたので
取っ掛かりとして先の質問させていただきました。いろいろアドバイスいただきありがとうございます。

536 名前:デフォルトの名無しさん :04/08/03 11:41
Visual C++ .NETで、.Net Framework コンポーネントのDatagridを
ツールボックスから使用しようとしても、項目はあるのですが、
灰色で使用不可能になっています。
どうしたら使用できるのかどなたか教えていただけませんか?

537 名前:デフォルトの名無しさん :04/08/03 12:10
VisualC++.NETで、ボタンをクリックするとラベル内の数字が1ずつ増加するプログラムを作りたいんですけど、
どう書けば良いんでしょうか…

538 名前:デフォルトの名無しさん :04/08/03 12:13
>>537
そんなソフト作って何になるの?

539 名前:デフォルトの名無しさん :04/08/03 12:23
>>537
ボタンをクリックするとラベル内の数字が1ずつ増加するプログラムを作る。

540 名前:デフォルトの名無しさん :04/08/03 12:41
>>537
CString ss;
int i;
CWnd *wLabel = GetDlgItem(IDC_Label);
wLabel->GetWindowText(ss);
i = atoi((const char*)ss);
ss.Format("%d",++i);
wLabel->SetWindowText(ss);

541 名前:デフォルトの名無しさん :04/08/03 19:38
_beginthreadを使ってプログラムを作ろうと思ったのですが、
process.hをインクルードしたのに
error C2065: '_beginthread' : 定義されていない識別子です。
と出てしまいます。
ネットで調べてみると、どうやらマルチスレッド用のライブラリをリンクする必要があるそうなので、
そのようにしたいのですが、そのやり方がわかりません。
ネットで検索すると、VC6での変更のしかたは
[プロジェクトの設定]-[C/C++]-[コード生成]-[使用するライブラリ]-[マルチスレッドライブラリ]
を変更するらしいことは分かったのですが、
残念ながら手元にあるのが
Microsoft Visual C++ .NET
なので、(VC7にあたるんでしょうか?)どこを変更したらいいのかわかりません。
分かる方がいらっしゃったら教えていただけませんでしょうか。

542 名前:デフォルトの名無しさん :04/08/03 21:44
プロジェクトのプロパティを開いて
C/C++ -> コード生成 -> ランタイムライブラリ

543 名前:541 :04/08/03 22:42
>>542
レスありがとうございました。
解決しました。助かりました。
本当にありがとうございました。

544 名前:デフォルトの名無しさん :04/08/04 00:37
>>537
ラベルに適当なIDを振ってそれにコントロール変数をCString型で割り当て。
ボタンのメッセージハンドラ内で、
{
Label.Format("%d", atoi(Label) + 1);
UpdateData(TRUE);
}

545 名前:544 :04/08/04 00:38
>>544
TRUEじゃねぇ、FALSEだ。

546 名前:デフォルトの名無しさん :04/08/04 04:56
VC++6.0でwin32applicationで標準的なhelloworldアプリケーションを選択するとはじめからいくつかのファイルが用意されていますが、
プロジェクト名.cppファイルを参考書でそのままコンパイルしろとあったのですが、fatal error C1083: プリコンパイル済ヘッダー ファイルがオープンできません。'Debug/hhh.pch': No such file or directoryとでてコンパイルができません。
何もいじったわけでもないのになぜなんでしょう。。?

547 名前:デフォルトの名無しさん :04/08/04 06:08
>>546
書き込みできないディレクトリ上で開発しようとしてないか?
そうでないならプロジェクトの設定がおかしくないか?

548 名前:デフォルトの名無しさん :04/08/04 09:32
Visual Studio 2003 .NET つこうとるんだけど,
そのエディタで,「閲覧モード」みたいなのはないの?
適当なキィを割りあてて切り換えながら使えると便利なんだけど…


549 名前:デフォルトの名無しさん :04/08/04 10:48
SetThreadLocaleなどを使って
CreateDialog等で既に表示されているリソースを
破棄しないで表示言語の切り替えをするには
どうすれば良いでしょうか?

550 名前:デフォルトの名無しさん :04/08/04 15:02
>>548
マルチポスト

551 名前:デフォルトの名無しさん :04/08/04 17:16
>>548
便利だと自分で思ったなら作れば良いのに・・・。

552 名前:デフォルトの名無しさん :04/08/04 17:34
おまい、ばかだろ?
そんなに簡単に作れるなら、書き込みするかよ

553 名前:デフォルトの名無しさん :04/08/04 17:51
閲覧モードが具体的にどういうものか
詳しく書いていなくてあまりにも
アバウト過ぎる。
質問者が馬鹿なだけ

554 名前:デフォルトの名無しさん :04/08/04 19:07
そもそも「閲覧モード」ってなんだよ?オレ用語使った上に本人まで「みたいなの」を
付けてるんじゃ通じないよ・・・。

555 名前:デフォルトの名無しさん :04/08/04 19:11
VCでActiveXコントロールを作りたいのですが
イマイチよくわかりません。
ウィンザードを使ってOCXを作成し、Web上から実行して
自分で定義した関数やプロパティ値を操作したいのですが
関数やプロパティ値の定義方法がわかりません・・・。
CABファイルを作成してインストールさせるまではできたのですが・・・。

556 名前:デフォルトの名無しさん :04/08/04 19:35
ActiveXの作り方はMSDNのチュートリアルに出ているぽ。
それと、この本にも作り方と使い方が出ているぽ。
http://pc5.2ch.net/test/read.cgi/tech/1065699484/l50

557 名前:デフォルトの名無しさん :04/08/04 21:25
このスレで質問する事じゃないかもしれないけど、
a = ( USHRT )65535*( USHRT )65535;
これって、左辺はその型の限界値を超えたら型に合わせて
値が変わるけど、右辺の評価ってどうなるんでしょうか

試してみたんですけど
a=(unsigned short)65535*4%60;
a=0となり、自分が意図した通り(1)の結果が得られました。
1:(型関係無しー>262140%60=0)(USHRT_MAX=65535)
2:(型関係有りー>65532%60=12)
。。。あれ?キャストしたのに、何故?

あと、(UINT)a <= (USHRT)65535*7 の場合
65535*7をUSHRT型に変換して(=65529)から、値の比較なのか
65535*7のまま(=458745)、値の比較なのか
どちらなんでしょう
お願いします。

558 名前:557 :04/08/04 21:31
追記スマソ
(UINT) a <= (USHRT)65535*7って書いたんですけど
(UINT) a <= 65535*7(キャスト無し)の場合はどこまでが限界なんでしょうか。
質問多くて、すみません。


559 名前:557 :04/08/04 21:48
馬鹿でした。数字にキャストしてどうするって感じですね。。。
今までの質問撤回します。駄文の山が。ゴメンなさい。
もう一回考え直してみます。。。

560 名前:デフォルトの名無しさん :04/08/05 08:59
>>555
ウィザードで作成したら、クラスウィザードを開きます。
オートメーションタブでプロパティとメゾット、ActiveXタブでイベントの追加が行えます。(クラス名は 〜Ctrlを選択)

561 名前:デフォルトの名無しさん :04/08/05 16:01
visualC++をつかっていたら
それまでコンパイルできていたのに、
「vcecho!エラー」とでてコンパイルができません。
調べてもこのエラーが何なのかわかりません。
どうすればよいかわかる方教えてください。

562 名前:デフォルトの名無しさん :04/08/05 17:16
>>561
可能な限り最小限に隠蔽されたあなたの拙い情報を以ってエラーを特定してくれというのですか?
このスレの残りすべてを使って、考えられる限りの解決パターンをリストアップしろというのですか?
あなたは何様ですか?

まずは質問の仕方を、人に自分の状況を正しく伝える術を学ぶべきだと思います。


563 名前:デフォルトの名無しさん :04/08/05 18:59
>560
ありがとうございました。

564 名前:デフォルトの名無しさん :04/08/06 10:53
>>561
そのエラーメッセージでググってもなんもでてこねぇぇええーー!!ww
はっきり言って俺はそんなエラーが出たこと無いのでわからんけど、
vcechoエラー以外になんの情報もないメッセージボックスが出てたりするという状況なら、
vcechoエラー を、 vc echo エラー とわけて解釈して、VCのエラー…ということになるのかな?
VC自体の必要なファイルが壊れたとかそういうことの可能性もあるとか…。
VCを再インスコしたら直るとか…。知らんけど。適当言ってるだけだけど。

565 名前:デフォルトの名無しさん :04/08/06 12:48
PRJ0002 の可能性が。
http://64.233.167.104/search?q=cache:QEN0NK8RsE0J:softwareforums.intel.com/ids/board/message%3Fboard.id%3D16%26message.id%3D153+vcecho&hl=ja&ie=UTF-8&inlang=ja

しかし、PRJ なんちゅーエラーコードがあるとは思わなかった

566 名前:デフォルトの名無しさん :04/08/06 16:32
外部信号をA/D変換ボードを介して、取り込んだデータをもとに
波形をプロットするものを作っています。
波形をプロットするところまでは出来ました。
メニューから「サンプリング」をクリックすると、波形がプロットされるように
しているのですが、2度、3度とサンプリングをすると、前の波形が残ったまま
波形が書き込まれていきます。
WM_CREATE内で初期状態をどこかに保存し、「サンプリング」をクリックすると
波形をプロットする前に、その保存したものを呼び出せば良いのではと考えたの
ですが、その方法が分かりません…。

実現方法をご教授おながいします。

567 名前:デフォルトの名無しさん :04/08/06 16:57
>>566
バックグラウンドカラーで四角を書き込むとかではダメなん?破線が引いてあるとか?

568 名前:566 :04/08/06 17:18
>>567
破線が引いてあります。画像です。
ttp://www.2chgoods.net/01234/img-box/img20040806171806.gif

569 名前:デフォルトの名無しさん :04/08/06 17:26
メモリ上にデバイスコンテキスト(DC)を作成し、(関数名忘れた・・・。)
CreateBitmapでビットマップを作成しメモリ上のDCに関連付けし、
BitBltで初期状態のビットマップ情報をメモリ上のDCにコピーしておけば良い。
初期状態に戻すにはメモリ上のDCから対象DCにコピーし直せばOK。

570 名前:デフォルトの名無しさん :04/08/06 17:38
Visual C++ 6.0 と Visual C++ .NET ではどちらが最新版なのでしょうか?

それともまったく別物なので比較できないのでしょうか?

違いがいまいちわからないので教えてください

571 名前:デフォルトの名無しさん :04/08/06 17:40
>>570
6.0はXP発売以前のver
こう言えばわかるだろ?

572 名前:デフォルトの名無しさん :04/08/06 18:00
>>571
XP?

573 名前:570 :04/08/06 18:03
では最新版は .NET なのでしょうか?

今、6.0をもっているので買い換えようか迷ってました。

574 名前:デフォルトの名無しさん :04/08/06 18:42
>>573
.NET 2003

575 名前:デフォルトの名無しさん :04/08/06 18:46
>>573
もうちょっと待つと .NET 2005 が出る

576 名前:570 :04/08/06 19:07
>>575
じゃあ、もう少し待ってみます。

今日、電気屋に行ったら .NET 2003 アカデミパック が5000円くらいで売っていたので買おうかどうか迷ってました。
買わなくて正解でしたね。

577 名前:デフォルトの名無しさん :04/08/06 19:17
>>575
何ヶ月待たせるつもりだw
5000円パッケージがすぐに出るとも限らんし。

578 名前:デフォルトの名無しさん :04/08/06 19:19
>>576
それ、アカデミックじゃなくてtheSpokeのやつ。
それに.NET 2005が出ても、theSpokeがすぐ出るとは限らんから、
そんなに安く買えないと思うぞ。



579 名前:デフォルトの名無しさん :04/08/06 19:32
ちなみに2005でWin32GUIアプリを作るには、
かなり遠回りしないと出来ないようだ。
http://gamdev.org/w/?%5B%5BVisualStudio2005ExpressBeta%A4%C7Win32%A5%A2%A5%D7%A5%EA%A4%F2%A5%D3%A5%EB%A5%C9%A4%B9%A4%EB%CA%FD%CB%A1%5D%5D

MS的には、やっぱり ,NET を使って欲しいらしい。


580 名前:デフォルトの名無しさん :04/08/06 19:40
.NET 2005 じゃなくて .NET は製品名から取れたんじゃなかったっけ

581 名前:デフォルトの名無しさん :04/08/06 19:42
>>579
ヘッダとライブラリの設定してるだけじゃん

582 名前:デフォルトの名無しさん :04/08/06 19:45
>>579
そうか?そこの設定ファイルの書き換えってのが何なのか知らんけど、
PSDKにPath通すのは今まで通りじゃ?

583 名前:デフォルトの名無しさん :04/08/06 20:45
>>576
学生だったら卒業する前にとっとと買うのが正解

584 名前:デフォルトの名無しさん :04/08/06 21:19
>>583
Academicならok
theSpokeはNG

585 名前:デフォルトの名無しさん :04/08/06 21:20
>>584
theSpokeも卒業後OKだが?
Academicを売りつけようとする奴に騙されてないかあんた?

586 名前:デフォルトの名無しさん :04/08/06 23:13
.NET対応にするならC♯使った方が楽そうなんだけど、
敢えてC++にする意味ってあるんですか?

587 名前:デフォルトの名無しさん :04/08/06 23:17
そんなもん自分の好きにしろ

588 名前:570 :04/08/07 00:36
なんか、すぐに安くなるわけじゃなさそうですね。

皆さんが言うように theSpoke ってやつでした。
正規のものと何が違うのですか?

589 名前:デフォルトの名無しさん :04/08/07 00:40
君のは初めから全然技術的な質問じゃないんだけど、自分で調べる気は無いんかい。

590 名前:570 :04/08/07 00:45
>>589
一応、調べてから発言しているつもりですが
Spokeとか聞いたことがなかったものですので、なにか購入に当たってのデメリットとか教えてほしいです。

デメリットについてはSpokeのページを見ても普通書いてませんし

591 名前:デフォルトの名無しさん :04/08/07 00:48
>>590
Pro版を10マソ付近で購入した人から妬まれます

592 名前:デフォルトの名無しさん :04/08/07 00:55
絶対調べてないって・・・
質問内容も正規との違い→購入に当たってのデメリットに変わってるし・・・
VC++6.0とVC++.NETのどっちが新しいかなんてすぐ出てくるだろ・・・

593 名前:570 :04/08/07 00:58
>>592
すいません。よく調べてなかったです。
デメリットもマイクロソフトのページに出てました。

594 名前:デフォルトの名無しさん :04/08/07 01:09
C++とC#の環境だけほしい場合は、Visual Studioを買うより
それぞれを個別に買ったほうが値段、内容ともに得なの?

vbとかvjはいらんので。


595 名前:デフォルトの名無しさん :04/08/07 01:10
>>594
>>592

596 名前:デフォルトの名無しさん :04/08/07 01:49
>>594
お前が学生かで変わるよ。

597 名前:デフォルトの名無しさん :04/08/07 02:55
>>570
とりあえず VC++ Toolkit 2003 落としとけば?

598 名前:570 :04/08/07 03:23
>>597
今は VC++6.0 を使っているので、.NETに買いかえるべきか迷ってました。
Spoke版の.NETも安いし悪くなさそうなので(登録とかの手続きがいらないけど)
買ってみようと思います。
それともVC++6.0持っているなら.NETは5000円を出す価値がないとか?

599 名前:デフォルトの名無しさん :04/08/07 05:55
今や全ての製品から.NETという名は除外されたね

600 名前:デフォルトの名無しさん :04/08/07 06:57
>>598
それはお前がVC++6.0を使いこなしているかどうかによる。

601 名前:デフォルトの名無しさん :04/08/07 07:15
>>598
Spokeはプロダクトキー発行の手続きが必要だしょ。(2週間ぐらいかかるっけ?)

俺、theSpoke買ったけど、VC++6.0使い続けてるなぁ。
PCが低スペックすぎで、.NETが重いからだけど…

602 名前:デフォルトの名無しさん :04/08/07 08:02
俺は4日できました

603 名前:デフォルトの名無しさん :04/08/07 09:07
>>601
プロダクトキーがくるまでのために体験版DVD(キー不要)も同梱。

604 名前:デフォルトの名無しさん :04/08/07 10:06
>>598
VC6を既によく使って配布する程度のソフトをいくつか書いてるなら
.net買っても移行しづらいと思う。使い勝手もかなり変わるし、それで
使いやすくなったって言う人は少ないし。現状の開発環境に特に
具体的な不満点があって、.net版の導入で解決されることが見えてる
なら買えば良いけど、そうでないなら買ってもVC6を使い続けることに
なると思う。

605 名前:デフォルトの名無しさん :04/08/07 10:13
>>604
このレビューは参考になりましたか?
◎はい ○いいえ


606 名前:570 :04/08/07 11:01
>>604
参考になりました。
VC++6.0を使いこなしているとは思っていませんが、
マシンスペックに自信あるわけじゃないので買い替えは見送ります。(動きが遅くなるのは問題ですね)
今もっているVC++6.0は学校で配っていたやつでMSDNがないのでMSDNあるやつを買おうと思ってましたが、(タブ表示も魅力できでしたが)
重くなるのであれば、買わないほうがよさそうです。

607 名前:デフォルトの名無しさん :04/08/07 11:14
>>606
VC6から.NET2003にしたけど、正直泣きながら使っている。
暗黙の仕様変更が多いため、使い勝手はかなり悪い。
コンパイラこそVC7だが、
UIは事実上VC V6.0→.NET V1.0でバージョンダウン。

608 名前:デフォルトの名無しさん :04/08/07 11:42
個人的にはビルドミニバーが無くなったのが
悲しい

609 名前:デフォルトの名無しさん :04/08/07 12:11
>>606
タブはWndTabsと言うアドインを入れれば使えるようになるよ。

でも漏れはなるべく.net使うけどな。
色々向上してるところも有るからねぇ。

610 名前:デフォルトの名無しさん :04/08/07 15:22
仕事でVisualStudio6も.netも使っているのでいくつか列挙。

デバッグ環境はサブウィンドウの管理が変わったお蔭で随分良くなったと思う。
クラスウィザードほど手軽ではないし、その辺りの使い勝手は大きく変わった。
ソースへの埋め込み方が小汚くなった。
resource.hをテキストエディタで編集しても問題が出にくいようだ。
ダイアログエディタが落ちにくくなったかも。
言語的にはテンプレートでの警告がなくなったりansi準拠度が増している。
MFCが吐くソースに関しては一長一短。
ヘルプに関してはVC6のそれがバージョンダウンだと思っているのでましに戻った。

611 名前:デフォルトの名無しさん :04/08/07 16:58
ドトネットのヘルプは重過ぎる。


612 名前:デフォルトの名無しさん :04/08/07 18:56
昔のVC++って、パッケージが5kgくらいだった。まじで物理的に重かったが、ありがたみがあった。


613 名前:デフォルトの名無しさん :04/08/07 21:39
C/C++言語・関数リファレンスやら
Win32APIリファレンスまで入ってたからね。
印刷物で。

買った〜!って言う感じは持てたよね。

614 名前:デフォルトの名無しさん :04/08/07 21:54
今はポースターが沢山入っているよね
ヤラレターっていう感じ

615 名前:デフォルトの名無しさん :04/08/07 22:11
昔の MSC ってフロッピー1枚で動いてた。
まじで速度的に重かったが、よく我慢して使ってたと思う。


616 名前:デフォルトの名無しさん :04/08/07 22:12
大容量だ

617 名前:デフォルトの名無しさん :04/08/07 22:27
>>614
あのポスターって使ってる人いるの?
価値あるものなの?

618 名前:デフォルトの名無しさん :04/08/07 23:03
さあ。。
pdfでダウンできるからな。

619 名前:C初心者です :04/08/08 13:06
visualC++でウィンドウを作成をするにはどうすれば良いのでしょうか?

620 名前:デフォルトの名無しさん :04/08/08 13:08
CerateWindow

621 名前:デフォルトの名無しさん :04/08/08 13:12
>>620
C++Builder見たいにいろんなコンポーネントをポトペタと貼り付けたいのですが
CerateWindow で作成したWindowにどうやればOK?

622 名前:デフォルトの名無しさん :04/08/08 13:21
>>621
VC++でポトペタがやりたかったら .NETでWindows フォーム アプリケーションをつくれ。

623 名前:デフォルトの名無しさん :04/08/08 14:03
>>621
ダイアログベースでやれば?

624 名前:デフォルトの名無しさん :04/08/08 18:20
>>621
CFormView使えば?

625 名前:デフォルトの名無しさん :04/08/08 19:53
>>624
コントロールやけに少なくね?

626 名前:デフォルトの名無しさん :04/08/08 20:14
VC++はそういうものだ

627 名前:デフォルトの名無しさん :04/08/09 11:32
しょうもない質問なんだけどさ、msvcr71.dllはアプリケーションと一緒に
再配布してexeと同じ場所におけって書いてあるけど、その配布する元の
ファイルはどのディレクトリからもってくればいいの?

パッチとか当ててファイルが更新された場合なんかに、常に最新のバージョン
であることが保証されている場所とかある?
システムディレクトリにあるやつでいいのかな?

628 名前:デフォルトの名無しさん :04/08/09 17:18
VC.NET 2003 って、
struct Impl;
Impl* pimpl;

struct Impl* pimpl;
って書けますか?

629 名前:デフォルトの名無しさん :04/08/09 18:37
>>628
自分で試せば?

630 名前:デフォルトの名無しさん :04/08/09 22:21
分からなければCDに入っているのをコピーすれば良い。
dllの最新バージョンはVSのサービスパックで提供されるからそれを使えば良い。


631 名前:デフォルトの名無しさん :04/08/10 07:38
>>629
試せねーから、聞いてんじゃんよ
馬鹿かおめー

632 名前:デフォルトの名無しさん :04/08/10 08:22
無償でできるんだから試せや。

633 名前:デフォルトの名無しさん :04/08/10 09:15
VC++.NETってなんでこんなにビルドが遅いんですか?
もしかしてIDE自体が.NETフレームワークで動いてんですか?

634 名前:デフォルトの名無しさん :04/08/10 09:17
>>633
IDEがビルドするかよ(w

635 名前:デフォルトの名無しさん :04/08/10 09:31
これここで聞けばいいですか?


VC++netで
checklistboxを使いたいんですけどツールボックスの中にはありませんよね
これをデザインで視覚的に操作しながら編集するには?


636 名前:デフォルトの名無しさん :04/08/11 00:33
コンソールアプリで純粋にCをやりたいんだけど、
どうもC++でコンパイルしてやがるんです。
助けて下さい。


637 名前:デフォルトの名無しさん :04/08/11 00:41
拡張子を.cに

638 名前:デフォルトの名無しさん :04/08/11 00:46
>>637
助かりました

639 名前:デフォルトの名無しさん :04/08/11 18:47
インラインアセンブラ内でカスタムリソースを読みたいんですが、
どうもうまくいきません。

if(h_res1 = LoadResource(NULL,FindResource(NULL,TEXT("#100"),TEXT("BINARY"))))
table1 = (LPSTR)LockResource(h_res1);

で、バイナリを読み込んで

MOV EBX,dword ptr[table1+EDI+1000h]

で、バイナリデータの一部を読みたいんですが、例外が出て止まってしまいます。
ちなみにEDI+1000hはオフセット値なんですが、何がいけないんでしょうか?

というかこういう質問はアセンブラスレ行きですかね・・・

640 名前:デフォルトの名無しさん :04/08/11 20:29
サービスを登録するプログラムを作ってるんですが、いきなりつまづきました。

VS6.0で、ダイアログベースで作ってるのですが、
SC_HANDLE scm;
とすると、SC_HANDLEが定義されていない、と言われます。

以下、OpenSCManager、CreateService等の関数も定義されていないと言われます。
windows.hはインクルードしているのですが、???です。

誰かわかる方、教えてくださいm(__)m

641 名前:デフォルトの名無しさん :04/08/11 21:12
>>640
ヘルプ嫁

642 名前:デフォルトの名無しさん :04/08/11 21:25
>>641

あはは
ヘルプに書いてありました。
ごめんなさい。ありがとう。

643 名前:デフォルトの名無しさん :04/08/11 21:55
Visual C++ Toolkit 2003は、
exeをつくるとき、ファイル名の前に何て入れるんですか??




644 名前:デフォルトの名無しさん :04/08/11 21:56
>>643
コンパイルの事か?
clだぞ。

645 名前:デフォルトの名無しさん :04/08/11 22:04
>>644さん
さっそく試してみます。


646 名前:デフォルトの名無しさん :04/08/11 23:02
Alt + F8の自動インデントが効かなくなったのですが、
どこに設定があるのでしょうか?

647 名前:デフォルトの名無しさん :04/08/12 05:40
Visual C++のテキスタエディタの編集「元に戻す」が
急に効かなくなった。
パラメータヒントもたまに使えなくなるし、
なんかバグ(?)多い。
難しいよ、ややこしいよ、VisualC++...
パラメータヒントの方はヘルプに載ってたから、.ncbファイル削除
ですぐ直るけど、「元に戻す」の方は不明です。
どなたかお願いします。

648 名前:デフォルトの名無しさん :04/08/12 05:53
>>646
ツール->オプション内、テキストエディタ->すべての言語->タブ
で設定。
(インデントって書いてあるけど自動インデントの事だと思う)
初心者なので、間違ってたらゴメソ。

649 名前:デフォルトの名無しさん :04/08/12 06:01
>>647
バグへの対処方法がヘルプに載ってるっていうのもすごいな

650 名前:デフォルトの名無しさん :04/08/13 09:04
Windows2000(SP4)にVisualC++(6.0,SP5)を入れてみたのですが
インテリセンスが有効になっていると C++ソースを打ち込むとき
10〜15秒ぐらい VisualStudio の応答が無くなります。
(.ncbファイルを消してみるというのは試してみました)

ステートメント入力候補のオプションのチェックを全部外せば
避けられるのですが、こんなものでしょうか。
またはVisualStudio.Net 200xに乗り換えろというMicrosoftの
主張でしょうか。

651 名前:デフォルトの名無しさん :04/08/13 09:10
うちにも同じ環境があるけど、べつに遅くないでつ。

652 名前:デフォルトの名無しさん(650) :04/08/13 10:20
問題にしている人が皆無なので日ごろの行いのせいである
可能性も否定できませんが、なんとなく分かってきました。

#include で '<'を打ち込んだ時になにやらネットワーク上に
ブロードキャストを送って応答を待っている感じです。
ちなみにEnterprise版です。

653 名前:デフォルトの名無しさん :04/08/13 11:53
すみませんです、参照していた別プロジェクトの.ncbファイルに今は無い
別のマシンのファイルが記述されており それを見に行っていた模様です。

654 名前:デフォルトの名無しさん :04/08/13 20:39
メッセージマップを使うとエラーがでるのですが、原因がわかりません…。
具体的には、

#include<afxwin.h>
//----------ウィンドウクラス-----------------------
class CAddressWnd : public CFrameWnd {
public :
CAddressWnd();
void OnPaint();
DECLARE_MASSAGE_MAP()
};
BEGIN_MESSAGE_MAP(CAddressWnd,CFrameWnd) //この行
ON_WM_PAINT()
END_MESSAGE_MAP()

のところで'GetMessageMap' : このメンバ関数は、'CAddressWnd' クラス内で宣言されていません。
となります。本の付録のサンプルプログラムをコンパイルした際にも同じエラーがでてしまいます。
ヘッダーファイルが壊れているのでしょうか?

655 名前:デフォルトの名無しさん :04/08/13 21:54
>>654
×DECLARE_MASSAGE_MAP()
○DECLARE_MESSAGE_MAP()

656 名前:デフォルトの名無しさん :04/08/13 22:42
マッサージマップワロタ

657 名前:デフォルトの名無しさん :04/08/13 22:56
せめてコンパイルが通るようマッサージマップの後ろにセミコロンぐらい付けといてくれないと。
ネタとしてはまだまだだな。

658 名前:デフォルトの名無しさん :04/08/14 02:57
>>657 真性


659 名前:デフォルトの名無しさん :04/08/14 03:32
>>657は真性包茎だな。

660 名前:デフォルトの名無しさん :04/08/14 10:07
マクロでイベント処理をする方法がわからないのですが
以下にやり方が書いてあるのですが、自分でやってみても上手く動きません。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vsintro7/html/vxtskmacrosenvironmenteventsprojectitem.asp
わかる方やり方を教えて下さい。

今の自分のソースです(全然わかってないと思うので見当違いの事をやってると思います)
Public Module EnvironmentEvents

+Automatically generated code, do not modify
,↑デフォルトで生成される隠れてる部分です
<System.ContextStaticAttribute()> Public WithEvents CommandEvents As EnvDTE.CommandEvents
' This procedure handles DTEEvents.OnMacrosRuntimeReset.
Public Sub DTEEvents_OnMacrosRuntimeReset() Handles DTEEvents.OnMacrosRuntimeReset
CommandEvents = DTE.Events.CommandEvents
End Sub

Public Sub CommandEvents_AfterExecute(ByVal Guid As String, ByVal ID As Integer, ByVal CustomIn As Object, ByVal CustomOut As Object) Handles CommandEvents.AfterExecute
MsgBox(DTE.Commands.Item(Guid, ID).Name)
End Sub

End Module


661 名前:デフォルトの名無しさん :04/08/14 11:55
描画の質問です。
InvalidateRect(&rect, TRUE)で
無効矩形だけじゃなくて、クライアント領域の背景も消されてしまう
わけですが、
矩形内のみ消去する方法って何か有ります?

662 名前:デフォルトの名無しさん :04/08/14 17:02
InvalidateRect(&rect, FALSE)

663 名前:デフォルトの名無しさん :04/08/14 18:06
>>662
よく考えてみたら矩形内に上書きすればいいだけで
消去する必要なんてなかった。FALSEでよかったんですね。

664 名前:デフォルトの名無しさん :04/08/14 18:07
新しいワークスペース プロジェクトwin32appをつくって、
たとえばCDにあるサンプル.cpp リソース.rc リソースヘッダ.h
をvc++6にadd files to the projectで入れる。
それらはprojectに追加されるけど、PATHがCDで、ファイルが読取専用になるでしょ?
そうでなくて そのワークスペースにPATHも変えて読取専用をはずして取り込む方法はありますか?
(先にそれらのファイルを移動させて、読み取り専用をはずすのはめんどくさい)


665 名前:デフォルトの名無しさん :04/08/14 18:23
ない

666 名前:デフォルトの名無しさん :04/08/14 18:30
え 、まじで?

667 名前:デフォルトの名無しさん :04/08/14 18:41
マジで。


668 名前:デフォルトの名無しさん :04/08/14 18:44
かなしけど信じる。ずっと面倒だと思ってたが、やり方知らんだけだとおもってた。
ありがと

669 名前:デフォルトの名無しさん :04/08/14 21:31
>>668
必要ならマクロなりバッチファイルなり好きな手段で自動化すればよかろう。

670 名前:デフォルトの名無しさん :04/08/14 23:25
そんなに面倒か?コピーして、属性を変えるだけだが…
まさか、ファイル1つずつ属性変更、なんてやってるわけでもあるまい。

671 名前:デフォルトの名無しさん :04/08/15 15:49
VC++6.0でwin32アプリケーションで標準的なhellowordを選択するといくつかコードが用意されますが、
ソースファイルのプロジェクト名.cpp(おそらくメインのソースファイル)のコードをビルドメニューの中のコンパイルを選択しコンパイルを実行すると
fatal error C1083: プリコンパイル済ヘッダー ファイルがオープンできません。'Debug/tamesi.pch': No such file or directory となり、コンパイルすることができません。
ビルドメニューのビルドを選択するとビルドはできるのですがなぜかコンパイルのみ上のエラーが出てしまいます。
もしかしてあらかじめ用意されているファイルはコンパイルする必要がないのでしょうか?
なぜこのような問題がおきるのか教えていただけると助かります。


672 名前:デフォルトの名無しさん :04/08/15 20:46
先に日本語の勉強をした方が良いと思います。

673 名前:デフォルトの名無しさん :04/08/15 21:11
>>671
StdAfx.hをプリコンパイルしたファイルが作られてないだけ。


674 名前:デフォルトの名無しさん :04/08/15 21:58
VC2003のISO C99の対応状況はどうなんでしょう?

675 名前:デフォルトの名無しさん :04/08/15 23:22
>>673
アリガトゴザイマシタ

676 名前:デフォルトの名無しさん :04/08/16 00:15
>>674
VC++.NETは対応してないみたい。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vccore/html/vcrefwhatsnewlibrariesvisualc70.asp

開発チームがコメントしてるみたいだけど、英語だし、誰かやくして。
http://msdn.microsoft.com/chats/vstudio/vstudio_022703.asp


677 名前:デフォルトの名無しさん :04/08/16 02:36
先日 Visual Studio.net を買ったんですけど、
#include <iostream.h>
とやったら、そんなヘッダないって言われました。
いろいろやったところ、

#include <iostream> をインクルードして
std::cout<<"Hello World"<<std::endl;
ならうまくいくことがわかりました。

iostream.hはなくなったのでしょうか?
また、std::coutではなく、coutだけで記述できないのでしょうか?
どうしてこのようなことになるのでしょうか?

C++は初めてやったのでよくわかりません。
私の持っている入門書にはこのようには書いていませんでした。
教えてください。

678 名前:デフォルトの名無しさん :04/08/16 02:51
持ってる入門書を投げ捨ててちゃんとした本買え。

679 名前:デフォルトの名無しさん :04/08/16 11:16
using namespace std;

680 名前:デフォルトの名無しさん :04/08/16 14:26
>678
禿げ上がってしまったほど同意。
>679のような文の説明もないような入門書とやらには
金を出す価値はない。

681 名前:デフォルトの名無しさん :04/08/16 15:05
>>677
何年前の入門書だよ。
21世紀以降の本でそれだったら泣くぞ。

682 名前:デフォルトの名無しさん :04/08/16 16:22
>>677
本の名前教えてほしい。

683 名前:デフォルトの名無しさん :04/08/16 17:17
SDKで、エクスプローラ風フォルダリストを作りたいんですが、どうしたらいいんでしょうか?
環境 Win2K
VC++ 7.1

684 名前:デフォルトの名無しさん :04/08/16 18:19
環境を記号のように書いて質問する人の神経
書けば文句ないんだろ的思考

685 名前:デフォルトの名無しさん :04/08/16 18:25
>>683
DrawText や LoadImage や BltBit等を組み合わせればできると思います。

686 名前:デフォルトの名無しさん :04/08/16 18:39
>>684
ゴミレス(゚听)イラネ

687 名前:デフォルトの名無しさん :04/08/16 19:11
最新のWTLにそのものずばりなサンプルが入ってるんだけどな。
WTLをSDKで読み替えられるならそれで十分だと思うけどな。

688 名前:デフォルトの名無しさん :04/08/16 23:58
>>683
IShellBrowser

689 名前:デフォルトの名無しさん :04/08/17 00:16
long型整数は0Lですよね
double,float,char型の整数はどうかくのですか?

690 名前:デフォルトの名無しさん :04/08/17 00:23
0.0 //double
0.0F //float
charは計算式中ではintに格上げされるので、指定は無い

691 名前:デフォルトの名無しさん :04/08/17 00:26
>>690
Thanx

692 名前:デフォルトの名無しさん :04/08/17 00:39
doubleやfloatは整数じゃねえだろとチンコ突っ込んどく。

693 名前:デフォルトの名無しさん :04/08/17 00:42
>>692
引っ込め。この酔っぱらいが。

694 名前:デフォルトの名無しさん :04/08/17 00:42
メインのウィンドウハンドルってグローバルにすると
何かまずいんでしたっけ?
いちいち関数に引数つけるの面倒くさいので
グローバルにしちゃいたいんですが、それって間違ってますか?

695 名前:デフォルトの名無しさん :04/08/17 00:44
間違ってる

696 名前:デフォルトの名無しさん :04/08/17 00:45
>>694
http://www.cmagazine.jp/src/kinjite/c/variable.html#index10

697 名前:694 :04/08/17 00:58
>>695>>696
即行でこういうところが出てくるのがすごい。どうもです。

698 名前:683 :04/08/17 02:24
レスありがとうございます。

IShellBrowser を調べてやってます。
日本語サイトはあんまりないみたいですけど。

WTLはやったことないですけど、
インストールはしてるので、ちょっと見てみます。

>685
これはちょっときついです。

699 名前:デフォルトの名無しさん :04/08/17 04:15
>>696
そこの「ポインタと配列を混同している」の説明って
まるごと間違ってない?

700 名前:デフォルトの名無しさん :04/08/17 04:18
>>699
??
詳しく

701 名前:デフォルトの名無しさん :04/08/17 04:34
>>699
Cスレ言って教えてもらってこい

702 名前:デフォルトの名無しさん :04/08/17 04:41
リテラルの書き換えは未定義とかそういう話か?

703 名前:デフォルトの名無しさん :04/08/17 06:59
素直にconst付けりゃいいじゃん


704 名前:デフォルトの名無しさん :04/08/17 08:24
何を的外れな

705 名前:デフォルトの名無しさん :04/08/17 11:28
現在、WIN上でリニアPCMの音ファイルをμ-lawの音ファイルに
変換するプログラムを作成しています。

色々ネットを調べたのですが、音ファイルに関する知識があまりなく
よく分からない状態です。

自分なりにソースを作ってみたのですが、うまく動きません。
分かる方がいらっしゃいましたら、コメントいただけませんでしょうか。
お願いします。

仕様としては、変換元ファイル名と変換後ファイル名を入れれば
勝手にコンバートされるという形を取っています。

ソースとサンプル音ファイル(16kHz-16bit PCM)は
http://aix.exrise.jp/cnv/wave_cnv.zip
こちらにあります。

よろしくお願いします

706 名前:デフォルトの名無しさん :04/08/17 13:19
うまく動かないとは、どういう状態だ?
エラーが出るのか?プログラム自体が起動しないのか?
音が出ないのか?表示がずれるのか?ハングアップするのか?
変換が出来ないのか?オランダ人が出てくるのか?

707 名前:705 :04/08/17 13:28
オランダ人です

708 名前:>>705です。 :04/08/17 13:42
>>706さん レスありがとうございます。。。
オランダ人は出てきませんです。

音声ファイルは吐き出されますが、音がまともに出てきません。
CoolEditという音声をいじくるソフトで聞くとかろうじて聞ける
音声ファイルができます。

ちなみにCoolEditでも変換できるのですが
私が作ったプログラムからできる音とは
音質に大きな隔たりがあります。。。

709 名前:デフォルトの名無しさん :04/08/17 15:28
>>708
よく分からんままレスしますが,
ALSAのaplayで再生させると,
変換前のファイル(sample.wav)は
Signed 16 bit Little Endian, Rate 16000 Hz, Mono
と表示されるのに,変換後のファイル(imo.wav)は
Unsigned 8 bit, Rate 8000 Hz, Mono
と出ます.これはこれでいいんの?
wavのヘッダを間違ってるとかないですか?


710 名前:709 :04/08/17 16:12
>>708
変換後のファイルはimo.wavとなってるけどwavじゃないのかな.
u-lawってよく分かんないままレスしてるので,
変なこと書いてたらすみません.

soxがu-law変換できますのでソースを参考にされたらどうでしょうか?
http://sox.sourceforge.net/


711 名前:>>708 :04/08/17 16:23
>>709さん レスどうもです

実際の変換前の音声ファイルはヘッダ無しのものに対して行おうと
思っていますので、ヘッダに関しては何も考えていませんでした。
(データ部分だけに対して変換を行おうとしていました)

>Unsigned 8 bit, Rate 8000 Hz, Mono

となっているとは思いませんでした。
元ファイルは必ずPCM16kHz-16bitととし
変換後はulaw16kHz-8bitとしたいのですが・・・

私の作成したソースではどこをどういじればいいのか
わからないのですが・・・

分かる方がいらっしゃいましたら
ご教授お願いします

712 名前:デフォルトの名無しさん :04/08/17 17:17
>>711
ttp://www.kk.iij4u.or.jp/~kondo/wave/
.wavフォーマットを知らずにコンバータを作ろうとしていたとか?

713 名前:>>708 :04/08/17 17:41
>>712
ttp://www.kk.iij4u.or.jp/~kondo/wave/
ここのお世話にはなっておりますです。

一応、今回作りたいプログラムの入力音声ファイルは
ヘッダ無し音声ファイルを使用するので、ヘッダに関する
処理をいれませんでした。。。 

714 名前:709 :04/08/17 18:14
>>713
ヘッダの読み込みで既に失敗しているのでは?
sampling frequencyは65408でいいんですか?


715 名前:デフォルトの名無しさん :04/08/17 18:15
Jpegを読み込んで、表示させるにはどうしたらいいの?
MFCとかはなしでおねがい。


716 名前:709 :04/08/17 18:33
>>713
とりあえずこの辺り.一応こちらではこれで動きました.
int get_word( FILE *fp ) {
signed short result (0);
char *last ((char *)(&result + 1));
for (char *p ((char *)&result); p != last; ++ p) {
int a (fgetc(fp));
if (a == EOF)
return GET_WORD_EOF;
*p = (char)a;
}
return result;
}
int get_ulong_word( FILE *fp, unsigned long *x ) {
char *last ((char *)(x + 1));
for (char *p ((char *)x); p != last; ++ p) {
int a (fgetc(fp));
if (a == EOF)
return -1;
*p = (char)a;
}
return 0;
}


717 名前:デフォルトの名無しさん :04/08/17 18:37
>>715
GDI+

718 名前:便乗質問 :04/08/17 18:55
GDI+って、どのOSから対応してるの?

719 名前:デフォルトの名無しさん :04/08/17 19:00
XP

720 名前:>>708 :04/08/17 20:35
>>716さん ありがとうございます。
無事に動きました。。。
(簡単そうに見えて実はすごく難しいのですが・・・)

もう一つ質問させてもらえますでしょうか?

私が作ったプログラムは16kHz-8bitでファイルを作っていますが
これを8khz-8bitにする場合にはどうすればいいのでしょうか?
すみませんが、こちらの方もわかりましたら教えていただけます
でしょうか?

たぶんサンプルプログラムの
#define BIAS 0x84
#define CLIP 32635
を変更すると思うのですが・・・


721 名前:デフォルトの名無しさん :04/08/17 20:52
>>718
98/NT4.0/Me/2000/XP

722 名前:デフォルトの名無しさん :04/08/17 21:15
すいません、質問お願いします。

MSFlexGridを使ってスケジュールのプログラムを作り、
今度はそれを印刷するプログラムを作りたいのですが、
MSFlexGridの内容をそのまま印刷する方法というのはあるのでしょうか?

もしくは罫線を使って、Excelのような表を作って印刷したいのですが
何か方法はありますでしょうか?
教えてください。

環境はWindows98にVisual C++6.0です。

723 名前:デフォルトの名無しさん :04/08/17 21:28
えっと、質問なんですがAPIってCであらかじめ用意されている関数を使ってマイクロソフトがつくった関数なんですか?

724 名前:デフォルトの名無しさん :04/08/17 21:55
ぶうぁっはっはっは・・・・

725 名前:709 :04/08/17 23:12
>>720
それってu-lawにエンコードする前に普通にダウンサンプリングするってのではダメなのですか?

学習が目的でないのならsoxを使ってみるといいですよ.(Winはパイプはまともなのかな?)
私はWinでは試してないですけど,ダウンサンプリングはできますし,
u-lawエンコードもあるようですよ.


726 名前:>>708 :04/08/18 00:01
>>725さん

エンコードする前にダウンサンプリングをするというアイデアも
考えましたが、やはり同時に処理をしたいというのも考えています。
(多分、ダウンサンプリングしてからエンコードするという
2段処理をしなければいけないのだとは思うのですが・・・・)

やはり最初、SOXやSCMPX、wingogoなどを使用しようとしましたが、
それでは自分の役に立たないと思ったので自分でやろうと調べていました。
winでsoxを使用するのは可能です。しかし使用するのに
ちょっと制約が付きましたが・・・
SOXのソースを見てみましたが、レベルが高すぎて・・・(笑)

727 名前:709 :04/08/18 00:30
>>726
708さんの言う「同時」の意味は同じプロセス内でということのようなので,
それだったら,
sox -t wav sample.wav -t raw -U -r 8000 -c 1 imo.raw
でできます.(imoはwavではないのでsuffixはrawとしました.)
この場合はsample.wavを入力にして,
8000Hzモノラルでu-lawエンコードしたデータがimo.rawとして保存されます.

ファイルのコンバートが目的じゃないのなら,soxは標準入出力を使えますので,
標準入出力使ってプロセス間通信すればいいのではないでしょうか?
例えば,上の例を改編して標準入力からデータを受け取って変換したものを標準出力に出力させるには
sox -t wav - -t raw -U -r 8000 -c 1 -
とすれば良いです.
(ただし,私はwinでのプロセス間通信には暗いので,これ以上は説明できません.誰かフォローを.)

wave_cnvにダウンサンプリング機能を入れるのであれば,
読み込んでから,linear2ulaw(a)でエンコードする間にバッファがいるでしょうね.
ダウンサンプリングの解説はググれば結構ヒットしますよ.


728 名前:>>708 :04/08/18 00:41
>>727さん アドバイスありがとうございます。
wave_cnvにダウンサンプリング機能を入れてみたいので
明日、ダウンサンプリングに関して調べてみます。
どうも遅くまでありがとうございました。

729 名前:デフォルトの名無しさん :04/08/18 01:34
>>723
OSがアプリケーションのために用意している関数郡とでも解釈しとけ。
関数といってもCに限らずVBとかDelphiとかからでも呼べる。
Cの標準ライブラリなんかも最終的にAPIを呼んでいる。

730 名前:デフォルトの名無しさん :04/08/18 02:45
OSが用意してるの?
へぇ〜、知らなかったow

731 名前:デフォルトの名無しさん :04/08/18 03:14
>>729
APIをどうやって使うかっていう質問じゃなくて、
中身がどう作られているかっていう話じゃないの?

732 名前:デフォルトの名無しさん :04/08/18 04:30
>>723

標準関数 : Cコンパイラに最初から定義されている関数
    → 作成者 : Cコンパイラ開発者
    → 有効 : C専用

Win32API : Windowsがプログラムを動かすために作られた関数
    → 作成者 : Microsoft
    → 有効 : Windows専用


てことで両者は無関係で別物

733 名前:デフォルトの名無しさん :04/08/18 05:01
>>732
それはもしかしてギャグで言っているのか?(AA省略)

734 名前:デフォルトの名無しさん :04/08/18 11:03
>>733
あれ?
オレも同じような解釈してたんだけど違うの?

735 名前:デフォルトの名無しさん :04/08/18 11:59
>>732
Win32API は「Windowsがプログラムを動かすために作られた関数」ではなく
「Windows上でタスク(アプリケーション)を動作させるのに便利な関数」で、ユーザでも作成できるでしょ?

736 名前:デフォルトの名無しさん :04/08/18 12:33
>>735
Win32APIはWindowsにはじめから用意された関数群だけのことを言うから自分で作ったものはWin32APIとは言えない。
逆に標準ライブラリ関数はISO/ANSIの規格を満たしていれば良いのだから自分で作った物でも標準ライブラリ関数と言えるけど。

737 名前:735 :04/08/18 12:54
へぇ、今まで自分が作ったAPI関数もWin32APIなのだと思ってた。

738 名前:デフォルトの名無しさん :04/08/18 14:17
はじめから用意されたって、それはどうやって作るんですか?


739 名前:デフォルトの名無しさん :04/08/18 16:48
>>738
そいつはMicrosoftのみぞ知るということじゃなかろうか
Kernel32.dll
User32.dll
Gdi32.dll
Advapi32.dll
Winmm.dll
etc...
全部OSの開発者が作ったものだしね
プログラマーのために提供されたものではあるけれどOSもこれを利用しているくらい低レベル

740 名前:デフォルトの名無しさん :04/08/18 19:18
CやC++で作ってる場合もあるし、アセンブラ直書きの場合もあるだろう。

741 名前:デフォルトの名無しさん :04/08/18 20:44
>>738
Microsoftが「これはWin32APIの一部だ」と言えばそれはWin32APIの一部。

742 名前:. :04/08/19 01:44
Visual C++6でコンパイルされたEXEとDLLを分析して、
コンパイルしたパソコンを特定できるツールはありませんか?

容疑マシンが10台程度なので、C++のプロダクトIDや
CPUシリアルナンバーの一部が逆算できればいいのですが。

743 名前:デフォルトの名無しさん :04/08/19 01:56
>>742
先輩すまん。
むしゃくしゃしてたので、それ俺が作りました。

744 名前:デフォルトの名無しさん :04/08/19 05:37
>>742
EXEやDLLにはVCのプロダクトIDやCPUシリアルナンバーなんて入っていないから無理そうな気がする。

745 名前:デフォルトの名無しさん :04/08/19 05:56
しょぼい質問で恐縮なんですが、エディットボックスのプロパティで
「垂直オートスクロール」にチェックを入れているものの、
何行文字を打ってもスクロールバーが現れません。
確かこのオプションって行数がはみ出ると
勝手にスクロールバーが出てくるやつのはずだったと思うのですが・・・
何か考えられる原因などあったら教えてください。

746 名前:デフォルトの名無しさん :04/08/19 06:08
>>742
ファイルのオーナー見れば分かるんじゃない?

747 名前:デフォルトの名無しさん :04/08/19 06:10
>>745
>勝手にスクロールバーが出てくるやつのはずだったと思うのですが・・・

違います。

748 名前:745 :04/08/19 06:20
>>747
違いました!すいません。

749 名前:デフォルトの名無しさん :04/08/19 17:53
DirectPlayの練習のため、ダイアログベースの簡単なチャットを作ってます。
DPを使うにはウィンドウメッセージのコールバック関数とは別に、
通信の際の色々なメッセージを受けとる専用のコールバック関数を使うのですが、
そこで受け取ったメッセージ(DPN_MSGID)に応じて、
メインダイアログウィンドウに配置したエディットコントロールなどに
文字表示をしたいと考えてます。

そのため、そのコールバックのなかで、SetWindowText関数等で
メインウィンドウ(ダイアログ)のハンドルやエディットコントロールのハンドルを
使いたいのですが、コールバックの引数は自分で定義できないっぽいので
ハンドルを引っ張って来れません。
そこでハンドルをグローバルにしてみたんですが、
このコールバックの中でグローバル変数を弄ると落ちるようなんです。
それがこのコールバック特有のものなのかどうかは、よく分かりません。
また、意味があるのか分かりませんが、文字表示関数を別個作り、
そちらに飛んだ先でグローバル変数を使うようにもしてみたのですが、
やはり場合によってフリーズします。

この表示の部分をどうやって実装したらいいのか分かりません。
引数としてハンドルを持たせることができない以上、
グローバルにするしかないような気がするんですが、
今の所メッセージボックスでしのいでます、、、(これならハンドルを使わないから)
どんな方法があるか教えて頂けませんでしょうか。よろしくお願いします。
ちなみにクラスは使っていません。

750 名前:デフォルトの名無しさん :04/08/19 18:19
すみません。教えて下さい。
http://www.sist.ac.jp/~suganuma/cpp/3-bu/10-sho/10-sho.htm#e-10-6 −−−ここのサイトで
今C++を勉強しているのですが、クラスのところで、”リスト構造”というクラスがあるんです。
そこの文字列を追加をしていくソースの部分でわからない所があります。
else より下の部分で、
lt1 = lt2;
lt2 = lt2->next;
k = strcmp(dt->st, lt2->st); // 比較
if (k < 0) { // 追加
dt->next = lt2;
lt1->next = dt;
sw = 0;
この部分の動きと言ったらいいんでしょうか?どのようにして何を渡したりしているのかがわかりません。
この部分を解りやすく解説をお願いできないでしょうか?
一応、自分なりに考えたのですが、わかりません。
よろしくお願いします。



■過去ログ置き場に戻る■ 1- 前250 次250 最新50
DAT2HTML 0.33f Converted.