C++Builder相談室 Part4
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG過去スレ・関連サイトは>>2-4あたり。
0267257
NGNG「最初は基礎をいっぱい勉強せんといかんけどこれも
いつか俺がプログラマと呼ばれるための辛抱や。がんばるぞ!俺!」
っつーかお二人さんはこんなスタイルで勉強してきたんですか?
0268デフォルトの名無しさん
NGNGFormula One を使用するということでしょうか?
Excelのexeを別に起動させるのではなく、フォーム上に*.xlsファイルの
ワークシートを表示させたいのですが・・・。
よろしくおねがいします。
0269263
NGNG基礎部分そのものが面白いと思ってた。辛抱だとか思ったことはない。
BASIC パソコン付属のリファレンス
C K&R第2版
C++ TC++付属リファレンス、ARM
Delphi 付属リファレンス
だいたいこんなもので覚えた。
0270デフォルトの名無しさん
NGNGだから、技術が解らないのはおまえさんがアホだからなんだってば。
道具のせいにしちゃいかんよ。
0271257
NGNG>C K&R第2版
すごいね、あんた。
0272デフォルトの名無しさん
NGNGHTML 作るより、結果がすぐ出るから、楽しいんだろうなぁ。
0273デフォルトの名無しさん
NGNGアプリケーションを動かす環境に Excel はインストール済みか?
0274デフォルトの名無しさん
NGNGある程度は他人の意見も聞きなさいな。264 で問われている質問くらいは答えてちょうだいな。
0275デフォルトの名無しさん
NGNGローカルのマシンにはExcel2000が入っています。
0276デフォルトの名無しさん
NGNG辛抱とかって感情が出てくることが解らないよ。
0277デフォルトの名無しさん
NGNGBCB5 でしょ。コンポーネントパレットに Server ってなかったかなぁ?
無ければ ActiveX の取り込みで Excel を指定すればコンポーネント化できるんだが。
0278263
NGNG別にすごくない。頭良くないし。
変な例えとかで解説されるよりも単刀直入に書かれてて
「それはそういうものなんだ」とスキップして困ったときにちゃんと
理解する方があってただけ。
BASICとCの間にZ80ASMをやってたからポインタはすぐ覚えた。
後は文法しか残ってないし、予約語が少ないからわりと簡単。
関数は必要なときに用意されてるかどうか調べる。
用意されてるのに自力で実装して大きく遠回りはしたけど。
0279257
NGNG>つーか、物を覚えることがなぜ苦痛なんだろう。
どっかのスレで「一日6時間以上みっちり勉強しても
ちゃんとしたプログラムが出来上がるまで一年以上はかかる。」
ってなことが書かれてたけど、
さすがに俺にそれは無理だと思った。
0281デフォルトの名無しさん
NGNG>>264 に対するあなたの考えを聞きたいな。
0282デフォルトの名無しさん
NGNGコンピューターに限らず、何かを作るときってそれくらいの作業量は必要だと思うけどね。
もう少し大人になって、子供一匹育ててごらん。
24時間つきっきりで、独り立ちさせるまで18年くらいかかる。
それに比べりゃ...
0283257
NGNG>変な例えとかで解説されるよりも単刀直入に書かれてて
>「それはそういうものなんだ」とスキップして困ったときにちゃんと
>理解する方があってただけ。
うん、確かにそのやり方の方が楽しそうだし、
自分でどんどん先に進められる気がする。
俺が使った本なんてのは、一つのこと教えるのに
何個もの例えで書かれてあって、
それをいちいち呼んで解析するなんてめんどくさいなと思った。
0284デフォルトの名無しさん
NGNG他人の文章を読まずに感想を書き連ねているのだね。
まぁこれで彼の心のモヤモヤが晴れるのなら、付き合ってあげてもいいが。
0285デフォルトの名無しさん
NGNGServersはあります。
ワークシート上には、オブジェクトが配置されていますが、
そのオブジェクトも一緒に表示させないといけないのです。
可能でしょうか?
0286デフォルトの名無しさん
NGNGできなかったら質問してください。聞いてないでまずやってみれ。
0287257
NGNG>趣味でやっていても、基礎を身につけるために勉強する方は世の中にたくさんいらっしゃいますが、
>どう思われます?
尊敬します。
>本当に面白い部分って、人によって異なるから教えようが無い。ってのが真実ではないかな?
では自作のソースコードを公開しようとしないヤツがいっぱいいるのは
どうしてだろうか?
>テクニックや技法は教えられるけど、意欲やモチベーションってのは教える/教わるものではないでしょう?
昔なら自然に趣味が身につくんだけど、
最近はどうも自分から趣味を探すようにしている。
俺には趣味を持つ余裕がないってことなのか?
>小中学校の勉強も、大変でしたか?
塾に通ってたんで毎日の宿題の量がすごくて大変だな
と思ったことあるが、学校ではないです。
>もう少し大人になって、子供一匹育ててごらん。
年バレてます?俺
>24時間つきっきりで、独り立ちさせるまで18年くらいかかる。
お母さん、お父さん今までご苦労様でした。
0288257
NGNG>>285さんと>>286さんの邪魔してるみたいでスマソ。
0289デフォルトの名無しさん
NGNG悪いと思っているのなら、書かないほうが。行動で示しましょう。
>俺には趣味を持つ余裕がないってことなのか?
ほとんど人生相談なんだけど、冷静に自分を見詰めた結果がそれなら、そのとおりなのではないでしょうか。
尊敬はできるってことは理屈では解っている。ってことかな?
解っているけど体が動かない。ってことなら、もうどうしようもないですよ。
世の中には、体を動かす(学習する)人がいる。ってことで。
勉強する人が、すべて偉いわけでもないしね。
自分のペースでやりたいことをやったら?あんたの人生なんだし。
ただ、
>つうかこの板を見た限り本当に面白い部分を誰も赤の他人なんかには
>教えたくないってわけだと思うけど、ちがうか?
これは、逆恨みでしかないぞ。
0290263
NGNG>どうしてだろうか?
オナーニを公開しようとしないヤツがいっぱいいるのはどうしてだろうか?
つか、ソース公開したら「あなたの」何が変わるんだろ?
0291257
NGNGそこらへんの教科書に書いてるようなつまらないコードではないはず
だから、技術をパクるに決まってるだろーが。
0292デフォルトの名無しさん
NGNG動いてなんぼのこの世界。
そこまで言うなら、gnu のコード、一通り読んでごらん。
0293デフォルトの名無しさん
NGNGHTML 書いてました。ってのも、他人のページの HTML コードをコピペしていただけなのだな。
自分書いたコードってどれくらいあるんだか。
まだ間に合うから、考え直しなさい。世の中そこまで甘くない。
0294デフォルトの名無しさん
NGNGその違いがわかるようになるには、いろんな苦労が必要だよ > 257
いままで楽した分、頑張ってください。
0295257
NGNG無知な俺のために、ご教授ありがとうございました。
0296デフォルトの名無しさん
NGNG最後までアゲ嵐。
さすが。ガンガレ
0297263
NGNGそんなのごく一部分で、ほとんどが「つまらない」コード。VCLのソースでも見てみれば?
おもしろいと思わなければやめられるのが趣味ってもんでしょ。
0298デフォルトの名無しさん
NGNGVCL コードも、カラフルとは言いがたいしね。
いっそ、Mozilla/Gekko の HTML レンダリングモジュールを読んでみては?
0299工房
NGNG結局のところ、自分の知識のなさが問題を引き起こしたのだと思う。
もう一度プログラミングのことをきちんと勉強してから発言しようと思う。
たくさんのレスをありがとうございます。
0300デフォルトの名無しさん
NGNG無いことが解っている知識は、時間さえあれば習得できます。
知らないことに気づかない知識を得ることは、一人では不可能に近い。
若いうちに、コンピューター/ネット以外のことも含めて、いろんなことを、
まんべんなく身に付けてくださいね。
頭のやわらかいうちに覚えたほうが楽ですよ。
0301デフォルトの名無しさん
NGNGそれらしきプロパティが見当たらずに困っています。
0302デフォルトの名無しさん
NGNGできません。
0304デフォルトの名無しさん
NGNGでは、どうにかしてExcelのファイルを表示させる方法はありませんか?
0305デフォルトの名無しさん
NGNGクエリーなどから表示させるのではなく、
ワークシートの実態を表示させるにはどうすればいいでしょうか?
0306デフォルトの名無しさん
NGNGおまえ馬鹿か?教えてくれてるのに無視かよ。
0307デフォルトの名無しさん
NGNGOLE関係の標準コンポーネントあったと思うが。
0308デフォルトの名無しさん
NGNGたぶん
「>>303はサラのExcelファイルにデータを入れて保存する方法だろうが!
すでに保存してあるファイルを表示したいんだよ! その手順のコードを
無料で全て書きやがれ、この低脳!!」
と、自分で何もしようとしない教えて君だと思われ。
>>307
そのレスは昨日もついたんだけどね・・・。>>277
0309デフォルトの名無しさん
NGNGなのか
Excel のデータをスプレッドシートのまま(何かで)表示させたいのか。
どちらも結構めんどくさいから、Server コンポーネントで Excel を起動させちゃうほうが
簡単かつ確実だよ。Server コンポーネントの使い方が分からない場合はまたそのように。
0310デフォルトの名無しさん
NGNGコンソールアプリを作りたいのですが、
次のようなヘルプに載っているプログラムでさえ
エラーが出ます。対処方を御指導願えませんでしょうか
//
// complex.cpp
//
#include <complex>
#include <iostream>
using namespace std;
int main()
{
complex<double> a(1.2, 3.4);
complex<double> b(-9.8, -7.6);
a += b;
a /= sin(b) * cos(a);
b *= log(a) + pow(b, a);
cout << "a = " << a << ", b = " << b << endl;
return 0;
}
エラー
コンパイル
[C++ エラー] complex.cpp(9): E2451 未定義のシンボル complex
[C++ エラー] complex.cpp(9): E2188 式の構文エラー
[C++ エラー] complex.cpp(10): E2188 式の構文エラー[C++ エラー] complex.cpp(12): E2268 未定義の関数 'sin' を呼び出した
[C++ エラー] complex.cpp(12): E2268 未定義の関数 'cos' を呼び出した
以上よろしくお願いします。
0311デフォルトの名無しさん
NGNG未定義のシンボル complex のほうはさいげんできないなぁ
0312デフォルトの名無しさん
NGNG変だな。何もエラーが出ないよ。
//
// complex.cpp
//
#include <complex>
#include <iostream>
int main()
{
std::complex<double> a(1.2, 3.4);
std::complex<double> b(-9.8, -7.6);
a += b;
a /= sin(b) * cos(a);
b *= log(a) + pow(b, a);
std::cout << "a = " << a << ", b = " << b << std::endl;
}
0313デフォルトの名無しさん
NGNG無意識に math.h 追加しちゃったみたいだ... ウツダシノウ...
0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNGnewsgroups は IP もれるから、気をつけて??
どこでも、回答者は重なっていることが多いから、一つどころに絞ったほうがよいよ。
0316デフォルトの名無しさん
NGNGで
>[C++ エラー] complex.cpp(9): E2451 未定義のシンボル complex
が出てしまう。ってことは、
using namespace std;
が間違っているのかなぁ。けど、存在しない名前空間名ならちゃんとエラー出すしなぁ。
.. まさか、自前の complex.hpp とかがどっかに落ちていない?
0317デフォルトの名無しさん
NGNGまだ見てるかな?
一度、マシンを再起動させてから、Examples\StdLib に移動して、
>make
ってやってみて。
それで complx.exe がちゃんと作成されるなら、あなたの IDE 環境かプログラムに問題がある。
0318質問です
NGNGある計算をするアプリを作ったのですが、
計算が終了するまでは「応答なし」になってしまい、ウィンドウの移動などもできません。
どうすれば計算中でもウィンドウの移動などができるようになるのでしょうか?
HELPやWEBなどで検索してみましたが、何をキーワードに検索すればいいのかもわからない
くらいの初心者です。
「〜〜をキーワードに調べてみよ」といったことでも結構ですので、よろしくお願いします。
0319デフォルトの名無しさん
NGNG0321デフォルトの名無しさん
NGNG最初にエラーが出ましたが、2回makeやったら、
普通に実行ファイルが出来てきました。
レス感謝です^^
0322デフォルトの名無しさん
NGNGコンパイルするとエラーが出ます。
#include <complex>
int main()
{
std::complex<double> a, b;
b = std::sin(a);
}
b = _STL::sin(a); とすれば通ります。_STLはSTLportの名前空間ですが、
stdと同じ意味になっているはずなので、どうもおかしいです。
algorithmのstd::removeも通りません。_STL::removeとすれば通ります。
C++Builder6は、名前空間に包まれている関数の多重定義の解決が
うまくできないバグがあるようです。
0323デフォルトの名無しさん
NGNG全部_STL::absとか_STL::sqrtに書き換えないとなりません。ああ面倒くさい。
0324デフォルトの名無しさん
NGNGそのバグは見覚えがある。昔のバージョンでSTLPort使おうとすると出るんじゃなかったっけ
#define _STL std するという対策をどっかで見た気がする。
本当に使ってるC++Builderのバージョンは6か?
とりあえず、C++ Builder 4、5、6、FreeCompiler 5.5 で問題なくコンパイルできてるんだが…
0325デフォルトの名無しさん
NGNGC++Builder6でコンパイルすると>>322のような症状が出ます。BCB4やBCB5は
STLportでないので症状は出ないと思います。C++Builder6でも、_USE_OLD_RW_STL
という、Rogue WaveのSTLを使うマクロを定義するとエラーが出ません。
恐らくC++Builder6がSTLportに対応しきれてないせいだと思います。
0326324
NGNGコンパイラ切り替えそこねてたみたい。
試しにSTLPortの最新版ならどうなるかと STLPort-5.0-0409 を落としてみたが
全然コンパイルが通らねぇ…
0327sage
NGNG317さんのおかげで糸口をつくり、コンパイルできました。
すなわち、上のiostreamをiostream.hに変えたら通りました。
#include <complex>
#include <iostream.h>
using namespace std;
int main()
{
complex<double> a(1.2, 3.4);
complex<double> b(-9.8, -7.6);
a += b;
a /= sin(b) * cos(a);
b *= log(a) + pow(b, a);
cout << "a = " << a << ", b = " << b << endl;
return 0;
}
iostreamとiostream.hの違いがよくわかりませんが
解決しました。ありがとうございました^^
0328デフォルトの名無しさん
NGNG0329デフォルトの名無しさん
NGNGvoid __fastcall TForm1::Button1Click(TObject *Sender)
{
TTabSheet* tb;
tb = new TTabSheet(this);
tb->PageControl = PageControl1;
}
0330デフォルトの名無しさん
NGNGスマソ。コンストラクタに与えるのがthisではまずいかも。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TTabSheet* tb;
PageControl1->MultiLine = true;
tb = new TTabSheet(PageControl1);
tb->PageControl = PageControl1;
}
0331デフォルトの名無しさん
NGNGいえ、コンストラクタがthisでもOKでした!
ありがとうございます。
0332デフォルトの名無しさん
NGNGTCppWebBrowserで表示しているページのURLを右クリックして出てくる
ポップアップメニューの「新しいウィンドウで開く」をクリックすると
IEが立ち上がってしまうのですが、これをTCppWebBrowserを新たに作成して
そこに表示させるためには、どのようにすればいいのでしょうか?
0333デフォルトの名無しさん
NGNG0334デフォルトの名無しさん
NGNG御意!
0335デフォルトの名無しさん
NGNGあぁすみません・・御意と言いつつちょっとわからないので教えて下さい。
OnNewWindow2イベントで以下のようにタブシートとTCppWebBrowserを作成、
int n = Pc->PageCount;
Ts[n] = new TTabSheet(this);
Ts[n]->PageControl = Pc;
Ts[n]->Name = Format( "Ts%2.2d", ARRAYOFCONST((Ts[n]->PageIndex + 1)) );
Wb[n] = new TCppWebBrowser(this);
Wb[n]->TOleControl::Parent = Ts[n];
Wb[n]->Width = 400;
Wb[n]->Height = 200;
Wb[n]->Left = 2;
Wb[n]->Top = 2;
Wb[n]->Align = alClient;
Wb[n]->Visible = true;
Wb[n]->OnDocumentComplete = CppWebBrowserDocumentComplete;
Wb[n]->OnDownloadBegin = CppWebBrowserDownloadBegin;
Wb[n]->OnDownloadComplete = CppWebBrowserDownloadComplete;
Wb[n]->OnNewWindow2 = CppWebBrowserNewWindow2;
Wb[n]->OnProgressChange = CppWebBrowserProgressChange;
Pc->ActivePage = Ts[n];
この作成したTCppWebBrowserに飛び先のURLを表示する方法を教えて下さい。
0336デフォルトの名無しさん
NGNGCancelして、新しいTabSheetに作ったブラウザでNavigate2すればいいんじゃないの?
飛び先アドレスの取得は、クリックならStatusTextChange等で(およそ)出来たはず。
およそと書いたのは、なんか問題があるらしいとあぼーんスレで読んだ気がするから。
よく読んでないからわからんけどね。
0337デフォルトの名無しさん
NGNGStatusTextChangeってプロパティ?でアレですかー
んーこの辺はちょっと難しそうですねー
ここらの情報ってどこかに載ってるサイトないですかね?
0338デフォルトの名無しさん
NGNG書いてますねーこれ、あー、どうすればいいんだあああああああ
0339デフォルトの名無しさん
NGNG私は遠慮なくStatusTextChangeイベントを使ってますよ。
特に問題はなさそう。
ただ、StatusTextChangeでは、#を含むURLが上手く取得出来なかったと
思います。(例えばGoogleの参照URLとか)
良かったら、これをどうぞ。
http://abone.pos.to/Code.txt
0340デフォルトの名無しさん
NGNGふーふー(;´Д`)
激しく感謝します!
早速試してみます!!
0341デフォルトの名無しさん
NGNGあ、すみません・・
StatusTextChangeイベントが発生しないのですが、何か設定が必要なのでしょうか?
また、教えて頂いたソースでやってみたのですが、飛び先URL
じゃなくて、何か自分のURLぽかったのですが、ちょっと私のやり方が
アレかもなので、再度トライしてみます。
0342デフォルトの名無しさん
NGNGにしているのですが、マウスでこの表示ウィンドゥのサイズを変更した時に、動画の
サイズが変わってくれません。
何が間違っているのでしょうか?
void __fastcall TViewForm::ViewPanelResize(TObject *Sender)
{
MainForm->MediaPlayer->DisplayRect.Right = ViewPanel->Width;
MainForm->MediaPlayer->DisplayRect.Bottom = ViewPanel->Height;
MainForm->MediaPlayer->Display = ViewPanel;
}
0343デフォルトの名無しさん
NGNGDisplayRectのRightとかBottomメンバを個別に変えていてはだめなようです。TRectクラスを
一度に与えるとうまくリサイズできました。
MainForm->MediaPlayer->Display = ViewPanel;
MainForm->MediaPlayer->DisplayRect = TRect(
MainForm->MediaPlayer->DisplayRect.Left,
MainForm->MediaPlayer->DisplayRect.Top,
MainForm->MediaPlayer->DisplayRect.Left + ViewPanel->Width,
MainForm->MediaPlayer->DisplayRect.Top + ViewPanel->Height
);
0344デフォルトの名無しさん
NGNGウインドウハンドルがわかっている他のアプリケーションのウインドウの
クライアント領域での相対的なマウスの座標を知りたいのですが、
先ず、GetCursorPos 関数でマウスのスクリーン座標を拾って
次にAPIの ScreenToClient 関数で目的の座標に変換しようとしたのですが、
コンパイルエラーが発生しました。
ならば今度はAPIの GetClientRect 関数でクライアント領域の左上の
座標を拾って目的の座標を計算しようとしたのですが、これもエラーと。
エラーメッセージを見た限りでは、これらのAPI関数はBCB6では使えないような雰囲気なんです。
何かいい方法・解決策がありましたら教えていただけませんか。
ソースの骨子は次のような感じです。
ヘッダーファイルはデフォルト状態から何も加えない状態で、目的のウインドウのハンドルを hWnd(既知)として、
{
POINT pm;
GetCursorPos(&pm);
ScreenToClient(hWnd,&pm); //←ここでコンパイルエラー
RECT rc;
GetClientRect(hWnd,&rc); //←ここもコンパイルエラー
}
0345デフォルトの名無しさん
NGNGScreenToClient を ::ScreenToClient にすればよくないかな?
0346344
NGNG忠告もありがとうございました。
0347デフォルトの名無しさん
NGNGうまくいかないです。
StringGrid->InvalidateRow(StringGrid->Row);
を試してみましたが、だめでした。
0348デフォルトの名無しさん
NGNG何で特定のRowだけなの?TDrawGridとかで描画の激しく重いオブジェクトを
収めているのならわかるのだが、Stringでしょ?
0349デフォルトの名無しさん
NGNG応用事例(自前コンポーネント製作)の資料が異様に少ないのが残念だよね…Delphiの資料は多いんだけどなぁ…
ここの板みたいな存在は貴重だね
0350デフォルトの名無しさん
NGNGDelphiの方に圧倒的にユーザーが流れているからだろ・・・・それに、VCLに関する
質問なら、Delphiに翻訳してから質問すれば、すぐ答えが返ってくる。
0351デフォルトの名無しさん
NGNG0352債務不履行の名無しさん
NGNG0353債務不履行の名無しさん
NGNG0354デフォルトの名無しさん
NGNGCommaText
0355デフォルトの名無しさん
NGNGやっぱり、DelimitedTextの方がいいや。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString text = "123,45!6,789";
TStringList* ts1 = new TStringList();
TStringList* ts2 = new TStringList();
ts1->CommaText = text;
ts2->Delimiter = '!';
ts2->DelimitedText = text;
StringGrid1->Rows[0] = ts1;
StringGrid1->Rows[1] = ts2;
delete ts1;
delete ts2;
}
0356債務不履行の名無しさん
NGNGありがとうございます。
0357債務不履行の名無しさん
NGNGありがとうございます。
0358デフォルトの名無しさん
NGNGどうすれば発生するようになるのでしょうか?
0359デフォルトの名無しさん
NGNG最新版にはそんなのがあるんだ。
BCB5->6の変更点で初めてうらやましく思った。
でも"で囲まれたところはやっぱり分割されないんだろうな…。
0360デフォルトの名無しさん
NGNG>(中略)
>QuoteChar プロパティを使うと,DelimitedText プロパティで各文字列を囲むのに
>使われる引用符を取得および設定できます。
というのが・・・あれ? "〜" 内に区切り文字があったら分割される方がいいの?>>359
0361デフォルトの名無しさん
NGNG>(中略)
>QuoteChar プロパティを使うと,DelimitedText プロパティで各文字列を囲むのに
>使われる引用符を取得および設定できます。
というのが・・・あれ? "〜" 内に区切り文字があったら分割される方がいいの?>>359
0362デフォルトの名無しさん
NGNGQuoteCharに'\0'を設定すれば、引用符は無視されるよ。
0363デフォルトの名無しさん
NGNG例えば表示している掲示版とかに書込みをするときとかに
エンタキーを押しても何も反応しないんですよ・・
これって受け付けるようにする方法はありますか?
0364デフォルトの名無しさん
NGNGのGLPNGを使ってPNGファイルを読み込みたいんですが、
ライブラリがうまく入りません。
coff2omfでglpng.libとglpngd.libを変換してみたのですがうまく変換できていないみたいで、
512Byteのファイルが出来上がるだけです。
もちろんそのまま\libに持っていってもだめでした。
うまくライブラリを入れる方法はありますでしょうか?
#エディタでソース書いてコマンドラインでmakeなのでBCCでも良かったり・・・
0365364
NGNGごめんなさい
0366デフォルトの名無しさん
NGNGソースが付属しているので、makefileをいじって新たにLIBファイルを作成したら?
■ このスレッドは過去ログ倉庫に格納されています