くだすれC++Builder(超初心者用)その4
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/10/23(金) 09:06:16もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
C++Builder使いが優しくコメントを返しますが、
お礼はC++Builderの布教と初心者の救済をお願いします。
Embarcadero Home Page
http://www.codegear.com/jp/
<過去スレ>
くだすれC++Builder(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1117225464/l50
くだすれC++Builder(超初心者用)その2
http://pc10.2ch.net/test/read.cgi/tech/1144308804/l50
くだすれC++Builder(超初心者用)その3
http://pc11.2ch.net/test/read.cgi/tech/1171219191/
<兄妹スレ>
くだすれDelphi(超初心者用)その50
http://pc12.2ch.net/test/read.cgi/tech/1246340765/l50
0685デフォルトの名無しさん
2011/06/02(木) 17:50:09.11ググってねーだろ?
つか、TPrinter と、TCanvas をヘルプで見る事もせんのかね、コイツは。
くだすれだからって、酷くねーか?入門書にも載ってるだろ?
後はググれば、プリンター解像度の取得やら、設定について出てるとこも
結構有るし、コンポも有る。
まさか、表の書き方も解らない、面倒なんで楽したい?
なら、プログラミングなんてやめて、Officeでも使え。
0686デフォルトの名無しさん
2011/06/02(木) 17:52:40.33なんかあったのか?
会社でイジメラレタ?
0687デフォルトの名無しさん
2011/06/02(木) 17:57:41.53知らないならレスしないで下さい。ウザイだけです。
0688685
2011/06/02(木) 18:10:01.81>>687
くだらんレスしてんなら、答えてやれば?
いくらなんでも、あれだけの情報が有れば、普通組めるだろ?
ってかさ。入門書とヘルプ見れば最低限の事は出来るだろ?
その上で、どうしたいとか改善したいってのなら、分からんでも無いが、
何でもいいから即、誰かに聞けばなんとかなるだろってのが、ちとな。
0689デフォルトの名無しさん
2011/06/02(木) 18:15:02.46知らないならレスしないで下さい。ウザイだけです。
0690デフォルトの名無しさん
2011/06/02(木) 19:52:58.24Pos関数で第一引数(検索文字)を「|」にすると、なぜか全角カタカナの「ポ」が検出されてしまいます。
どうにか回避できないでしょうか?できれば検索文字は変えたくありません。
0692デフォルトの名無しさん
2011/06/02(木) 22:32:51.06>できれば検索文字は変えたくありません。
面白い事言うな〜。それを本末転倒と言う。
0693690
2011/06/02(木) 22:51:03.63Pos関数で区切り文字を検出してるのです
a|b|c
0694デフォルトの名無しさん
2011/06/03(金) 00:04:11.930696デフォルトの名無しさん
2011/06/04(土) 03:23:50.16つHelp
と言いたい所だが、XE日本語オンラインヘルプなんか、Wikiになってて、こそり
参加者募集してるし。
基礎とかそうそう変わって無いんで、古いHelpの良いとこ移植すりゃい〜のに。
Turbo には既に残って無かったかな?
0697デフォルトの名無しさん
2011/06/04(土) 05:41:01.16ただし英語でね。
日本語 Wiki ページは編集不可能。日本語でコメント書かれても英語に翻訳する金が無いからだそうだ。
0698デフォルトの名無しさん
2011/06/04(土) 13:17:37.81なら日本語ページにその旨書かなきゃい〜のに。
てか、英語でも、そんなにHELP充実して無いんかいっ!
いや、そもそも日本法人は何の為に有るんだろ?
いっその事、(日本語という意味で)言語別にユーザーがWikiを
立ち上げた方が早いんじゃね?
0699デフォルトの名無しさん
2011/06/04(土) 15:43:47.62日本の会社や組織/団体がソフトを購入するときに必要。
見積書と領収書を出さなきゃいけないでしょ。
ここら辺が企業向けダウンロード販売を日本で展開する時に問題になる。
会社持ちのクレジットカードなんて、日本の会社では期待できないからねぇ
0700デフォルトの名無しさん
2011/06/04(土) 16:37:57.61それだけなら、販売代理と一緒じゃん。さいてー
0701デフォルトの名無しさん
2011/06/04(土) 16:59:45.36そうだよ。代理店業務と外人接待。
0702デフォルトの名無しさん
2011/06/07(火) 12:40:24.070703デフォルトの名無しさん
2011/06/07(火) 12:45:58.330704デフォルトの名無しさん
2011/06/07(火) 12:52:01.79MultiByteToWideChar(CP_UTF8, ...
でワイド文字にして
WideCharToMultiByte(932, ...
でシフトJISにするとか
0705デフォルトの名無しさん
2011/06/07(火) 12:55:26.50マジですか?
やってみますよ
>>704
今はそれでやってるのですが
2010ならもっと楽な方法があるのかなとおもって聞いてみました
0706デフォルトの名無しさん
2011/06/07(火) 13:39:58.99TStringListのTextにぶち込んでSaveToFileしてテキストファイルで保存したものを
みてみたんですがシフトJISになってませんでした
0707デフォルトの名無しさん
2011/06/07(火) 13:53:01.51これでさっくりとできましたよほんと
0708デフォルトの名無しさん
2011/06/07(火) 14:44:41.28質問じゃ無いけど、CB2010のIndy IdHTTP って UTF-8エンコードされたResponseヘッダを
正常に読み込めないね。
正確に言うと、Content-Disposition で返るファイル名に漢字で長いのが入ると、
エンコードの狂った文字は入るは、ヘッダはそこでブチ切れるは、とにかく酷い。
ヘッダのエンコードを変えても、どうやら、受け取ったCharsetで自前で直して
しまうらしく、効果無し。
直す方法を教えて欲しいが、なんとなく、UTF-8に正常に対応してない悪寒。
0709デフォルトの名無しさん
2011/06/07(火) 15:15:39.650710デフォルトの名無しさん
2011/06/07(火) 23:03:16.700711デフォルトの名無しさん
2011/06/08(水) 00:10:32.40というより、パフォーマンス要求しなきゃおとなしく.NETがお勧め。
信頼度がMSとエンバカじゃ違い過ぎる。
0712デフォルトの名無しさん
2011/06/08(水) 03:36:40.230713デフォルトの名無しさん
2011/06/08(水) 15:01:02.060714708
2011/06/08(水) 16:11:11.08>>710
回答、ありがとうございます。
ヘッダからストリームに取込む方法は、IdHTTPでは分からなかったので、
結局、IdTCPでHTTPプロトコルを新たに書き起こしました(*Д* グハッ)
で、ググった数が多くて見落としてましたが、Content-Disposition というか、
HTTPヘッダ内にASCIIコード以外を使うのは、RFCでは許して無いそうで。
又、ブラウザと、IdTCPで受信したヘッダでの文字コードが違う事から、
漢字コードが送られるのは、ブラウザ向け仕様みたいですね。
で、IdHTTPでこれに対応するには、改造すれば良いんですが、ちょっと厄介で。
CB2010は文字列がUnicode標準なのでコンパイルし直すと、あちこちの文字コード
変換で頭爆発します・・・。
(Unicode対応コンパイラだと、代入での暗黙の変換も起きますので)
そういう訳で、HTTPクラスを書き起こし。
>>711
>>712
そういう訳でバグでは無く、RFCの仕様のためでした。
このバージョン以降、バグはかなり少なくなっており(コンパイルし直した環境で
文字コードの問題が起きるとこが有りますが)、後はドキュメントと、Helpの充実を
願うばかり。
特に、IOHandler については、ドキュメントが無いに等しい・・・。
0715デフォルトの名無しさん
2011/06/09(木) 00:02:35.71別にクローズドソースが品質保証してるわけでもないし。
さらに言えば、マイクロソフトだって、保証はしてない。
0716デフォルトの名無しさん
2011/06/09(木) 02:24:11.25RFC2231でエンコードされてるとか?
まず、ブラウザで受信した場合とIdHttpの場合のヘッダのネットワークキャプチャ見ねえ
となんともいえんな。
0717デフォルトの名無しさん
2011/06/09(木) 12:10:11.940718デフォルトの名無しさん
2011/06/09(木) 14:48:51.680719デフォルトの名無しさん
2011/06/09(木) 15:08:38.79ビットの深さがオリジナルより小さくなって保存されてしまうのですが
これオリジナルと同じにする方法おしてくださ
0720デフォルトの名無しさん
2011/06/09(木) 16:17:55.67てか再度TPNGObjectで
PNGObject *png = new TPNGObject( );
って作成したpngのサイズを変更したいんですが
どやってサイズ指定できますか?
0721708
2011/06/09(木) 20:15:13.87レスどもです。
必要事項は自前でこなせてますので、蛇足的な書込みになりますが、結果を
書込んでおきます。(何方かの役に立つかもしれませんから)
IdTCPでストリーム受信したところ(TCPでは文字コード問題は無い筈ですよね?)
サーバーは Apache で、ブラウザ向けリクエスト
"User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)"
を送ると、"Content-Disposition" に含まれる 日本語 filename は
ダブルクォート「"」で囲まれた上で、Shift-JISになり、"User-Agent"無し
では、同様に「"」で囲まれた上で UTF-8 でした。
勿論、この動作はサーバーの設定次第だと思いますので、全てが必ずこうだとは
言えません。ただ、たまたま今回相手にするサーバーがこうだったというだけです。
RFCに書かれていたファイルネームについては、「"」を伴わない形でのASCIIコード
のみだった気がしますが(未確認)。
多分 Apache では、メーラー等で用いられてるヘッダーのように、拡大解釈されて
RFC2231 を用いずに「"」で括って、そのまま漢字コードを使用してるんじゃない
でしょうか?
それとも、改定案が出されてて、それに IdHTTPが対応してないとか。
ちなみに、IdHTTPで取得されたfilenameは、どう変換したのかも分からないコードに
なっており、途中の漢字に含まれるコードで全ヘッダ終了とみなされて、それ以降の
ヘッダは無いものとして処理されてしまいます。
ソースを追えば良いんですが・・・面倒なのでヤメマシタ。
IdTCP->IOHandler->ReadLn で読んだ時点で化けてるので、その辺なんですが、TCPでも、
HTTPでも同じクラス、かつ、多言語でとなると、やはりRFC完全準拠が筋だと痛感。
0722708
2011/06/09(木) 21:23:57.92IdTCPでの結果だけでは無責任ですので、再度、WIRESHARK にて確認しました。
やはり、Shift-JISとUTF-8でした。
デフォルト設定だと、HTTPなのにポート違うとHexで確認なんで、見難い・・・。
0723デフォルトの名無しさん
2011/06/09(木) 22:32:23.71使ってるバージョン位、書きぃな。んで、Helpは見とんのかいな。
新規にサイズ0で作成してしまうと、サイズ変更は無理っぽ。
作成する際に指定しましょ。
したら、後は変更可。"サイズ変更"をまんま英語にしたメソが有るぉ。
何故、0で作成すると変更不可かは、ColorTypeとか、BitDepthとか
色々あんでしょ?
0724デフォルトの名無しさん
2011/06/10(金) 10:12:33.640で作成とはコンストラクタのサイズを与えるんですか?
TPNGObject *png = new TPNGObject(10,10 );
みたいに?
まあこれはエラーになったんですが、どうやって指定しますか?
元サイトがみれないので
0725デフォルトの名無しさん
2011/06/10(金) 10:33:07.39TPngImage(unsigned ColorType, unsigned Bitdepth, int cx, int cy);
これBuilder2010のTPngImageだけどコンストラクタは同じかな
ちなみにこれのColorTypeの定数がわからない・・・
0726723
2011/06/10(金) 10:52:19.17>>724
もしも〜し?人の話聞いてます?・・・いや、もうね。
使ってるコンパイラバージョン位書いたらどう?それによってアドバイス違うから。
そもそも
>元サイト
って何?
Help使わない人なの?それとも、RAD環境じゃないフリーコンパイラでガリガリなの?
古い環境?最近はTPNGImageは標準搭載なんよ?
ヘッダファイルをColorTypeやBitDepthで検索すれば分かると思うんだけど。
そもそも、バージョンが分からん事には。
もしかすると初期のTPNGImageにはそんなコンストラクタ、無いかもしれんし。
0727723
2011/06/10(金) 11:01:24.60自レス・・・テンポ遅れハズィ
>>725
ヘッダをCOLOR_ で検索すると分かる。このヘッダ、ちょっと書き方が「らしく」
ないね。そこだけは認めよう。
0728723
2011/06/10(金) 11:24:58.13ttp://docwiki.embarcadero.com/VCL/en/Pngimage.TPNGObject
見ると、コンパイラの警告でも出るように、非推奨になってるね。
将来的に廃止かも。多分 >>725 は裏で使いたいって事なんだろけど。
0729デフォルトの名無しさん
2011/06/10(金) 11:26:28.23TPNGObjectって書いてんだろ馬鹿はレスするなって
それにもう解決したからいい
何でレスも読めないのに知ったかしてレスするんだろうか
0730デフォルトの名無しさん
2011/06/10(金) 12:54:08.41カワイソス
頭おかし過ぎてワロタ
0731デフォルトの名無しさん
2011/06/10(金) 13:09:20.40逆ギレかよ。
>>726 (>>723) もとんだトバッチリだな。何一つ間違った事言ってないのに。
ヘッダも読めねークセに、こういう奴って居るんだなー。クワバラ-
相手にしなくてよかった。
0732デフォルトの名無しさん
2011/06/10(金) 13:59:16.74論拠は >>728 じゃねーの?RAD2010でも警告だしヘッダもそう(読めないんだっけ)
勘違いヤロ-なのはおまいだろ?
0733デフォルトの名無しさん
2011/06/10(金) 14:55:06.61なんかバカが馬鹿よばわりしてるし
0734デフォルトの名無しさん
2011/06/10(金) 16:58:47.170735デフォルトの名無しさん
2011/06/10(金) 17:49:54.00クズが吠えてて笑える
0736デフォルトの名無しさん
2011/06/11(土) 22:57:59.230737デフォルトの名無しさん
2011/06/14(火) 15:48:29.17これ背景色変える事できる?OS設定しか無理?
何でこれ背景白にしちゃったんだろ?激しく見づらいんだけど
しかもclWindowと色が被ってるから境界線が判りづらいし
0738デフォルトの名無しさん
2011/06/14(火) 18:54:35.33TPageControl継承すれば。
0739デフォルトの名無しさん
2011/06/14(火) 22:29:43.480740デフォルトの名無しさん
2011/06/24(金) 11:53:19.650741デフォルトの名無しさん
2011/06/24(金) 12:03:14.22wcstombsならコンパイルは通るんだけど何故か実行時にエラーが出る。
setlocale( LC_CTYPE, "jpn" );これしてもエラーなんだけどなんでだろう?
0742デフォルトの名無しさん
2011/06/24(金) 12:52:35.160743デフォルトの名無しさん
2011/06/24(金) 12:56:32.620744デフォルトの名無しさん
2011/06/24(金) 14:05:02.850745デフォルトの名無しさん
2011/06/30(木) 13:34:35.000746デフォルトの名無しさん
2011/06/30(木) 17:11:22.250747デフォルトの名無しさん
2011/06/30(木) 17:31:38.460748デフォルトの名無しさん
2011/06/30(木) 17:42:30.35http://www.kab-studio.biz/Programing/Codian/DLL_Hook_SClass/06.html
0749デフォルトの名無しさん
2011/06/30(木) 18:14:08.790750デフォルトの名無しさん
2011/07/03(日) 11:10:55.56StringGridの各セルをテキストとしてファイル出力ってどうやるんでしょうか?
SaveToFileのようなものが用意されていますか?
0751デフォルトの名無しさん
2011/07/03(日) 12:25:50.84生 同 .じ . /´ | (ゝ___) い
.し 士 .レ .__/'r-┴<ゝi,,ノ ro、 は、
.な で .ベ ∠ゝ (ゝ.//` ./`| }⌒j
.い し .ル } ⌒ /`ヽ、_∠l,ノ ・ヽ´
.! ! か の / ´..:.} >、、___, .r、 ソ、`\
/ ..:.:.} / |∨ ` ̄
/ ..:.:./ | 丶
/ _、 ..:.:.:.{ .{.:.:. \
{ ..:Y .ゝ、 {.:.:.:.:. ヽ
|、 ..:/ 丿 .:〉 >.- ⌒ . ヽ
/ {. ..:./ ソ ..:./ .( ..:.:.:` ..:}
./..:.:}.:.:./ ヘ、 ..:./ .\ ..:.:r_,ノ、.:.:}
./..:.:/|.:/ {.:./ X.:.:}.} X X
/..:.:/ .}.:| }:/ .Y丶ヽ Y.:Y
. __/.:/ { } 《.〈、 _,,__>.:》丶 Y.:\
/.:.:.:.:.::/ !.:.:ゝ ゝ.:. ̄ヾ ´:.:.:.:.:.:.:.:.:ヾゝ \.: ̄>
0752デフォルトの名無しさん
2011/07/03(日) 15:12:02.10TStringGridIOというのを見つけますた。
StringGridにてCellの行数をボタンを押すごとに増やしていく
プログラムを書いてみたのですが、1回目のクリックで列側
(2列目)に作られてしまうのですが、k行1列のグリッド
を適切に作る方法をご存じの方いますか?
下記のようなソースを書いてます。
StringGrid1->Cells[k][0] = IntToStr(k);
StringGrid1->RowCount = k++;
StringGrid1->Refresh();
0753デフォルトの名無しさん
2011/07/03(日) 17:55:04.22下の例では[C++ Error] Unit1.cpp(19): E2235 Member function must be called or its address taken.
のコンパイルエラーが出ます。
ヘッダーファイルには void Func();と void Func2();を書いています
//----------------------------------------
void TCTestForm::Func()
{
void (TCTestForm::*fpFunc1)() = Func2; <---Line 19
(this->*fpFunc1)();
}
//--------------------------------------------
void TCTestForm::Func2()
{
MessageBox(Handle,"Func2","Func2",MB_OK);
}
0754デフォルトの名無しさん
2011/07/03(日) 18:04:10.38メンバー関数が不正な文脈で使われると,このエラーになります。
次に例を示します。
class A
{
typedef int (A::* infptr)(void);
public;
A();
int myex (void);
int three;
} a;
A::A()
{
infptr one = myex; // 正しくない - myex を呼び出すかアドレスを取る
infptr two = &A::myex; // 正しい
three = (a.*one)() + (a.*two)();
}
0755デフォルトの名無しさん
2011/07/04(月) 07:20:09.52スターターを購入したのですが、
TextViewのようなコンポーネント、
出来ればフリーのものをご存じないでしょうか?
よろしくお願いします。
0756デフォルトの名無しさん
2011/07/04(月) 11:16:01.23>>754さん、ありがとう。感謝、感謝。
0757デフォルトの名無しさん
2011/07/05(火) 14:45:28.830758デフォルトの名無しさん
2011/07/05(火) 16:03:39.130759デフォルトの名無しさん
2011/07/05(火) 19:04:58.860760デフォルトの名無しさん
2011/07/05(火) 21:02:38.94HWND_TOPMOSTとHWND_NOTOPMOSTをセットする。対象HWNDはHandle。
0761デフォルトの名無しさん
2011/07/07(木) 15:57:07.59のOnShowでTOpenDialog::Handleを使ってWin32APIでTOPMOSTに変更してみましたが、
ダメっぽいですorz
0762デフォルトの名無しさん
2011/07/07(木) 17:21:28.35ttp://wisdom.sakura.ne.jp/system/winapi/common/common2.html
ttp://www.kanazawa-net.ne.jp/~pmansato/CommonDialog.htm
0763デフォルトの名無しさん
2011/07/08(金) 09:19:33.54これってローカルフックだおね。
一旦やってみるかなぁ。
コモンダイアログが他のウィンドウに潜ったら、
自分で浮かびあがるような処理。
0764デフォルトの名無しさん
2011/07/08(金) 11:24:12.75人呼んでお邪魔虫ダイアログ
0765デフォルトの名無しさん
2011/07/08(金) 15:21:38.22TComboBox = class(TMyComboBox)
みたいな感じで、継承してちょっとだけ弄ってそれを標準のコンポみたいに使ってる
Delphiのソースがあったのだけど、これってC++Builderでも可能?
区別が曖昧って怒られちゃう
0766デフォルトの名無しさん
2011/07/08(金) 15:35:58.430767デフォルトの名無しさん
2011/07/08(金) 15:57:08.17.NET Frameworkは問題無く使えますか?
0768デフォルトの名無しさん
2011/07/08(金) 16:52:59.730769デフォルトの名無しさん
2011/07/11(月) 15:49:37.12Win7+BCB2010です。
DriveInfoというのを見つけたのですが使えなさそうです。
0770デフォルトの名無しさん
2011/07/11(月) 16:04:57.35つ ttp://msdn.microsoft.com/ja-jp/library/cc429511.aspx
0772デフォルトの名無しさん
2011/07/22(金) 17:30:25.07catch (Exception &exception)では、catchできないのですか???
0773デフォルトの名無しさん
2011/07/22(金) 21:29:11.88この操作が行われた時ってトップレベルウィンドウに何かメッセージ
が送られているんでしょうか?
0774デフォルトの名無しさん
2011/07/22(金) 22:46:03.43int _matherr(struct _exception *e) {
throw Exception(AnsiString(e->name) + " でエラーだお");
}
とか _matherr を自分で定義するべし
0775デフォルトの名無しさん
2011/07/25(月) 00:51:46.93全くの初心者で↑のサイトを見ながらランチャを作ろうとしているのですが、
[BCC32 エラー] Unit1.cpp(18): E2316 '_fastcall TForm1::Create(TObject *)' は 'TForm1' のメンバではない
[BCC32 エラー] Unit1.cpp(33): E2316 '_fastcall TForm1::Save1Click(TObject *)' は 'TForm1' のメンバではない
[BCC32 エラー] Unit1.cpp(50): E2316 '_fastcall TForm1::Delete1Click(TObject *)' は 'TForm1' のメンバではない
[BCC32 エラー] Unit1.cpp(59): E2316 '_fastcall TForm1::Image1Click(TObject *)' は 'TForm1' のメンバではない
というエラーがでます。
なぜでしょうか?
0776デフォルトの名無しさん
2011/07/25(月) 01:22:34.90ダブルクリックして作ったらいいんじゃないかな。
0778772
2011/07/25(月) 13:10:32.01キャッチする方法あるのかなぁ?
matherr.cを見たけど、良く分からない(><)
0779デフォルトの名無しさん
2011/07/25(月) 13:11:39.66ありがとうございます!
できました
0780デフォルトの名無しさん
2011/07/25(月) 13:22:52.77http://msdn.microsoft.com/ja-jp/library/k3backsw.aspx
0782デフォルトの名無しさん
2011/07/25(月) 13:56:35.50ShellExecute(Application->Handle,
"open",
appname.c_str(),
NULL,
NULL,
SW_SHOW);
というコードで 'char const[5]' 型は 'const wchar_t *' 型に変換できない というエラーが出ます
これはUnicodeStringをAnsiStringに変換する事で直るのでしょうか?
もしそうならどう修正すればいいのでしょうか?
0783デフォルトの名無しさん
2011/07/25(月) 14:12:24.62->
L"open"
0784782
2011/07/25(月) 23:23:52.37遅れました
すみませんまだエラーが出ます…
'char *' 型は 'const wchar_t *' 型に変換できない とエラー内容が多少変わったのですが…
■ このスレッドは過去ログ倉庫に格納されています