C++Builder相談室 Part9
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG過去スレ・関連サイトは>>2-5あたり。
0446デフォルトの名無しさん
NGNG0447デフォルトの名無しさん
NGNG0448デフォルトの名無しさん
NGNGここをみたらできました。ネット関係のプログラムは、難しそうですががんばってみます。
0449デフォルトの名無しさん
NGNG単に落とすとかならそれで十分だが、色々やりたいならIndy入れてみ。
0450デフォルトの名無しさん
NGNGいや灰色はいいんだけど、全ツリーが灰色になるんで
ツリーをクリした後にこれになると選択したノードがどれかわからなくなってしまうから
>>444
いかないですそれ。
0451デフォルトの名無しさん
NGNG0452デフォルトの名無しさん
NGNG既にデータセットされてるテーブルに、新しいフィールドを追加するにはどうすればいいんですか?
0453デフォルトの名無しさん
NGNG再構築する。動的にやりたかったら新たにテーブルを作ってデータをコピーする。
0454デフォルトの名無しさん
NGNG具体的には株価データで、操作は、
(1)ある特定の銘柄の過去のデータ(5年分の日々のデータ)の読み込み
(2)最新の一ヶ月分程度のスパンで全銘柄のデータを読み込み
が必要です。
はじめは、データベースの知識が無いので銘柄ごとにファイルを分割して、時系列に並べる構造を考えました。
(1)は高速に行えると思うのですが、(2)は、この方式だと効率的に管理できないと思います。(アクセス時間が莫大になる)
このような用途では、データベースが良いのではないかと想像してます。
Personalなので、データベースコンポーネントが付属してません。
Proを買ってもいいのですが、どうやら新バージョンがでるそうなので躊躇します
Office付属のMsAccessは持っているので、こちらにアプリケーション間アクセスのような手法で
Pro版を買わずに実装できないでしょうか?
0455デフォルトの名無しさん
NGNGデータベースの知識がないのに、自力でデータ操作のプログラムができるわけないな。
ま、がんばってADOのプログラム書けば、自力で書けるだろうけど。
こういう質問してるところ見ると、その力はないと思うけどな。
で、MS-Accessで「大規模」なデータを扱うべきでもないな。
MSDE使えばいいのかな。
COM使え
読み書きならばできるはず
0458デフォルトの名無しさん
NGNG第三者から見ると、>>455の回答のほうが適切なんだが。
0459デフォルトの名無しさん
NGNG0460デフォルトの名無しさん
NGNGじゃあ、無理せずCOMからやってくれ。
「バカにつける薬はない」
0461デフォルトの名無しさん
NGNGは、ポエムじゃないだろう。きわめて「まともな」回答以外の何者でもないぞ。
自分の耳に厳しいことは「まともな」回答に聞こえないのかい?
0462デフォルトの名無しさん
NGNG0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNGありがとうございます。
テーブルデザインを直接変更することはできないんですね(´・ω・`)
仕方ないのでもう一つ新しいテーブル作ってBatchMoveでコピーしたら
今度はフィールド名が正しく設定されないし・・・。
フィールド名の最後の文字が"_(アンダーバー)"になってしまうのはなんなんでしょ?
ちなみに14個フィールドを追加したうちの2個がそうなってしまいました。
0465456
NGNG455とケコーンしてしまったわけだが。
要は、COMコンポーネントとしてADOがあるから、それを使えってこと。
BCB9が出るかどうかまだ判らんし、素直にProを使え。
特に、業務であるならばその工数分はペイできるはずだから、上司と相談しろ。
>>455,457-460
正直、すまんかった。逝ってくる
∧||∧
( ⌒ ヽ
∪ ノ
∪∪
0466455
NGNGおれは連続して書き込んではないけど、被害妄想にとりつかれたら、自分に対する意見はすべて同じ人物からに見えるものだな。
もう一回だけ書いといてやるけど、COMでAccess操作するくらいなら、データベース操作用に抽象化されたADOでやったほうがいい。
でも、ADOを生で使うのは、それなりに面倒なので、覚悟したほうがいい。
出るか出ないかわからないBCB9を待つよりはPro買え。
それにAccessは大量データを扱うのには向いてないから、せめてMSDEでやれ。
もちろんCOMでやってもいいけど、ADOがやってくれてる部分も自分で書かないといけないから、勧めない。
ここまで書いてやってもポエムとかほざくようなら、一回死んで次に生まれたときにバカが治ってることを祈った方がいい。
0467デフォルトの名無しさん
NGNG> 被害妄想にとりつかれたら、自分に対する意見はすべて同じ人物からに見えるものだな。
そこまで自分のことがわかっているなら、ちゃんと反省しましょうね(^^;
0469デフォルトの名無しさん
NGNG全然通じてないみたいだけど(苦笑
0470デフォルトの名無しさん
NGNG>そこまで自分のことがわかっているなら、ちゃんと反省しましょうね(^^;
反省だと?
ここまで人々が様々なアドバイスをして、それがすべてあなたの反応に起因している
のにまだ気づかないのか?
反省すべきはあなたの態度じゃないのか?
>>465-466
お疲れ。あんたが逝くこたぁないよ。
0471デフォルトの名無しさん
NGNG気持ちはわかるけど、そろそろスルーしようぜ。
0473デフォルトの名無しさん
NGNG0474デフォルトの名無しさん
NGNG0475456
NGNGtnx
荒れ気味になってしまった要因は俺にもあったから、お詫びに一個話題を振ってみる。
BCBのパッケージに付いてくるCompanion Toolsにあるいくつかのコンポーネントってどうよ。
LMD-Toolsは前から使っていて重宝しているけど、他のはどう?
取りあえず、TMS Grid PackとABC for Delphiはインストールしたけど、こいつらを使ったことがある奴いる?
TurboPowerのやつもインストールしたから、俺のコンポーネントパレットはタブがすごいことになっている。(w
0476デフォルトの名無しさん
NGNGSQLなんて一週間もあれば余裕で理解できるから、SQL憶えることだな。
0477470
NGNGいまだにDelphi5.0なので微妙に異なるが、
TMSは3年以上使っているけど、マジにお勧め。Gridもさることながら、
附属のコントロールは非常に重宝している。正式版購入した方がいいかもよ。
>TurboPowerのやつもインストールしたから、俺のコンポーネントパレットはタブがすごいことになっている。(w
自分Delのタブの数数えてみたら60くらいあった。ほとんど中毒症状だわ…。
0478464
NGNG0479デフォルトの名無しさん
NGNGMS Excelでいうところの「INT」と同じ機能な、一発で値を返してくれる関数ってないでしょうか?
『INT:数値を超えない最大の整数を返す。例:INT(8.9) = 8』
0480デフォルトの名無しさん
NGNGstatic_cast<int>(std::floor(8.9))
ではどう?
0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNG負の値の時の動作が未定義
0483デフォルトの名無しさん
NGNGそれって
int(8.9); // = 8
でいいんじゃないの?
0485デフォルトの名無しさん
NGNGそれも、負だと未定義。
floor関数でいいじゃん。
0487デフォルトの名無しさん
NGNGエディタについて質問させて下さい。
普通のエディタだと、選択してdelを押せばその文字は全部消せますよね。
BCBのエディタでは、それが消せないように思うんですが、なんとかなるもんなんでしょうか?
なんか使いにくくて(泣)
0488デフォルトの名無しさん
NGNGうちのBCB5は消えてくれるが
0489デフォルトの名無しさん
NGNGうちのBCB6+SP4も消えてくれるが
0491デフォルトの名無しさん
NGNG普通は >>488-489 のように消せる筈ですが、僕のBCB6+SP4もたまに >>487のようになります。
選択した状態でdelキー押しても、選択していないときと同じ動作をします(よね?)。
コレはBCB5の頃からです。僕はマシンを再起動すれば直りますが、それでも直らなければ
BCB或いはOSの再インストールか、はたまたメモリが不良品か。
0492487
NGNGそうですね。del1コ分の動作をします。
あいうえお
かきくけこ
さしすせそ
を、「あ→そ」の順で選択してdelを押すと、「あ」だけ消えます。
……で、今やってみたら治りました(なんでだ(泣))
>>3のフリーカーソル無効化アドインをさっき入れたんですが、
そのためでしょうか。
なんにしても、>>488 >>489 >>491さん、ありがとうございました。
0493デフォルトの名無しさん
NGNGその場合の有効範囲(と言うべき?)の取得はどうすればいいのでしょうか?
0494493
NGNGClientWidth/ClientHeightでした。
お騒がせしました。
0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNG0497デフォルトの名無しさん
NGNGFormatFloat( "###,###,###", 123456789);
0498デフォルトの名無しさん
NGNG0499デフォルトの名無しさん
NGNG市販とかフリーのコンポーネントを使ってますか。
それとも自分でラップクラスかコンポーネントを作りましたか。
もしくは、APIを直接使ったりしてますか。
0501464
NGNGBDE使うとすると作成したプログラムはどこでも実行できなくなっちゃいますよね?
で、結局考えたのが
項目を追加した新しいテーブルを作成→元のテーブルからデータをコピー→
元のテーブル削除→新しいテーブルの名称を元のテーブル名に変更
って具合にとりあえず作ってみたんだけど次の問題が・・・
1,データ型に「オートナンバー」をうまく設定できない(ftAutoIncでもダメでした)。
2,フィールド名の最後の文字が「_(アンダーバー)」になってしまうものがある。
なんかものすごい単純なことかもしれない気がするんだけど・・・
みなさんのお力をお貸しください。
0502デフォルトの名無しさん
NGNGActiveXの動作を動的に変更したいため
HTML内に<param>を設定してパラメータを引き渡したいのですが
BCB側で取得する方法が分かりません。
どなたかご説明いただけないでしょうか。
また、解説などされているページををご存知ならお教え下さい。
よろしくお願いいたします。
0503デフォルトの名無しさん
NGNGActiveXの動作を動的に変更したいため
HTML内に<param>を設定してパラメータを引き渡したいのですが
BCB側で取得する方法が分かりません。
どなたかご説明いただけないでしょうか。
また、解説などされているページををご存知ならお教え下さい。
よろしくお願いいたします。
0504デフォルトの名無しさん
NGNGActiveXの動作を動的に変更したいため
HTML内に<param>を設定してパラメータを引き渡したいのですが
BCB側で取得する方法が分かりません。
どなたかご説明いただけないでしょうか。
また、解説などされているページををご存知ならお教え下さい。
よろしくお願いいたします。
0505デフォルトの名無しさん
NGNG0506デフォルトの名無しさん
NGNGブラウザのドキュメントを動的に操作する方法がわかりません。
例えば以下のように、メモリ上に確保したストリームからデータを食わせようと思っても
hr = pPersistStreamInit->InitNew(); の部分で例外が発生してしまいます。
もうダメダー(><)
DHTMLvoid LoadHTMLFromStream(TCppWebBrowser* pBrowser,IStream* pStream)
{
HRESULT hr;
IPersistStreamInit* pPersistStreamInit = NULL;
_di_IDispatch doc=pBrowser->Document;
hr = doc->QueryInterface( IID_IPersistStreamInit, (void**)&pPersistStreamInit );
hr = pPersistStreamInit->InitNew();
hr = pPersistStreamInit->Load( pStream );
pPersistStreamInit->Release();
}
0507デフォルトの名無しさん
NGNG例えば、Googleを開いて、検索キーワードを自動で入力し、検索ボタンまで押してしまうような
アプリケーションが作りたいです。
(似たソフトで懸賞サイトで住所などの入力を自動化するソフトがありました。このようにフォームやパスワードを
自動で入力するソフトを作りたいのです)
IEにキーボード入力の信号をだまして送るようなことは可能ですか?
0508デフォルトの名無しさん
NGNG0509デフォルトの名無しさん
NGNGどうしたらいいのでしょうか?っていう質問にはちゃんと答えてあげたら?
IEなんかあてにしなくても、HTTPでやりとりしてやればいい。
上のほうのレスをみると、結局IEで用意されてるコンポーネントを使うのが楽なのかもしれんが。
0510デフォルトの名無しさん
NGNGInitNewのところで駄目ってことはDocumentが空っていうオチではないよねぇ。
うちの環境だと同じようなソースで問題なく出来てるけどね。
0511デフォルトの名無しさん
NGNGありがとうございます。Pro版にあるWebBrowserコンポーネントのことですね。
たしかにそのほうが結局簡単かもしれません。調べてみます
0512506
NGNGいえ、この関数を呼ぶ前に、きちんと”about:blank”にナビゲーております。
で、DocumentComleteイベント内でCreateStreamOnHGlobalを使ってストリームを作成し、それに文字列をセットした後で
件の関数を呼んでいるのですが・・・
DHTMLを操作するためのDLLが組み込まれていないとかが原因かなぁDTL
0513デフォルトの名無しさん
NGNG0514デフォルトの名無しさん
NGNG0515デフォルトの名無しさん
NGNG回避する方法はあるのでしょうか?
0516デフォルトの名無しさん
NGNG0517デフォルトの名無しさん
NGNG窓からスピーカーを投げ捨てたわけではないですが、
解決しますた。
0518デフォルトの名無しさん
NGNG0519デフォルトの名無しさん
NGNGEnterを入力した場合、改行できませんよと知らせてくれている
らしいので処理の最後に
Key = 0;
と付け加えると回避できます。
0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNG24時間
0522デフォルトの名無しさん
NGNG少なすぎ
0523デフォルトの名無しさん
NGNG0524デフォルトの名無しさん
NGNG簡単に変える方法はありますでしょうか?
0525デフォルトの名無しさん
NGNGオブジェクトのポインタをTButton*[]でもTListでもstd::vector<TButton*>どれでもいいから配列につっこんどけ
0526デフォルトの名無しさん
NGNGプロで業務アプリを開発してる人っておるの?
0527デフォルトの名無しさん
NGNGテストツールはほぼC++Builderだな。
0528デフォルトの名無しさん
NGNG業務アプリというか製造装置や検査装置に組込んで使ってる。
昔手伝っていたメーカーはNTにVC++で作ってたけどね
自社製品はBCBのほうが慣れてるし。
0529デフォルトの名無しさん
NGNG0530デフォルトの名無しさん
NGNGデファクトっちゅったらVBじゃね?
0531デフォルトの名無しさん
NGNG例えばPanel1上に貼ったTButtonのプロパティを一斉に変えたいとき
for (int i(0), j(Panel1->ControlCount); i < j; ++i) {
TButton* buttonp(dynamic_cast<TButton*>(Panel1->Controls[i]));
if (buttonp)
buttonp->Caption = "Changed.";
}
0532デフォルトの名無しさん
NGNG以前いた会社では、POS用のアプリをBCBで作っていた
画面の調整がしやすい&DBの扱いが楽で(゚д゚)ウマー
0533デフォルトの名無しさん
NGNGちと整理する。勝手してスマン。
for ( int i=0; i<Panel1->ControlCount; ++i )
if ( TButton* buttonp = dynamic_cast<TButton*>(Panel1->Controls[i]) )
buttonp->Caption = "Changed.";
0534デフォルトの名無しさん
NGNGの部分はそのままで良いんじゃないか?
些細な事だが、ループの度に Panel1 のメンバにアクセスするよりはローカル変数の方が早いだろ。
0535デフォルトの名無しさん
NGNG因みに、TButtonの名前を
Button1,2,3,.....10と連番になる様にしておくと、↓の様な方法でも変更出来ますね。
for (int i=1; i<11; i++) {
dynamic_cast<TButton*>(FindComponent("Button" + IntToStr(i)))->Caption = "Changed.";
}
0536533
NGNGDelphi育ちの人はControls[]を使う傾向にあるようだな。
素からC++の人は配列やらstd::vectorやらを使いたがる。おれもだけど。
そもそもdynamic_castはできるだけ避けるってのが染み付いてるわけで。
>>534
最適化してくんないかな?
0537141
NGNGなんか理由あるの?
0538デフォルトの名無しさん
NGNG例外でるでそ。コンパイル時の型保証ができないでそ。
0539141
NGNG「できるだけ」って書いてあったね。
0540デフォルトの名無しさん
NGNG偉そうな事言ったけど C++ & プログラム 暦 1 年の俺には無理だ。
ここから最適化出来るなら俺も知りたいな。
ループの最適化なんてスレ違いだろうけどさ。
0541531
NGNG気になさらずに。みんなでより良いサンプルを作ろう。
>>534
仰る通り。その意図です。
>>535
確かに可能な方法だが、文字列を使う方法ってなんか遅い気がして。
それに、コンポーネントの名前に依存しない方が後々いい気がする。
エラそーにスマソ
0542デフォルトの名無しさん
NGNGDelphiではコンポーネントが存在するようですが、Builderではみつけられませんでした。
0543デフォルトの名無しさん
NGNG0544デフォルトの名無しさん
NGNG問題が解決しないので再度投稿させていただきます^^;
HTMLから呼び出して使用するActiveフォームを作成しようとしています。
ActiveXの動作を動的に変更したいため
HTML内に<param>を設定してパラメータを引き渡したいのですが
BCB側で取得する方法が分かりません。
どなたかご説明いただけないでしょうか。
また、解説などされているページををご存知ならお教え下さい。
よろしくお願いいたします。
0545デフォルトの名無しさん
NGNGhtmlの文法あやまりが無いと仮定してもよければ
HTMLのソースを直接探索して<PARAM>みつければ良いかと。
■ このスレッドは過去ログ倉庫に格納されています