2012年09月プログラム126: くだすれC++Builder(超初心者用)その5 (328)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
ゲームプログラムなら俺に聞け26 (465)
【Intel】OpenCV総合スレ 4画素目【画像処理】 (323)
Ruby 初心者スレッド Part 50 (489)
UNIXプログラミング質問すれ Part10 (535)
【アンチ】関数型言語は使えない【玩具】 2 (407)
くだすれDelphi(超初心者用)その54 (902)
くだすれC++Builder(超初心者用)その5
- 1 :2012/04/21 〜 最終レス :2012/10/18
- このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
C++Builder使いが優しくコメントを返しますが、
お礼はC++Builderの布教と初心者の救済をお願いします。
■C++Builder XE2 - エンバカデロ・テクノロジーズ
http://www.embarcadero.com/jp/products/cbuilder
<過去スレ>
くだすれC++Builder(超初心者用)その4
http://toro.2ch.net/test/read.cgi/tech/1256256376/
くだすれC++Builder(超初心者用)その3
http://pc11.2ch.net/test/read.cgi/tech/1171219191/
くだすれC++Builder(超初心者用)その2
http://pc10.2ch.net/test/read.cgi/tech/1144308804/
くだすれC++Builder(超初心者用)
http://pc8.2ch.net/test/read.cgi/tech/1117225464/
<兄弟スレ>
くだすれDelphi(超初心者用)その54
http://toro.2ch.net/test/read.cgi/tech/1325028195/
- 2 :
- では質問をどうぞ。
- 3 :
- OPENARRAYマクロ使いにくいな
カッコを二重にしないといけない
- 4 :
- ネイティブアプリ作成では一番使いやすいと思うが、なぜにこんなにマイナーなの?
VC++のほうが人気がある理由がわからん
- 5 :
- VCのほうがつかいやすくね?
MFCはソース見れば大体わかるからな
パスカレなんて嘔吐
- 6 :
- >>4
VCLの設計が古いからだよ
FMも怪しいし
C#のためにヘジタンをM$に引きぬかれてからちっとも進歩してない
- 7 :
- XE3出たか?
- 8 :
- <関連スレ>
[Tips]Borland C++Builder ちょいテク No.01
http://toro.2ch.net/test/read.cgi/tech/1154580209/
Embarcadero RAD Studio/Delphi/C++Builder その2 ←New!
http://toro.2ch.net/test/read.cgi/tech/1335177837/
- 9 :
- ∧ . -‐. : . : . : . : .  ̄`丶/>ヘ',ー.、
. __ //: . : . : . : . : . : . : . : . : . : \: . }i: : :\
}l>/: . : . : . : . : . : . : . : . : . : . : . : :.\}i: . : . :\__
/}レ': : . : . : . : . : . : . : . : . : .\: . ヽ: . : . :.ヽ: . : . : . ヽ`
/: :/: . : . : . : . :l: :八: . : . : : \: : : : : '. : . : . :l: . : . : l: : l
. /: :/: . : . : . : . :/l: :| \: :\: : : \: : . :l: . : :...:|: . : . : l: . l
/: ://: : . : . :.|: / .j: :| \: ヽ\:ヽ\: :|: . : |: :|: : |: . :l: : |
//://|: : :l: : . i斗'^ ,ィf弌ぅ 、ヽ|: . : l: :|: : |: . :|\|
//:ノ /|: :/}: : : |: l ,ィf゚う ト::)゚ィリヽ|: . : |:/: : :|: . :|
}: : /|:|:/: |: : ∧:i/ん:::ハ 弋c少' |: . : |}: : :.|: . :
|: / .|:|': : |: :/: :i 弋cソ 、、、、、. |: . :八: . :八: .|
|/ l: : : :|V: : ハ 、、、、 ′ l: ./:∧: ./ ヽ
八: :.∧: |: :人 r 、_ 、 ィ .ノ:/:/ }:./||
∨ V}: : |: /i>}/ ,へ、 イ j:V/:/ / C++Builderなんて、
八: :|/__ ! / ハ _.斗‐{ 使ってる人いるのかなぁ…?
∧! _| ' /´ 》──--、
_/ |:::_} .|ー─--< |
/___ i }∧ ノ:::::::::::::::::::/ / |
V / }. イ l\::::::::::::/ / :|
rヘ xヘ ∨ | |:| \/_/ 人
/_/ '、 _ヽ | |:| ./ - ─ - 〉
. / ヽ/// j/ 〈 / -‐ /
- 10 :
- C#に比べると起動が速いだけで他はあまりメリットないな
- 11 :
- >>10
あとEXEのサイズが全然違う
開発環境が入っていればDLLは必要ないけど配布版はライブラリリンクしないと
C#は全てダイナミックリンクだから
- 12 :
- プッ
- 13 :
- >>12
ねえ悔しい?
MSILは64bit環境では64bitにコンパイルされて動くんだよ
- 14 :
- くやしすぎるよぉ
- 15 :
- XE2 から clang の改変版に切り替わったから、XE3 で LLVM コードを出せるようになって問題解決
- 16 :
- Delphi 本体は FPC に切り替わるしな。
- 17 :
- おもしろいですね(棒)
- 18 :
- TServiceを使用してサービスを作ったのですが、
exeをリネームして複数サービスを登録したい場合どうすればよいのでしょうか?
TServiceのNameをファイルなどで動的に変えればインストールは成功したのですが、
肝心のサービスが使用できません。Nameを固定にすると複数のサービスをインストールできません・・・
よろしくお願いいたします。
- 19 :
- XE3出たか?
- 20 :
- さて、まもなくC++Builderも64bit版になりますよぉ〜
- 21 :
- >C++Builderも64bit版
10年遅れて、自社技術で対応できなくて...
clang 自分でビルドするのとなにが違う?
- 22 :
- win用で軽くてサイズも小さいcのコンパイラって何がありますか?
- 23 :
- lsisishokuban
- 24 :
- win用という条件がある以上、ない。
- 25 :
- Digital Mars Compiler Version 8.42n
dm852c.zip 3,009KB
LSIC試食版(MS-DOS)
lsic330c.lzh 401KB
Borland C++ 5.5.1 for Win32
freecommandlinetools2.exe 8672KB
- 26 :
- TPopupMenuのMenuItemを動的に作成しているのですが
PopupMenu->Items->Clear( );
for( int i = 0; i < Cnt; i ++ ){
TMenuItem *mi = new TMenuItem(this);
mi->Caption = buff[i];
mi->OnClick = MenuItemClick;
PopupMenu->Items->Add( mi );
}
毎回Clearして作り直しているのにメニューが最後に表示したCaptionの最大幅になってしまいます
これそのときに作成したCaptionの幅にするにはどうしたらいいですか?
- 27 :
- void __fastcall TForm1::MenuItemClick(TObject *Sender)
{
TControl* control;
TMenuItem* mi = dynamic_cast<TMenuItem*>(Sender);
control = dynamic_cast<TControl*>(FindComponent(Components[mi->Tag]->Name));
control->Enabled = !control->Enabled;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int Cnt = PopupMenu1->Items->Count;
char *buff[] = {"Test1", "Test2", "Test3"};
PopupMenu1->Items->Clear();
for (int i = 0; i < Cnt; i++) {
TMenuItem* mi = new TMenuItem(this);
mi->Caption = buff[i];
mi->OnClick = MenuItemClick;
PopupMenu1->Items->Add(mi);
こんな感じでしょ
ちゃんと切り詰められて表示されるよ
}
}
- 28 :
- >>27
char *buff[] = {"Test1", "Test2", "Test3"};
これ固定になってますが、ここの長さが可変なんですよ
たとえば
char *buff[] = {"Test1ああああああああああああああああああああ", "Test2", "Test3"};
というメニューを作成して次に
char *buff[] = {"Test1", "Test2", "Test3"};
これを作ると最初に作ったメニューの幅になりません?
ちなみにC++Builder2010を使ってます
- 29 :
- >>28
こういう事ですか?Button1を押してからButton2を押すとちゃんと切り詰められます
XE2です
void __fastcall TForm1::Button1Click(TObject *Sender)
{
int Cnt = PopupMenu1->Items->Count;
char *buff[] = {"Test1111111111111111111", "Test2", "Test3"};
PopupMenu1->Items->Clear();
for (int i = 0; i < Cnt; i++) {
TMenuItem* mi = new TMenuItem(this);
mi->Caption = buff[i];
mi->OnClick = MenuItemClick;
PopupMenu1->Items->Add(mi);
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int Cnt = PopupMenu1->Items->Count;
char *buff[] = {"Test1", "Test2", "Test3"};
PopupMenu1->Items->Clear();
for (int i = 0; i < Cnt; i++) {
TMenuItem* mi = new TMenuItem(this);
mi->Caption = buff[i];
mi->OnClick = MenuItemClick;
PopupMenu1->Items->Add(mi);
}
}
- 30 :
- >>29
ありがとうございます、。
まさにそういうことなのですが・・・
2010が悪いのか自分のコードが悪いのかがわからないので
ちょっとこっちも同じコードで試してみます。
- 31 :
- >>29
まったく同じコードを試してみたした。
やはりダメでした。
まずButton2を押すとメニュー幅は普通
次にButton1を押すと"Test1111111111111111111"の文だけメニューが広がる(これも普通)
次にButton2を押すとButton1で作成されたメニュー幅のままになっています・・・
うーん、2010のバグなのかなあ・・・
- 32 :
- 5と2009で試したけどちゃんと切り詰められます
- 33 :
- >>31
アップデート当ててる?
- 34 :
- アップデートしてます。
5でも2009でも大丈夫なら2010でも大丈夫なはず・・・
おかしいな>>29と同じコードやってみたのになあ
- 35 :
- 2010のQCにPopupMenuのWidthのバグとか出とらん?
もうdepricatedだから自分でソースいじくって直すしかないけど直し方のヒント位は
出てるだろうと思う
- 36 :
- >>35
これどう?メインメニューにサブメニューを追加するんだけどサブメニューも幅がおかしい?
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int Cnt = PopupMenu1->Items->Count;
char *buff[] = {"Test1", "Test2", "Test3"};
char *buff2[] = {"Sub11", "Sub22", "Sub33"};
PopupMenu1->Items->Clear();
for (int i = 0; i < Cnt; i++) {
TMenuItem* mi = new TMenuItem(this);
mi->Caption = buff[i];
// mi->OnClick = MenuItemClick;
PopupMenu1->Items->Add(mi);
// サブメニューを動的に配置する
for (int j = 0; j < 2; j++) {
TMenuItem* ms = new TMenuItem(mi);
ms->Caption = buff2[j];
mi->Add(ms);
}
}
}
- 37 :
- こんなしょーもない質問にマジレスしてくれてありがとう
>>36
やってみます
- 38 :
- >>36
やってみました。
結果はサブメニューの幅はちゃんと文字列の幅になっていました。
- 39 :
- >>38
という事は一番上のメニューだけのバグか・・・不可解だな
- 40 :
- そうですね、一番上のメニューの幅が何故か表示した最大の幅で記憶されている感じです
ちなみに、メニューを表示していたフォームを閉じて再度開いて表示させると
初回表示時みたいに最初だけちゃんと表示されます
そんなわけで、これMenuItemをClearじゃなくて
TPopupMenuごと削除して作り直せばいいかもしれませんが・・・
- 41 :
- TPopupMenuコンポーネントにバグがあるんじゃね
clear()じゃなくてTPopupMenuそのものを初めから動的に配置したらどうですか?
- 42 :
- >>41
フォームを開くたびに幅が初期化されているので
TPopupMenuを動的に作成したら多分うまくいくとおいますが・・
とりあえず現状ではそれしか回避策は無いですよね。
皆さん色々ありがとう
今回はTPopupMenuを動的に作って逃げてみます
- 43 :
- いえいえ
お礼は結構ですよ
- 44 :
- >>43
あんた誰?
>>42
http://pastebin.com/X7E3s6pC
こんな感じでTListを使って管理するのが普通でしょうね
- 45 :
- >>44
マジですか!
ちょっとそれやってみます、ありがとう
- 46 :
- (Image1 はTImageコンポ。)
Image1のStretchをtrueにする。
(Image1のWidthとHeightは200とする)
Image1の大きさよりも大きい画像(400*400のビットマップ)を
Image1->Picture->LoadFromFileで表示させる。
これで表示は出来るんだけど
Image1->Canvas->Pixels[i][j]で縦200横200のドットの色を取得すると
元の400*400の画像の左上から縦200横200の取得になってしまう。
ストレッチされた画像の縦200横200を参照するにはどうしたらいい?
教えてくれ。
わかりにくくてごめんね。
- 47 :
- >>46
TImageの中に保持しているTBitmapはあくまでも元のイメージそのままで、表示の時に
Stretchしているに過ぎない
だからストレッチされた値がどうしても欲しければ他のコントロールにStretchDrawして(非表示でよい)
そこから読み取る必要がある
下のプログラムはちゃんと異なる値を表示する
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Image1->Picture->LoadFromFile("1.bmp");
Image2->Canvas->StretchDraw(Rect(0, 0, 200, 200), Image1->Picture->Graphic);
int x = Random(200), y = Random(200);
TColor tc1 = Image1->Picture->Bitmap->Canvas->Pixels[x][y];
TColor tc2 = Image2->Picture->Bitmap->Canvas->Pixels[x][y];
Label1->Caption = "x = " + IntToHex(tc1, 8);
Label2->Caption = "y = " + IntToHex(tc2, 8);
}
- 48 :
- TToolBarのButtonWidthを変更してもToolButtonの幅が変わらない
どうしたら変わるんですか?
ToolButtonのはチェックにしてます
- 49 :
- >>48
やってみたけど変わるけど
バージョンは何かな
- 50 :
- >>49
あれ?こっちじゃオブジェクトインスペクタで設定しても値がもどっちゃいます
2010です。
- 51 :
- >>49
あー、わかりました。
ShowCaptions=Trueならダメなんですねこれ・・・
キャプションを表示しつつToolButtonの幅は変えられないですかね?
- 52 :
- Captionを表示するとWidthが固定されちゃいますね
- 53 :
- ですよね・・・
- 54 :
- でしょうね・・・
- 55 :
- TDictionaryをC++Builderで使うにはどのように書けばいいのでしょうか
さっぱりコンパイルが通りません
char s;
Memo1->Clear();
dic = new TDictionary__2<unsigned short, char>;
for (w = 0; (unsigned int)w < 0x10000; w++) {
s = char(w);
dic->Add(w, s);
}
- 56 :
- C++で記述された実定義がないので、
template class を新たな型で new することはできません。
- 57 :
- ガ━━(;゚Д゚)━━ン!!
Delphiを使えという事か・・・・
そう言えばC++ではTDictionaryではなくstd::mapを使えと書いてあったような
ありがとうございました
- 58 :
- std::mapがあまりにも遅いのでstd::hash_mapを使ってみたら2倍ほどになったけど
TDirectoryよりまだまだ遅い・・・・
boost::mapの方が速いのかなあ?
- 59 :
- Builder2007で質問ですが
Form1からForm2を呼ぶときにForm2のFormStyleをfsStayOnTopにしているのに
Form1をクリックするとForm2がForm1の後ろに行っていまいます
Builder5じゃそんな事はなかったのですが
2007辺りから↓
SetApplicationMainFormOnTaskBar(Application, true);
こいつが悪さしてるって以前に聞いたことあるのですが
これはランタイムテーマ有効?のだとおもうんですが
それがONの状態でもfsStayOnTopで背後に行かないようにする方法を教えてください
- 60 :
- >>59
XE2だけどそういう症状は出ないよ
- 61 :
- >>60
5も大丈夫だったので2007だけかもしれません。
とりあえずWMWindowPosChangingメッセージでTOPにして常に最上位に表示するようにしてますが・・・
2007ってバグ多いからなあ
- 62 :
- >>61
Form2ってForm1から動的に生成してる?それともUnit2として後からShow()してる?
- 63 :
- >>62
Form1のコンストラクタで動的に作成してます
んで、Form2を表示させる場合にShowして必要なくなったらHideしてます。
Form2はフリーせずにずっと非表示で存在してます
- 64 :
- >>63
んーモーダルにしてもモードレスにしてもやっぱりForm2はForm1の背後に行かないです
- 65 :
- >>64
ランタイムテーマは有効になってますよね?
やっぱり2007だけのバグかなあ・・
- 66 :
- >>65
XE2ではランタイムテーマはデフォルトで有効です
- 67 :
- >>66
そうですよね、2007もデフォで有効になってますし
色々ありがとうございます。
とりあえずメッセージで回避できるのでそうしておきます・・
- 68 :
- >>66
何かメッセージで処理するのを止めても背後に行かなくなった
んで、色々ためしててちょっとわかったのですが
どうもForm1をアイコン化したらForm2が背後にいっちゃうみたいです
そんなわけで、以下の手順で試してもらっていいですか?
1.Form1を表示してForm2をfsStayOnTopで表示
2.Form1をアイコン化(この時にForm2も消える)
3.Form1を元に戻す(Form2はどこかに行ってしまてtみえなくなる)
4.Form2を再度fsStayOnTopで表示(見た目上はForm1の上に表示される)
5.Form1をクリックしてみる、そうするとForm1の上に表示されているはずのForm2が裏に行ってしまう
- 69 :
- >>68
XE2だとForm1をアイコン化するとForm2も同時にアイコン化するのは同じです
しかしその後Form1を戻すとForm2もちゃんと前面に表示された状態で再表示されました
void __fastcall TForm1::Button1Click(TObject *Sender)
{
Form2 = new TForm2(Application); // 生成
Form2->Show();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
Application->Minimize();
}
//---------------------------------------------------------------------------
こんな感じです
- 70 :
- あっちょっと違ってました
アイコン化するのはForm1だけで、Form2は消えてしまいアイコンになりません
しかしタスクバーをクリックするとForm2がForm1の上に重ねられて再表示されます
- 71 :
- FormにTLabelを貼り付けたら
TLabel *Label1;
と宣言挿入されたのですが
実際に、newはどこに書かれているのですか?
- 72 :
- Project1.cpp(デフォルト名)じゃないの?
- 73 :
- 今見たらApplication->CreateForm()って専用のメソッド呼び出してますね
- 74 :
- >>73
質問の仕方が悪かったです。申し訳ありません。
Label1 = new TLabel();
というのが、とこに書いてあるのかが知りたいです。
- 75 :
- >>74
それVCLの中に書いてあるんじゃない?
CreateForm()がフォームに貼り付けてあるコンポーネントを全部初期化するんでしょうね
- 76 :
- >>74
IDEによって管理されているから、そういう記述はどこにも書かれていない。
VCL内部でフォームの情報を読んでそれぞれのコンポーネントを生成、初期化している。
- 77 :
- >>69-70
ありがとうございます。
XE2ではちゃんと表示されるのですね・・・
やっぱり2007だけの現象なんですね
- 78 :
- 誰かさピクセル関数の使い方教えてくれる人いない?
課題で黒い線の上を車の画像走らせるアプリ作ってるんだけどその車の左右には触覚?みたいなものがついていてその触覚の色を取得したいんだが・・・
- 79 :
- >>78
Pixel()は遅いからScanLine()で一行取得してからそれを調べるのが定石
- 80 :
- 学校の課題レベルで問題になるほど、でPixel()が遅い訳ねえじゃん。
- 81 :
- マウスホイールイベントをMESSAGE_HANDLERで捕まえて、処理する関数
ttp://www.gesource.jp/programming/bcb/43.html
がBCB6では動いていたんですが、
XE2にしたらイベントを捕まえられなくなりました。
単純に以下のソースをForm1にコピーして、
ホイールを回したら、MessageBoxが出るように改良しているだけです。
なぜでしょうか。理由がわからなくて困っています。
また、その理由に基づいてどうしたらよいですか?
※Win7 32bit
- 82 :
- × 単純に以下のソースをForm1にコピーして、
○ 単純に上のソースをForm1にコピーして、
^^
- 83 :
- ^^
- 84 :
- >>81
http://toro.2ch.net/test/read.cgi/tech/1335177837/173
にも書いてあるけど
void __fastcall TForm1::ApplicationEvents1Message(tagMSG &Msg, bool &Handled)
{
if (Msg.message == WM_MOUSEWHEEL) {
Application->MessageBox(L"マウスホイールが回されました。", L"", MB_OK);
}
}
でいいんじゃないの
- 85 :
- とりあえずマウスダウンでピクセル使って色を取得するプログラム作ったんだけどフォームの色しか取得出来ないんだが
イメージ画像とかコンポーネントの色が取得出来ないのは何でだ?
- 86 :
- 基本的にCanvasの色しか取得出来ないだろ
それかBitmapか
- 87 :
- いまからはじめても大丈夫?
会社つぶれない?
- 88 :
- つぶれない。でもあと3ヶ月待て。C++BuilderはXE3で本気出す予定()だから。
- 89 :
- >>86
コンポーネントの色を取得出来ないのはしかたがないとしてビットマップ画像の色は取得したい
- 90 :
- カーソル直下に存在するコンポーネントのCanvasでPixels()を使え
- 91 :
- void __fastcall TForm1::Button1Click(TObject *Sender)
{
Image1->Picture->LoadFromFile("1.bmp");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
int x = Random(Image1->Width);
int y = Random(Image1->Height);
Label1->Caption = UnicodeString().IntToHex(Image1->Canvas->Pixels[x][y], 8);
}
//---------------------------------------------------------------------------
こんなのでしょ
今まで何回も出てきてるけど
Button1で画像をロードしてButton2でランダムな点のTColorをゲットする
- 92 :
- 裁判所の力
- 93 :
- StringGirdのセルに、IMEで漢字入力したくて、以下のソースをググってつくてみました。
入力セルの内にIMEの変換候補が表示されるプログラムです。
(XE2を使っています)
入力直後だけ変換候補が表示されません。
例:あるセルで、IMEをONにして文字列を打ち込んでいくと、
東京都[スペース] ←この段階では、変換候補が表示されない。
[改行] ←確定で「東京都」の文字が表示される。
港区[スペース] ←これ以降の続き入力では、変換候補も表示される。
最初から表示したい。どうすべ?
- 94 :
- void __fastcall TStringGrid1::IMEStart(TMessage& Message)
{
// IMEの位置をキャレットのポジションに設定
COMPOSITIONFORM CompForm;
POINT pt;
LOGFONT lf;
HIMC hImc=ImmGetContext(Handle);
//キャンバスのフォントと同じに設定する
GetObject(this->Canvas->Font->Handle,sizeof(LOGFONT),&lf);
ImmSetCompositionFont(hImc,&lf);
//キャレットのポジションに設定する
ImmGetCompositionWindow(hImc,&CompForm);
CompForm.dwStyle=CFS_POINT;
GetCaretPos(&pt);
pt.x = this->CellRect(this->Col, this->Row).left+2;
pt.y = this->CellRect(this->Col, this->Row).top+2;
CompForm.ptCurrentPos=pt;
ImmSetCompositionWindow(hImc,&CompForm);
ImmReleaseContext(Handle, hImc);
//編集モード用カーソルの表示
this->Options << goEditing; //編集モードをON
this->EditorMode = true; //選択セルのカーソルを表示。これがないと、かな漢字変換の初期段階で選択枠が表示されたままになる。
}
- 95 :
- StringGirdが持つ、TInplaceEditのIME設定(SetImeCompositionWindow)を
以下のように変更しようとしていますが、
SetImeCompositionWindowがprotectメンバのためアクセスできません。
どう解決したらよいですか?
StringGirdのメンバー関数内での記述:
TInplaceEdit* editor= dynamic_cast<TInplaceEdit*>(this->Components[0]);
editor->SetImeCompositionWindow(this->Canvas->Font, 100, 50);
- 96 :
- >>93
IME何使ってるの?
GoogleIMEだとちゃんと表示されるけど
- 97 :
- ちなみにMSIME2010でやってもちゃんと表示されました
- 98 :
- MSIME2010 です。
- 99 :
- 同じIMEですねえ
ちゃんと変換候補も出ます
ちなみに>>94みたいな事はしていません
- 100 :
- もしかと思い、OS変えて調べてみました。
手元にある、Win7では×ですが、XPでは○でした。
OSなんですか?
- 101 :
- XPですね
OSの問題かな?
- 102 :
- WOW64のバグかはたまたIMEの64bit版のバグか
- 103 :
- >>94で書いたような、IME位置の移動処理をしなくても、
this->Options << goEditing; //編集モードをON
this->EditorMode = true; //選択セルのカーソルを表示。
として、編集モードにさえすれば、その場所に変換文字が表示されるんですね。
XP限定ですが。
win7だと、>>95で書いた方法でIMEを移動できても、無理かもしれませんね。
- 104 :
- WOW64の非互換の問題でしょう
こればかりは仕方がない
MSに文句付け方が早い
- 105 :
- 私が使ているのは、Win7-32bitなんですが、
WOW64は、32bitOSでも関係あるものでしょうか?
- 106 :
- >>105 ない。
- 107 :
- なんだ、じゃWin7-32bitのバグじゃないか
- 108 :
- 画像を一度ずつ回転させたく調べたところ
x1=(x2-cx)*cos(θ)-(y2-cy)*sin(θ)+cx
y1=(x2-cx)*sin(θ)+(y2-cx)*cos(θ)+cy
http://homepage2.nifty.com/tsugu/sotuken/rotation/#basic
(このサイトを参照)
このような式が出てきました
この式の左辺をどこに代入すればよいのか全くわかりません
どなたかご教授よろしく
- 109 :
- プログラミングの前に、高校数学をやり直したほうがいいぞ
- 110 :
- >>108
http://pastebin.com/R9DNtmZZ
こんな感じでちゃんと動いたが
- 111 :
- C++Builderユーザー各位
いつもお世話になっております。エンバカデロ 営業の深町です。本日は、先週
発表致しましたC++Builder次期バージョンへのパスについて、改めてご案内致し
ます。今回の発表は、C++BuilderがiOSやAndroidを含むモバイルプラットフォー
ムにも拡張されるという大きな一歩を表明しています。
これに対し、現在のC++Builderから将来バージョンまでを入手いただけるパスと
して、「Future Ticket」版の提供開始を発表させていただきました。すでに、
多くのお客様から反響をいただいております。
6月29日までにサポートと併せてご購入いただくことで、C++Builder XE2を20% OFF
でさらに次期バージョンへのプライオリティプレビューアクセスと、今後1年間に
提供される新バージョンを入手することができます。64-bitサポートをはじめ、
C++Builderの今後のバージョンへ円滑に移行するには、現在最新バージョンから
の作業が重要です。ぜひ、この機会をご活用いただき、今後1年間にわたって最新
環境をご用意いただければと存じます。
「Future Ticket」版 詳細ページはこちらになります。
⇒ http://www.embarcadero.com/jp/landing-pages/cbuilder-bundle
- 112 :
- 今時、超優秀なコンパイラがフリーで手に入る時代に、超強気な価格ですねw
- 113 :
- Builder2010ですがProgressBarでStepBy( 1 )してるのですが
ProgressBarの進みが遅く、処理が終了しても70%くらいまでしか進んでいません。
これ以前のようにちゃんと現在位置を表示させる方法を教えてください
- 114 :
- Maxの計算が間違っているんじゃないの?
- 115 :
- >>113
Application->ProcessMessages()でも挟んでみたら?
- 116 :
- >>114
間違ってないです。
>>115
いや、挟んでる。
非常に単純です。
ProgressBar->Min = 0;
ProgressBar->Max= 100;
ProgressBar->Step = 1;
ProgressBar->Position = 0;
for( int i = 0; i < 100; i ++ ){
ProgressBar->StepBy( 1 );
Application->ProcessMessages( );
}
ProgressBar->Position = 0;
回す回数にもよりますがこれでバーが7割くらいのとこで0になってしまします。
ちなみに最後のProgressBar->Position = 0;を取ると
処理が終わってやや暫くしてからバーがMAXになります。。
そんなわけで、ProgressBar自体が遅延処理を行ってるみたいなので。
同じコードをBuilder5でやるとちゃんと最後まで表示されます。
これまた例によって2010だけのバグかもしれませんが。
- 117 :
- >>116
ProgressBar->Min = 0;
ProgressBar->Max= 100;
ProgressBar->Step = 1;
ProgressBar->Position = 0;
for( int i = 0; i < 100; i ++ ){
ProgressBar->StepBy( 1 );
Application->ProcessMessages( );
}
ProgressBar->Position = 0;
Application->ProcessMessages( );
最後に Application->ProcessMessages( );
重い処理をした後あとだと処理が終わってもCGIが再描画されないときもあった気がする。
- 118 :
- また2010のバグかよ(-_-;)
XE2でやるとうまく行くが
次のようなコードはどう?
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
ProgressBar1->Min = 0;
ProgressBar1->Max= 100;
ProgressBar1->Step = 1;
ProgressBar1->Position = 0;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Timer1Timer(TObject *Sender)
{
ProgressBar1->StepBy(1);
}
//---------------------------------------------------------------------------
- 119 :
- >>117
それやってみましたがダメでした
>>118
すんません、コードの性質上タイマーでアレするのはちょっとやりにくいのです。
ProgressBarが内部で遅延描画をしてるのは疑いないのですが
それをプロパティ等で設定できないものかとおもいまして
ちなみにSmooth = falseにしても、バーが滑らかなアレのままで断片表示になってくれません。
完全にProgressBarのバグですが、ちゃんと描画させる方法はないですかね?
更にちなみに、UpdateやInvalidateなどをやってもダメでした・・・
- 120 :
- >>119
そうじゃなくて>>118ならちゃんと表示されるか聞きたい
だめならSleep()でもいいからさ
- 121 :
- これでも表示がおかしいかい?
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ProgressBar1->Position = 0;
for (int i = 0; i < ProgressBar1->Max; i++) {
Sleep(100);
Step();
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Step()
{
ProgressBar1->StepBy(1);
}
- 122 :
- >>120
あー、なるほど。
確かにそうですよね、やってみます。
>>121
それもやってみましたがダメでした
- 123 :
- BCB6をXPで使用しています。
メインファームである処理をしている時にフォームを掴むとその処理が停止してしまいますが、
これを回避する方法はありますか?
離せばまた元通り動き出すので、今は「掴むな!!」という事にしています。
- 124 :
- 別スレッドで処理を行わせるくらいしか回避方法はない。
- 125 :
- Focus当てられないようにするとか
- 126 :
- FormのEnabledプロパティをfalseにするとフォーカスが当てられなくなるな
しかもオーナードローでなければボタンは反応するので途中で計算を止めたい時も行ける
- 127 :
- アドバイス有り難うございます。
FormのEnabledをflaseにして見ましたが、そもそも移動したい時にも移動できなくなるので
ちょっと難しいそうです。
別スレッドでという方法を試して見ます。
スレッドは使った事が無いので基本的な事を教えて下さい。
「異なるスレッドが保有するVCLにアクセスする時に排他制御の問題があるので、
Synchronizeメゾッドを使用して同期しろ」と書かれていますが、
例えばメインフォームのLabel1にアクセスするコードが新しく生成したスレッドの中にしか無い場合には、
排他制御の問題はそもそも無いのでSynchronizeメゾッドは使用する必要がないという理解で良いでしょうか?
- 128 :
- 移動は出来るけど処理は止めたくないのかあ
SynchronizeメソッドはVCLがマルチスレッドに対応してないので
Label1を新しく生成したスレッドからしかいじらないとしても調べる必要がある
- 129 :
- >>128
「調べる必要がある」とはどういう意味でしょうか?
Synchronizeメソッドの説明を読むと、
一度メインフォームに処理を戻してVCLの更新を実行するという事が書かれています。
でもフォームが掴まれている状態でSynchronizeメソッドを呼ぶとそこで止まってしまうのではないかと・・・?
結局止まってしまうのではないかと。
- 130 :
- >>Synchronizeメソッドを呼ぶとそこで止まってしまうのではないかと・・・?
実験してみたら上記は問題ありませんでした。
- 131 :
- スレッド別なんだから止まるわけないじゃん
それよりメインフォームでVCLをいじってるとSynchronize()の結果が変わる
その時にいじると競合が発生して不審な挙動になる
- 132 :
- C++Builder発売15周年記念キャンペーン
なんてやってたんだね
proで50000円は新規の人に魅力的だろうか?
- 133 :
- c++を使い始めたものなんですけど
こっちはちゃんとなるんですけど
http://www.dotup.org/uploda/www.dotup.org3073322.jpg
includeを使うと
http://www.dotup.org/uploda/www.dotup.org3073352.jpg
こんな感じになっちゃって・・・(´;ω;`)
だれか解決して下さいませんか?
- 134 :
- >>133
画像は分かりやすいけど…
dotupじゃすぐに消えちゃうぞ。一発ネタならちょうどいいけどね。
とりあえず、imgurにでもアップしなおして。
- 135 :
- あと、ユーザー名は画像加工した方がいいんでないかい?
- 136 :
- ユーザー名ぐらいはいいかなあと
- 137 :
- いいんならいいけど。
てか、よく見たらこれBuilderじゃなくて、Borland C++ Compiler 5.5.1か〜。
- 138 :
- >>133
http://www.atmarkit.co.jp/fwin2k/win7/06xpmode/06xpmode_03.html
ここを参考にXPモードでBCCをインストールし直す
- 139 :
- >>132
魅力でしょ、
50000円ならシェアウェアを公開して
1ライセンス2000円もとれば、あっという間に元は取れるんだし。
- 140 :
- ソフト作る労力も勘定に入れてくれ
- 141 :
- a) bcc32.exe の引数に -I オプションでインクルードディレクトリを指定する。
例: -Ic:\bcc55\include
bcc32.exe のあるフォルダに、bcc32.cfg というテキストファイルを用意して、
-I<インストールディレクトリ>\include
などと書く。または、すでにある bcc32.cfg が
正しいディレクトリを指しているか調べて書き換える。
bcc なら解るが、cpad は使わないのでわからん。
- 142 :
- とにかく、
エラー F2209 a.cpp 1: インクルードファイル 'stdio.h' をオープンできない
を解決しろ。
コンパイルでエラーがでてるのでリンクしていないから a.exe は作成されていない。
でも、cpad が、どこかにある古い a.exe を実行して、64ビット云々のダイアログがでているだけ。
- 143 :
- あ、cpad が実行しているわけではないのか。
- 144 :
- RAD2010を使用しているのですがエディタでコメントを日本語入力しているときに、マウスカーソルがコードにかかっていると定義の検索が作動した時に文字化けしたり落ちたりしてしまいます。
IMEでマウスカーソルオフ以外の方法でこれを回避する方法はないでしょうか?再インスコや別PCでも治りません。誰か助けて…。
- 145 :
- QC に入れなさい。>144
- 146 :
- ということはあまり問題になっていないということでしょうか?強制電源オフしなくてはならないので困ってます。
BDS2006から発生していてバージョンアップをやめていたのですがWin7で安心して使用できるようにバージョンアップしたらまた同じでした。
もしかしてうちだけですか?
- 147 :
- QC に入れなさい。>146
- 148 :
- 捨てアカで BDN アカウントをとって
公式フォーラムに口汚く罵った書き込みを入れてみたら?
- 149 :
- アカウントは持っているんですが登録したあたりから英文スパムが来るようになって怖いんですよね。あきらめます。ありがとう!
- 150 :
- >英文スパム
David I って人からとか?
>あきらめます。ありがとう!
おめでとう。 VisualStudio ならそんなことないから、良い機会だから切り替えよう
- 151 :
- David Iとかエンバカとかもスパム扱いになりますがそれ以外で毎週100以上orz
VSへの乗り換えも考えたんですがBuilderに慣れてると使いづらくてねぇ。DirectXは楽になるんだけど。
XE3が出る頃までなんとかガンバりますわ。
- 152 :
- うちにはこないので、たぶん、他の原因かと。
- 153 :
- IDEFixPackとか…これはさすがに効きそうにないか。まぁQCに入れても2010じゃ放置だろうし。
強制電源オフが必要なのってどういう状況?
- 154 :
- なんか2010の不具合報告が最近多いなぁ
それとXE2をWindows7にインストールした時の挙動がXPと違うとか
- 155 :
- >>153
日本語入力中にマウスカーソルがコードにのっていると文字入力したとたんに割り込みっぽく定義検索が発動。
すると同時に2バイト文字が1バイト文字として数えられてしまうのか半分くらいの位置以降で文字化けが発生。そのままさらに定義検索が発動?して無限ループ。(文字化けだけですむこともある)
で、タスクマネージャーでBuilderを落とそうとしてもダイアログは出るんだけど落とすこともできずWindowsにも戻れないのでリセットするしかなくなります。
2006以降の方なりませんか?
- 156 :
- 標準のタスクマネージャとかぬるいの使わないでProcessExplorerとかまともなもの使えば
たたき落とすことくらいはできるんじゃね?
あとはツール→オプション→エディタ設定→支援機能でシンボルインサイトあたりを無効化とか。
- 157 :
- Process Explorerとかは使ったことがないんだけど、タスクマネージャーの起動すらできずにExplorer自体も落ちて再起動かかるも何もできなかったりします。
今、シンボルインサイトをオフって見ました。対策にはなるのですが、現在ユニットを多目に使用しているのでちょっと厳しいです。
- 158 :
- CPUを100%とられてるのかも。まさかのシングルコアCPUだったりする?
だったらProcessExplorerでCPU使用率が高いプロセスの優先順位をNormalから下げることで
他の操作が可能になる(右クリック→Set Priority→Below Normal)。Process Explorerは事前に
起動しておくと吉。
- 159 :
- すみません。環境書いてませんでしたね。i7 875K定格でメモリ16GB Win7 ULT 64bitです。
その方法も試してみたいと思います。いろいろありがとうございます。
- 160 :
- 連投申し訳ありません。早速試してみましたがBDSのCPU使用率は0.01%
Process Explorerで落とせたり落とせなかったりです。数分待つとProcess Explorerがやっとでてきたり不安定です。
- 161 :
- IDE Fix Packは?
- 162 :
- 登録ユーザーダウンロードを見ているのですがどれなのかわかりません。HF2まで当てていますが。
- 163 :
- 見つけました。が、インストールしても治らず。
というかインストールすると普通に文字化けが…。
- 164 :
- つ ttp://andy.jgknet.de/blog/ide-tools/ide-fix-pack-2009-10/
- 165 :
- それをインストールしましたが治りませんでした。
- 166 :
- エクスプローラが落ちたときに、タスクトレイに表示されているアイコンが消えてしまいます。
これを防ぐにはどうしたら良いのでしょうか?
- 167 :
- 一定時間間隔で登録する(MSの推奨)。
- 168 :
- タスクバーごと消えた場合タスクバーが再作成されるときに
UINT WM_TASKBERCREATED = RegisterWindowMessage( "TaskbarCreated" );
ってメッセージが飛んでくるので、そのとき再登録するとか。
- 169 :
- そう言えばエクスプローラが落ちた時にアイコンが出るソフトと出ないソフトがあるな
出ないソフトはそこら辺をさぼっているわけか
- 170 :
- XE2でPageコントロールに複数のフォームを
ドッキングさせるアプリを作っているのですが
あるタブだけ、もしくは全てのタブのドッキングアウトを
抑制することはできるのでしょうか?
EndDockだったかのAllowにfalseを突っ込んでも
駄目でした
- 171 :
- >>139
シェアウェア―って簡単に売れないのでは?
1本も売れないってよく聞くけど、本当はそんなことないの?
- 172 :
- それは、金を払う価値がないソフトウェアだからでは?
例えば、秀丸やEmEditorなんて一企業が成立するくらい使ってもらってるじゃん
- 173 :
- どっちもエディタだぬ
他のジャンルでは?
- 174 :
- FileVisor
- 175 :
- そういや秀丸って名前がかっこ悪いバグまだ直ってないのか?
- 176 :
- 使ったときねーから知らん
- 177 :
- >>172 そんなレアなケース出されても....
>>139の言っていることは、
その気になればすぐに元を取れるって感じだから、
そうなの?ていう質問では?
- 178 :
- 実際マネタイズ大変だよな昔よりさらに
Google様が無料は当たり前の世の中にしてくれたからなぁ
- 179 :
- C++Builder2010で質問
Indyを使ったメール受信ですが
色々サイトをみると以下のように件名を表示しているのですが
TIdMessage *msg = new TIdMessage(this);
IdPOP3->Retrieve( 1, msg );
Memo->Lines->Add( msg->Subject );
delete msg;
文字化けします。
どのサイトをみてもこんなやりかたをしててSubjectは文字化けしないみたいなんですが
どうしたら文字化けしなくできますか?
- 180 :
- エンコードが違うのとちゃうん
- 181 :
- どのサイトみてもこんな感じなんですよね。
msg->SubjectをいきなりMemoにぶち込んでるだけで
これC++Builder2010のIndy10で普通に表示されます??
- 182 :
- Indyって文字コード変換までしてくれるの?
してくれないならメールヘッダのContent-Typeとか見て変換しないとダメなんじゃないの?
- 183 :
- どのサイトもSubjectは変換してなかった
本文は変換してたけどね。
- 184 :
- なんかヘッダーの日本語エンコードに対応してないらしい
Indy以外探したほうがいいかもね
- 185 :
- ('д`)えー
- 186 :
- サイトでのソースは全部delphiなんだけど
C++Builderの方はバグってるのかなあ
何かそんなことかいてるサイトもあったし
だれか>>179を試してほしい・・
- 187 :
- フリーじゃないのこれ
- 188 :
- どっちィ
- 189 :
- んじゃさ、受信したSubjectとか=?ISO-2022-JP?形式なんだけど
これを変換する方法を教えて><
- 190 :
- Delphiのメール送信側だけど
http://codezine.jp/article/detail/400
見るとヘッダのコード変換にjconvert.pasとか使ってるみたい
Indy10でこの状態だから他の探したほうがいいんじゃないの?
- 191 :
- 最初jconvert使ってたんだけど・・・
どうもC++Builder2010じゃうまくいかなくて
同じコードをC++Builder5でやるとちゃんと変換されたんだけど
2010ってデフォでUnicodeになってるから?
- 192 :
- 多分そうだろうね
AnsiStringでやってUNICODEに後から変換するとか力技で一回やってみれば?w
- 193 :
- やってみたぽ・・・
とりあえずAnsiStringにぶち込んでから
Memo->Lines->Add( ConvertJCode( DecodeHeaderString( subject ), SJIS_OUT ) );
- 194 :
- その辺は鬼のように試したんだけど全くうまくいかない。
C++Builder5じゃちゃんと変換されるんだけどなあ
- 195 :
- jconvert.pas自体がStringでビルドされてたら意味ないと思う多分
- 196 :
- そうなんだよね、それ気づくの遅かったアホだし俺とか
んで、諦めて、アレしたんだけど
しかし何故delphiの方はSubjectそのままぶち込んでもちゃんと表示されてんだろ
- 197 :
- 別物だからさ
- 198 :
- どうしたものか
とりあえず>>189教えてくらさ><
- 199 :
- とりあえずjconvert.pasのStringをAnsiStringに置換してビルドしてみれば?
- 200 :
- やってみる・・・
- 201 :
- やっぱりやめた・・・
- 202 :
- いや、根性でやったんだけどさw
まあダメだったわ、とりあえず無理やりキャストしてコンパイルが通っただけって感じだし
どうしたらいいの俺とか
- 203 :
- ちょっと調べてみた
MecsUtils.pasっていうEmbarcadero Developer Networkにある文字列関係の処理用コード使ったらタイトル文字化け直ったよ
http://cc.embarcadero.com/item/26061
Yahoo Mailの1メールでしか試してないけど
この中のMecsShrinkElementっていう関数にTIdMessageのSubjectを渡すと正常に変換された
- 204 :
- >>203
あああああああああああああああああああああああああ!!
ありがとうありがとう><
できましたできました!!!
自分もヤホーメール1件でしかまだ試してないですが
今までずっと試してたのが出来たのでこれでISO-2022-JPはばっちりです!!
ありがとうございました^^
- 205 :
- 違ったあああああああ!
=?ISO-2022-JP?B?って形式で入ってるのはダメだった〜
理由はよくわからないけどSubjectに入ってる形式で
何かわけのわからん形式ならMecsShrinkElementでOKでしたが
=?ISO-2022-JP?B?形式で入ってると変換されなかったので
これは別の関数呼べばいいんですかね??
何を呼べばいいかソースみてもわかりませんが・・・
- 206 :
- ヤホーから来たメールはOKだったけど
ニフティーから来たメールはダメだったぽ・・
これプロバによってアレかあ死にたい
- 207 :
- BCB6で、boost.polygon、は使えまつか?
- 208 :
- コモンコントロールってWM_NOTIFYを親に送りますよね
親がコントロールだったら、そのコントロールをサブクラス化するしか
WM_NOTIFYを捕捉する術はないのでしょうか?
- 209 :
- ない
- 210 :
- この前からIdPOP3がバグるって騒いでる基地外ですが
>>203氏のおかげで結構変換することができた
で、色々受信してたらMecsShrinkElementを通しても化けるのがあって
よくよくみてみると、MecsShrinkElementで化けるのは
最初から既にちゃんと変換されてたってのがわかったんだけど
2010のIndyのバグのせいか、ちゃんと変換されてるのと無変換で
MecsShrinkElementを通すとOKってのがあったんだけど
これを判別する方法としてCharSetがISO-2022-JPならMecsShrinkElementを使う
って事にしたら大抵OKになったけど、たまにCharSetに何も入ってないのに
MecsShrinkElementを使わないとダメなのがあって
これどうやって判別したらいいのですか・・・
- 211 :
- 7bit か 8bit かで区別するといいお
- 212 :
- XE2なら問題ないみたいだな
2010はバグ多いな
要するにXE2は2010、XEのバグ取りとFileMonkeyを入れたってことか
XE3でclang+llvmになるらいけどまたしばらくバグに苦しむんだろうな・・・
- 213 :
- >>211
それダメですた、それ入ってないのがあって識別できません><
>>212
XE2迷ったけど64ビット作れないみたいだし次まで待つ事に
- 214 :
- だよ
XE2はDelphiのみ64bit対応
だまされたー
- 215 :
- とりあえず、判断は
AttachmentEncoding、CharSet、ContentTransferEncodingでなんとかなりそうです。
で、最後に・・・
=?shift_jis?B? この形式で来るのが現在変換できなくて困ってます。
これを変換する方法を教えてください・・・
- 216 :
- 【中2自殺】 皇子山中学校 「韓国に対する関心を高めるため」 修学旅行は韓国へ
http://engawa.2ch.net/test/read.cgi/poverty/1341564390/
ねらい
ハングルを学ぶことによって、韓国に対する関心を寄り高める。
http://jan.2chan.net/may/b/src/1341557000217.jpg
- 217 :
- 皇子山って新羅の末裔らしいけどな
- 218 :
- BCB5でGDI+グラフィックを使おうとしたのですが、
動いてくれません。(画像ファイルは無事使えてます)
BCB6では自身のヘッダファイルのままで、グラフィックも
動いてくれています。
GDIplus関連のヘッダをBCB6からとか、2001年頃のSDKから
持ってきてもダメでした。
諦めて素直にBCB6でやるのも、ちょっと悔しいので
何か覚えている人がいたら、教えてくださいませ。
参考にしたサイト
ttp://www.leunen.com/cbuilder/gdiplus.html
ttp://aruaru.blog.so-net.ne.jp/2009-09-28
ttp://forum.sources.ru/index.php?showtopic=152783
- 219 :
- LoadLibrary
- 220 :
- GDI+を使う理由がわからん
激遅なのに。
しかも、今時BCB56って
割れ?
- 221 :
- >>219
遅延読み込みしないとダメだったんでした?
やってみます。
>>220
いや、正規だけど、エンバカには御布施したことないです。
何もかも今更なんだけど、GDI+もDirextX(DXライブラリ)も
触ったことなかったもので...
再描画の遅さは我慢できる使い方なんです
- 222 :
- =?shift_jis?B? この形式変換する方法教えてください><
それと、"=?Shift_JIS?を
とりあえずこの2つ変換できたら思い残すことはないかもしれないぽ
- 223 :
- 馬鹿には無理
- 224 :
- TListViewにExchangeメソッド無い??
行入れ替えどうやったらいいのかおしえてくらだ
- 225 :
- >>222
XE2ではタイトルがそうならないみたいな気がするので分からないけど
Base64のデコードに失敗してるんだと思うので自分でデコードすればもしかしたらうまくいくのかもしれない
- 226 :
- >>224
Items.AddItemかなぁ
- 227 :
- C++Builder2010でTImageを使って画像の回転をしたくて
TImageのヘルプをみるとRotateFlipらしきメソッドがあるんだけど
コンパイルするとこんなメソッド無いってエラーでるんだけど・・・
どうしたらコンパイルできます?
- 228 :
- つ ttp://delphi.about.com/cs/adptips2001/a/bltip1201_4.htm
つ ttp://www.delphi-central.com/tutorials/RotateBitmapBitBlt.aspx
つ ttp://stackoverflow.com/questions/10546582/rotate-timage-in-delphi
- 229 :
- RotateFlipはGDI+の関数だな
- 230 :
- DDBとDIBSection(普通のGDI)なら自分で計算して回転してやらないといかんよ
- 231 :
- >>228-230
ありがとうありがとう
- 232 :
- 何かこれ呼ぶだけで回転はOKみたいなソースどっかに転がってないかな?
- 233 :
- >>232
これ俺が前に実際に使わせてもらったソースのサイトだけど
http://homepage2.nifty.com/tsugu/sotuken/rotation/
sin, cosをintに変換してから計算しているので結構速いよ
ScanLineプロパティを使うともっと速くなる
Windows Vistae以降ならDirect2Dを使って
http://code.msdn.microsoft.com/windowsdesktop/VisualC-howto-96795643
とやれば処理の大部分をGPUに放り投げられるんだけどなあ
- 234 :
- >>233
ありがとうございます。
その2つのサイト参考にアレしてみます。
ありがとうございました。
- 235 :
- 中村御大のDHGLはできないっけ?
ttp://www.asahi-net.or.jp/~HA3T-NKMR/DGS/DownLoad.htm
- 236 :
- >>235
あ、これVCLライクなコンポーネント?
XE2に入るかやってみる
- 237 :
- >>235
それのRotateBitmap使ったらできましたー!!!
C++Builder2010
しかしこれパラメータ多くてとりあえず適当に入れてやってみたんだけど
回転角に90って入れても90度になってくれないなあ
たぶん他のパラメータの指定が悪いんだとおもうけど
- 238 :
- >>235
ああ、すんませんできました。
パラ少ない方でやったらあっさりできました^^
- 239 :
- ソフトを起動した時に既に起動していたら、既に起動してるソフトに引数をわたして
後から起動されたソフトの方を終了するにはどうしたらいいですか?
よくブラウザとかそんな感じになってますが
- 240 :
- mutex
- 241 :
- パイプまたはメールスロットとミューテックスを組み合わせるな普通
- 242 :
- >を組み合わせるな
組み合わせてはいけないのですね。わかりました
- 243 :
- >>242
こらこら
具体的なソースを誰か貼ってやれ
- 244 :
- 自演ツマンネ
- 245 :
- プロジェクトソースのとこで自分のハンドルを取得してメッセージ送るのってダメ?
- 246 :
- Win32の本を読むと、あるプロセスから他のプロセスにメッセージを送る方法は
大きく分けて3つあり、共有メモリを使った通信、メールスロット、名前付きパイプ
がある。前者ほど易しいが欠点も多い。後者ほど難易度が増すが、より堅牢に
なる。前者はメッセージを受け取る努力がより要求され、後者はメッセージを
より強引に送りつけるようになるとある。
ケースに応じて使い分けろと書いてある。
- 247 :
- 相手のハンドルが判ってれば
PostMassage
SendMassage
で桶
- 248 :
- >>247
引数ってその場合
UINT Msg, // message to post
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
これだけしか送れなくない?
コマンドラインみたいのを渡す時は使えない
- 249 :
- massage
- 250 :
- >>248
ここリンク貼れないのなんで?
ttp://cho●kuto.if●def.jp/advanced/copydata.html
- 251 :
- >>248
WM_COPYDATA
- 252 :
- でけた^^
- 253 :
- =?shift_jis?B? と "=?Shift_JIS? この形式変換する方法教えてくださあああああああ><
- 254 :
- あ、まちごうた
=?ISO-2022-JP?B? と =?Shift_JIS?B? ですた^^
教えてくださ
- 255 :
- 知ってるがお前には教えない
- 256 :
- test
- 257 :
- C++Builder2010でjconvert.pasをコンパイルしたら
jconvert.hpp内の各関数の引数が全てAnsiStringからUnicodeStringに変わってしまって
正常に実行できなくなるのですが
これちゃんとhpp内の引数がAnsiStringのままになるようにコンパイルするにはどうしたらいいですか?
- 258 :
- jconvertは2009以降に対応していないらしい
- 259 :
- >>258
あ、なるほど、ありがとう。
じゃあやっぱ他の方法考えないとダメなんですね・・
- 260 :
- 教えてください
例えば
ListView->Items->Item[i]->Data = new char[256];
↑みたいにnewした場合に
ListView->Items->Clear( );するとnewしたのも自動的にdeleteされるんですか?
それともClearする前にforで回して1つづつdeleteする必要ありますか?
- 261 :
- >>259
Delphi側でString/PCharをAnsiString/PAnsiCharに書き換えるという手もあり
>>260
勝手にdeleteされることはないので、OnDeletionイベントで処理するのがお勧め
- 262 :
- >>261
ありがとう
Delphi側でString/PCharをAnsiString/PAnsiCharに書き換えるというのは
jconvert.pasを自分で書き換えるって事ですよね?
- 263 :
- そう
jconvert.pasのライセンス条件に注意してね(調べてないけど)
- 264 :
- >>263
ありがとうやってみます。
ちなみに、個人で使うだけなので大丈夫です
- 265 :
- >>263
何かうまくいかないのですが、
Charでキャストしてるのがエラーになりますが
これは何にしたらいいですかね?
- 266 :
- 具体的に
- 267 :
- これが実際のソース
Result[k] := Char( (dbuf[0] shl 2) or (dbuf[1] shr 4) );
CharをAnsiCharでキャストしたらとりあえずコンパイルエラーは出なくなったけど
動作させても文字が化けて以前と変わらずなもので。
ちなみに、ConvertJCode関連の関数は全てAnsiStrigに変更しました
- 268 :
- UnicodeStringとAnsiStringの多バイト文字列の内部表現が違うからじゃないか?
- 269 :
- 黙ってコンパイルするとUnicodeStringになっちゃいますが
それをAnsiStringに変更しました
- 270 :
- Result, dbufの型は?
- 271 :
- dbuf: array[0..3] of BYTE;
ResultはAnsiString にしました。
- 272 :
- なら単に
Result[k] := AnsiChar( (dbuf[0] shl 2) or (dbuf[1] shr 4) );
でいいと思うが。
- 273 :
- >>272
たしかにそれでコンパイルは通りますが
ちゃんと変換できないのはやっぱり別の箇所に原因があるんですねこれ
どこなんだろう
- 274 :
- コンパイラに1バイトパッチあてるとデフォルトを ANSI に戻せるよ
- 275 :
- タスクバーをクリックしてアプリケーションに戻った時に,
最後にフォーカスがあったフォームしか表示されなく
なってしまった。
ちょっと前まで,全部のフォームが表示されたのに。
何を変えちゃったのか全然分からん。
- 276 :
- つ git
- 277 :
- IdPOP3->Retrieveって添付ファイルまで受信しちゃってるみたいですが
これ添付ファイルは受信しない方法を教えてください
- 278 :
- スクロールボックスの縦、横のスクロールバーが出てるかどうかを判断する方法を教えてほしい
- 279 :
- >>277
できないんじゃないかなぁ
>>278
VertScrollBar.Visibleじゃだめ?
- 280 :
- >>279
Visibleはダメなんですよね。
アレオブジェクトインスペクタでtrueにしてても
スクロールボックスにスクロールバーが出てない状態でもtrueのままなんです
- 281 :
- じゃあGetScrollBarInfoでSCROLLBARINFOのBarInfo.rgstate[0]に
STATE_SYSTEM_INVISIBLEが立ってるかどうかとか?
- 282 :
- >>281
ちょっと明日それ試してみますね
- 283 :
- >>281
IsScrollBarVisible でできました
- 284 :
- C++Builder2010でマウスカーソルをリソースマネージャに追加したのですが
これどうやってScreen->Cursorsにぶち込むのですか?
- 285 :
- でけた。
- 286 :
- 2010多いな
XEとかXE2の質問がほとんどねえ
という事はXEが2010のバグ取りバージョンで、XE2がDelのみを64bit化したわけか
- 287 :
- XE3出たら買うよ
それまで2010で我慢しろく
- 288 :
- XE3 がでればよいね
- 289 :
- MouseDownイベントでマウスボタンが押されている間マウスカーソルを変更したいのですが変更されません
マウスボタンを離したら変更されるのですが
これボタンを押してる状態でカーソルを変更させる方法を教えてください
- 290 :
- でけた。
- 291 :
- Stringgridの罫線?の色ってどやってかえるの?BuilderXE使用中です
- 292 :
- jconvert.pasを2010でコード変えずにコンパイルする方法を教えて・・・
- 293 :
- お前には無理だからあきらめろ
- 294 :
- 1.テキストファイルを読み込む
2.構造体を宣言しデータごとに格納
3.格納されたデータを表示
というプログラムを作りたいです。
1.をOpendialogを用いてできましたが2,3をどうしたら良いかさっぱりです。
詳しく解説している書籍やWebサイトなどがあれば教えてください。
C言語で書いているものはいくつかあったのですが
C++で解説しているのは見つからなくて・・・
テキストファイルの中身は
1 佐藤 175cm 70kg
2 鈴木 170cm 65kg
3 田中 165cm 60kg
のような学籍番号や氏名、身長体重が記載されているものです。
- 295 :
- 取得したテキストファイルを1行ごとの文字列として処理して、
(Lines->Strings[i]とか)
その文字列を学籍番号や氏名の区切り文字でわけて
構造体(の配列?)に順に格納していく。
それを最終行まで繰り返す。
表示は表示先しだい。
- 296 :
- >>295
ありがとうございます。
早速LinesやStringsなどで調べてみます。
- 297 :
- >>296
OpenDialogでテキストを何に読み込んでるかわからんけど、
TStringListやTMemoでテキストを読み込んでいろいろと処理する
サンプルなら検索すればいくらでもあるかと。
- 298 :
- >>297
TstringList 構造体
などで検索をしましたが中々これだ!というものが見つかりませんでした。
Delphiですが
http://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200403/04030068.txt
のような事をやりたいです。
良い検索ワードがあれば教えていただけないでしょうか?
- 299 :
- 「のような事」じゃなくて、自分の言葉で書けよ。
せめてリンク先のどこまで理解できてどこが理解できないのか、
自分がやりたいこととここが違うからこうしたいとか。
何がやりたくて何がわからないのかさっぱりわからない。
- 300 :
- テキストはcsv(カンマテキスト)にしてTStringListで嫁
んで、もう1つTStringListを使ってCommaTextにぶちこんでアレしろ
- 301 :
- >>299
すみません。
OpenDialogを使用してテキストデータのパスを取得
それをTStringListオブジェクトに読み込み
1 175 60
2 180 70
のような数字のテキストデータを
それぞれ身長 体重 学籍番号 などに分類したいんです。
構造体を宣言し、格納したいのですが
どういうプログラムを書けば格納できるのかサッパリなんです。
- 302 :
- それ>>294のまんまじゃん…
- 303 :
- C++Builder 2007で作成していたソフトウェアを、C++Builder XE2で開発しよう
と環境を移し変えているのですが、コンパイル時によく分からないエラーが出て
困っています。
[BCC32 エラー] Winapi.Windows.hpp(2102): E2257 , が必要
[BCC32 エラー] Winapi.Windows.hpp(2750): E2257 , が必要
[BCC32 エラー] Winapi.Windows.hpp(2752): E2257 , が必要
[BCC32 エラー] Winapi.Windows.hpp(2754): E2257 , が必要
失敗
経過時間: 00:00:01.1
これ、自分が書いたCPPファイルの最初の方や、ヘッダファイルの書き方に妙な
ところがある。
ということでいいんでしょうか?
C++Builder 2007から、C++Builder XE2への移行なんで、UNICODEへの対処に
ついては理解しているつもりですが、このエラーメッセージでは、何が何だか
分からず、とても凹んでいます。
(というか、UNICODE絡みで変なとこがあれば、デバッグで自分のソースを指摘
してくれそうなもんですが、このメッセージだと何がなんやらで・・・)
何かヒントになりそうな事でもいいので、教えてください。
よろしくお願いします。
- 304 :
- WINVER が小さいとみた
- 305 :
- プロジェクトそのものは新しく作ったほうがいい
- 306 :
- めんどくせぇ
- 307 :
- 最近人気ねえなage
XE3パスする事にしたしなあ
- 308 :
- ドキュメントがでてきた?
ttp://docwiki.embarcadero.com/RADStudio/en/BCC64.EXE,_the_C%2B%2B_64-bit_Compiler
- 309 :
- こっちはくだすれだから。統合本スレに移動しておきましょ。
- 310 :
- だって事実上質問はこのスレにしか来ないじゃん
本スレは荒れ放題だし
- 311 :
- あっちは被害担当艦だろ
- 312 :
- C++Builderをバリバリ使ってる人、手挙げて−
まず俺
- 313 :
- ∧_∧
( ゚ω゚ ) C++Builderは任せろー
バリバリC□l丶l丶
/ ( ) やめて!
(ノ ̄と、 i
しーJ
- 314 :
- なぜ止める!
- 315 :
- バリバリはまずいだろ。
- 316 :
- >>313
かわいい
元ネタ何?
- 317 :
- そのまんま「バリバリ AA」でggr
- 318 :
- 312だけど、バリバリって何かと思ったら、あのバリバリか
誕生日に奥さんにポーターのバリバリ貰った俺は…
- 319 :
- ま、場を考えて使え。って点ではおなじだな。
Boost や C++99 の話をしているところに C++BUilder 使ってま〜す。って入って行ったら
あのバリバリと同じ思いをすることになるしな。
- 320 :
- C++Builder XE3 を試しに使ってみたんだけど
SDIアプリを作成して
vectorを使おうと
#include <vector>
して
vector<int> abc;
と書くとエラーになる
何がいけないんだろ
- 321 :
- using namespace std;
または
std::vector<int> abc;
- 322 :
- >>321
ありがとう
うまくいきました。
- 323 :
- 設定の段階で詰まりました
http://i.imgur.com/GIbjD.jpg
e2075でcfgファイルの何がダメだのかわかりません
よろしくお願いします
- 324 :
- >>323
CFGファイルの中身晒せや
- 325 :
- 全角スペースあたりかねぇ。あとは冒頭に UTF8 BOM が入っているか。
.cfg はテキストファイルだから、からのテキストファイルでエラーが出ないことを確認したうえで
一行ずつ追加しては動作確認すれば、どの行に問題があるか見つけられるでしょう
- 326 :
- BOMの可能性が高い。
試してに.cfgに-myoptionの行を入れてbcc32を実行すると
オプションの間違い: -myoption
と表示されるが、その部分が化けている。
- 327 :
- テレビ番組「つまらなくなった」が71.2% 「昔は良かった」の声
投稿日: 2012年10月17日 15:00
この秋の新番組を、読者の皆さんはご覧になっているだろうか?
10月10日にスタートした『相棒 Season11』の初回2時間スペシャルの平均視聴率は19.9%
(ビデオリサーチ調べ・関東地区)となり、『相棒』シリーズの初回としては過去最高のスタートを見せた。
この他にもNHKの朝ドラ「純と愛」も初回視聴率19.9%(ビデオリサーチ調べ 関東地区)と、
前回の「梅ちゃん先生」を初回視聴率で上回る好発進を見せている。
視聴率においては好調なものも複数あれど、「最近、テレビがつまらない」と嘆く声は
メディアやネットの意見でしばしば目にすることが多い。本当に「昔よりテレビはつまらなくなった」のだろうか?
双方向のデータ通信での視聴者参加型番組や、最新技術を駆使した映像など、
テレビで表現できることはますます広がってきているはずなのだが…。
「昔にくらべて、テレビ番組は全般的にどうなったと感じますか?」という調査では、結果は以下のようになっている。
・面白くなった:6.7%
・変わらない:15.8%
・つまらなくなった:71.2%
・わからない:6.3%
(リサーチパネル調べ、17万4805人が対象)
このように、実に7割以上の人が「テレビ番組がつまらなくなった」と回答。
年齢別では、10代が55.0%と最も低く、20代66.8%、30代69.7%とその数字は上昇。
40代以上の年代はすべて7割を越えた。
http://shunkan-news.com/archives/1557
- 328 :2012/10/18
- すみません。誤爆しますた。
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
【計測】LabVIEW相談室【制御】 (556)
D言語 Part30 (551)
【論理】Prolog【初心者】 (605)
なぜポインタで引っかかる人が多いのか (796)
【3DS】プチコンを語るスレ【DSi】 (646)
国産オープンソースDIコンテナSeasar2 その16 (497)
--log9.info------------------
【集まれ】自分たちのバンドのHPを晒すスレ【宣伝】 (466)
コピーしかやらないバンド (631)
UVERworldライブ (728)
高学歴のバンドマン (273)
マキシマムザホルモンVSオレンジレンジ (558)
【作曲】バンドコンポーザーが息抜きに書き込むスレ (392)
バンドマンのアルバイト (229)
ダメなバンドにありがちなこと part2 (840)
【香川】バンドしよ〜よ。2杯目【うどん】 (928)
愛媛県のバンド事情 (594)
音響屋が教えるスタッフの利用法と基礎知識 (630)
Far-Offを語れ! (253)
名古屋のバンドpart2 (394)
2ピースバンド (303)
【ノルマ】ライブハウス出るのや〜めた【タカスギ】 (712)
インディーズで痛いバンドを晒せ! (312)
--log55.com------------------
【PC版】ストリートファイターW晒しスレpart15
ボクサーって体ガリガリだし喧嘩勝負なら弱そう
KOF14初週2万本wwwwwwwwwwwwwwww
格闘ゲーム史上一番かわいいキャラ
格闘ゲーム完全に終わった
BLAZBLUEはなぜ失敗し続けるのか?
抜ける格ゲーキャラ Part3
クイーンズブレイド in格ゲー板 2