[表示 : 全て 最新50 1-99 101- 201- 301- 401- 2chのread.cgiへ]
Update time : 05/15 17:01 / Filesize : 113 KB / Number-of Response : 443
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C++Builder相談室 Part19



1 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 16:30:32 ]
C++Builderに関する質問・回答や議論等を行う相談室スレッド。
※2008/07よりCodeGear(Borland IDE/DB部門)はBorlandからEmbarcaderoに移動しました

【前スレ】
C++Builder相談室 Part18
pc11.2ch.net/test/read.cgi/tech/1188607282/

過去スレ・関連サイトは>>2-7あたり。

※Borland C++ Compiler 5.5.1についての質問は以下のスレへ
タダで使えるBorland C++ Part5
pc11.2ch.net/test/read.cgi/tech/1135127048/
※BDS(Borland Developer Studio)の総合スレはこちら
Borland Developer Studio 2006 No.13
pc11.2ch.net/test/read.cgi/tech/1175861395/
※CodeGear(Borland/Embarcadero)関連はこちら
【CodeGear】Embarcaderoオッチャ その10
pc11.2ch.net/test/read.cgi/tech/1216250111/

<関連スレ>
くだすれC++Builder(超初心者用)その3
pc11.2ch.net/test/read.cgi/tech/1171219191/
[Tips]Borland C++Builder ちょいテク No.01
pc11.2ch.net/test/read.cgi/tech/1154580209/
【Delphi】 Indyコンポーネント 【C++Builder】
pc8.2ch.net/test/read.cgi/tech/1093654251/


2 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 16:31:53 ]
<関連サイト>
公式サイト
www.codegear.com/jp/products/cppbuilder
builder-ML 過去ログブラウザ
leed.issp.u-tokyo.ac.jp/~takeuchi/builder/browse.cgi
www.sfdata.jp/ML/cbuilder/newlog.php?ml=cbuilder
C++Builder メーリングリスト
www.sfdata.jp/ML/menu.php?ml=cbuilder
C++Builder ML
www.jpdoc.com/cbuilder/
nifty/Delphi & Borland Users Forum
fdelphi.info/
BCBWiki
wiki.livedoor.jp/a7m/d/FrontPage

<Update>
BDSアップデート
www.codegear.com/downloads/regusers/devstudio
BCB6/US SP1 は BCB6/JP 製品版に含まれています。
C++Builder 6 Update4 日本語版
C++Builder 6 Linker Update
www.codegear.com/downloads/regusers/cppbuilder

3 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 16:32:38 ]
<Tipsなど>
Borland C++Builder最新リンク2005(リンク集)
www2.famille.ne.jp/~akio1998/l_cpb.html
C++Builderのお部屋(Tips系)
www.ne.jp/asahi/nagoya/ahomaro/builder/
C++Builderによるプログラミング(Tips系)
www.geocities.co.jp/SiliconValley/7201/
BCB Tips(Tips系)
members.at.infoseek.co.jp/mchos/bcb_tips/
C++Builder Tips(Tips系)
www.geocities.co.jp/SiliconValley/4805/bcbtips/bcbtips000.htm
C++Builderのお部屋(Tips系)
www.ne.jp/asahi/nagoya/ahomaro/builder/index.html
Wininet Programing(Tips系)
www.geocities.co.jp/SiliconValley-PaloAlto/1512/
Dr.Bob's C++Builder Gate(Tips系)
www.drbob42.com/cbuilder/index.htm
猫でもわかるプログラミング(一般)
www.kumei.ne.jp/c_lang/
Delphian World(コンポーネントライブラリ)
<行方不明>
DelWiki 避難所。
delwiki.info/

4 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 16:34:04 ]
<ツール/コンポーネント>
<<フリー>>
フリーカーソル無効化アドイン
homepage1.nifty.com/fuu/software/nonfreecursor.htm
GExperts−IDE拡張
www.gexperts.org/
BorCVS - IDEにCVSを統合
borcvs.sourceforge.net/
Indy
www.indyproject.org/
JCL
homepages.borland.com/jedi/jcl/
JVCL
homepages.borland.com/jedi/jvcl/
TurboPower
sourceforge.net/users/tpsfadmin/
<<有料>>
TMS Component Studio
www.tmssoftware.com/


5 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 16:35:23 ]
<参考図書>
C++Builder 6コンポーネント活用ガイド&実践プログラミング
Vol.1
www.amazon.co.jp/exec/obidos/ASIN/4877830618
Vol.2 実践テクニック編
www.amazon.co.jp/exec/obidos/ASIN/4877830626
Vol.3 データベーステクニック編
www.amazon.co.jp/exec/obidos/ASIN/4877830634
Vol.4 インターネット編1
www.amazon.co.jp/exec/obidos/ASIN/4877831061
Vol.5 インターネット編2
www.amazon.co.jp/exec/obidos/ASIN/4877831088
Vol.6 グラフィックス・画像処理編1
www.amazon.co.jp/exec/obidos/ASIN/4877831231
Vol.7 グラフィックス・画像処理編2
www.amazon.co.jp/exec/obidos/ASIN/487783124X
※BCBの定番解説書。BCBを購入したけど何から勉強したら良いか
 判らないという人は取り合えずVol2から読みましょう。
※データベースやインターネット関連はDelphiの解説書も役に立ちます。


6 名前:デフォルトの名無しさん mailto:sage [2008/08/01(金) 16:36:02 ]
<過去スレ (html化済)>
C++Builder相談室
piza2.2ch.net/tech/kako/969/969458279.html
新C++Builder相談室(C++Builder相談室 Part2)
pc.2ch.net/tech/kako/997/997074601.html
C Builder相談室 Part3
pc3.2ch.net/tech/kako/1016/10160/1016065855.html
C++Builder相談室 Part4
pc5.2ch.net/tech/kako/1035/10355/1035596146.html
C++Builder相談室 Part5
pc5.2ch.net/tech/kako/1045/10455/1045542179.html
C++Builder相談室 Part6
pc5.2ch.net/tech/kako/1054/10542/1054280736.html
C++Builder相談室 Part7
pc5.2ch.net/tech/kako/1061/10615/1061594556.html

<無償版>
Turbo C++ Explorer (C++Builder2006(10)相当)
www.turboexplorer.com/jp/cpp

116 名前:デフォルトの名無しさん[sage] 投稿日:2006/11/04(土) 17:25:13
ttp://beeography.wordpress.com/2006/09/12/just-wanna-let-you-know/
ここに書いてある方法でTurbo Exprorerでも合法にコンポ入れれるよ

117 名前:デフォルトの名無しさん[sage] 投稿日:2006/11/04(土) 18:02:21
あとこれ。
dclusr経由のコンポーネントインストールが、ライセンス違反かどうかの話。
ttp://hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200609/06090014.txt


7 名前:デフォルトの名無しさん [2008/08/04(月) 11:18:22 ]
NET FrameworkのControlってどやったら使えるんですかね?
コンパイルエラーになっちゃうんだけど

8 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 00:51:26 ]
よくわからんけど、C++Builderは.NETアプリを作るためのものじゃないが。C#かVB.NETじゃない?

9 名前:デフォルトの名無しさん [2008/08/05(火) 10:09:40 ]
いえ、CBuilder2007なんですが
ヘルプにはしっかりと出てるんですよねこれ。

10 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 11:06:57 ]
5や6使いが多いからなぁ



11 名前:デフォルトの名無しさん mailto:sage [2008/08/05(火) 21:50:07 ]
いやいや、C++Builderでは.NETアプリケーション作れませんてば。

12 名前:デフォルトの名無しさん [2008/08/06(水) 10:22:27 ]
>>11
m9(^Д^)プギャーーーッ

13 名前:デフォルトの名無しさん [2008/08/06(水) 15:00:01 ]
Builder5でStrCmpLogicalWを使う方法を教えて><

14 名前:デフォルトの名無しさん [2008/08/07(木) 11:52:01 ]
ListViewのカラムヘッダーの色を変える方法を教えてくれ

15 名前:デフォルトの名無しさん mailto:sage [2008/08/09(土) 23:12:14 ]
>>13
shlwapi.hが古いのとshlwapi.dllのインポートライブラリがないのが原因

MSからPlatformSDK落としてきて最新のshlwapi.hを入手するか
shlwapi.hに LWSTDAPI_(int) StrCmpLogicalW(LPCWSTR psz1, LPCWSTR psz2); 追加

implib.exe shlwapi.lib shlwapi.dll でインポートライブラリを作り
tlib.exe lib\import32.lib + shlwapi.lib 上記dll内のAPIをimport32.libに追加

これでいけた。

16 名前:デフォルトの名無しさん [2008/08/12(火) 16:45:58 ]
さっさと教えろクズ

17 名前:デフォルトの名無しさん mailto:sage [2008/08/12(火) 19:51:03 ]
わ、ゴキブリがしゃべった

18 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 14:00:38 ]
東京のゴキブリは喋るんだよ。
田舎者は知らなかっただろうけど。

19 名前:デフォルトの名無しさん [2008/08/13(水) 22:52:49 ]
環境: C++Builder5, Win2k
実行ファイル(C:\test.exe)のショートカットを作り、
そのショートカットを適当な所(C:\tekito\test.exeへのショートカット)に移動し、
ショートカットをダブルクリックして実行したとします。
その時、'C:\tekito\test.exeへのショートカット'文字列を得たいのですが、どうすればいいでしょうか。

20 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 23:11:16 ]
無理じゃね?



21 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 08:52:11 ]
>>19
意味が良くわからん。

実行ファイルのショートカットを作って、
その実行ファイルを別のところに移動するの?
移動するのはショートカットの方?

ショートカットを移動してそのショートカットをダブルクリックして実行したときに、
その呼び出し元のショートカットのパスを知りたいって事か?




22 名前:デフォルトの名無しさん [2008/08/14(木) 11:32:11 ]
初歩的なことですが・・・

ヘッダーに
typedef struct{
  String ss;
  int aa;
} GG;
があって
ヘッダのprivateに実体をとったときに
GG g[2];

cppで↓みたいな感じで代入ってできないですかね?
g[0]=GG{ "abc", 0 };

23 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 11:35:07 ]
struct GG{
  GG(String a, int b) : ss(a), aa(b) {}
  String ss;
  int aa;
};

g[0] = GG("abc", 0);

24 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 11:36:00 ]
あとコピーコンストラクタと代入演算子のオーバーロードもしておくといいお

25 名前:デフォルトの名無しさん [2008/08/14(木) 11:51:23 ]
>>23
GG(String a, int b) : ss(a), aa(b) {}の行でエラーが出ました><


26 名前:デフォルトの名無しさん [2008/08/14(木) 12:01:19 ]
あ、違った。

struct GG{
  GG(String a, int b) : ss(a), aa(b) {}
  String ss;
  int aa;
};
GG g[2];  ←ここでエラー
g[0] = GG("abc", 0);

27 名前:デフォルトの名無しさん [2008/08/14(木) 12:07:18 ]
あ、デフォルトコンストラクタ入れたら通りましたありがとうございます。

28 名前:デフォルトの名無しさん [2008/08/14(木) 13:59:53 ]
String ss;

char ss[24];
ってしたときのコンストラクタの記述を教えてください><

29 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 14:48:59 ]
コンストラクタ内でstrcpyでもしとけ

30 名前:デフォルトの名無しさん [2008/08/14(木) 14:49:34 ]
わかりました><



31 名前:デフォルトの名無しさん [2008/08/14(木) 21:09:44 ]
>>19です。
>>20,21 返信ありがとうございます。
> ショートカットを移動してそのショートカットをダブルクリックして実行したときに、
> その呼び出し元のショートカットのパスを知りたいって事か?
そうです。

32 名前:デフォルトの名無しさん mailto:sage [2008/08/14(木) 21:14:56 ]
>>31
それを知ってなにをしたいのか書けば代案とか出せるんだが。
コマンドラインスイッチやカレントディレクトリで代用とかはできんの?

33 名前:デフォルトの名無しさん [2008/08/16(土) 14:06:49 ]
>>32
返信ありがとうございます。
参考にさせて頂き、コマンドラインパラメータで代用しました。
作ったソフト(RandExec.exe)は以下のような物です。

例えば、「RandExec.exe C:\Data\!*.wav」として実行すると、
「C:\Data\」ディレクトリにある、拡張子「wav」のファイルのうち、
先頭に「!」が付いている名前のファイルをランダムで1つ実行します。

FindFirst()のお陰でワイルドカード文字が使えるのですが、
残念ながら、「RandExec.exe C:\*\start.wav」のように、
パスの途中にはワイルドカード文字を使えないようです。
これを実現したいのですが、どういう手段が考えられるでしょうか。
適したコンポーネントはご存じないでしょうか。

34 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 14:28:08 ]
>>33
普通に実装したら?

まず、ワイルドカード (* ?) を探して、その手前の \ を探す、
ワイルドカードの次の \ を探す、\ で挟まれてればそれはフォルダのワイルドカード、
最初の \ の手前までのフォルダで FindFirst して上のワイルドカードと一致するか検索、
ってやれば簡単にできそう。

35 名前:デフォルトの名無しさん mailto:sage [2008/08/16(土) 16:22:51 ]
入力が"C:\Data\sound*\snd*.wav"なら
strtokとかでC: Data sound snd* snd*.wavに分割
先頭から次の要素接続>FindFirst/FindNextで複数マッチした場合はその中からランダムに選択、でまた次の要素接続ってやってけば簡単だろ

36 名前:デフォルトの名無しさん [2008/08/20(水) 14:06:58 ]
今度Vista対応を行わないといけなくなったのですが
マニフェスト記述例やデータ保存箇所のルールなどBCBやDelphiで
作成したプログラムに対しても参考になるような情報が書いてある
書籍って何か無いでしょうか?(CマガのMookは買いました)

37 名前:デフォルトの名無しさん [2008/08/21(木) 22:03:33 ]
Delphi 2007 for Win32によるWindows Vista対応
ttp://dn.codegear.com/jp/article/34159
tp://bekins.borland.com/groups/jp/events/devcamp/04/devcamp04_g4.pdf

38 名前:36 [2008/08/22(金) 15:17:18 ]
>37
参考になりました
これを足がかりに少し進めてみます

39 名前:デフォルトの名無しさん mailto:sage [2008/08/22(金) 15:26:46 ]
WinXP SP3だけど、

exeにマウス右クリックすると、
「マニフェスト ファイルを作成」
というポップアップメニューが出るお。

40 名前:デフォルトの名無しさん [2008/08/22(金) 17:10:39 ]
>39
社内でSP3を入れたXPを探してきて見てみたけど・・・・出なかった。
何が要因でそれが表示されるようになるんだろう。



41 名前:39 mailto:sage [2008/08/22(金) 17:17:31 ]
え”、そうなの?

自分も知りたい。

42 名前:デフォルトの名無しさん [2008/08/25(月) 12:51:45 ]
>39
VisualStudio入ってない?

43 名前:39 mailto:sage [2008/08/25(月) 12:56:35 ]
V$6なので、関係無いと思いますが。

44 名前:デフォルトの名無しさん [2008/08/26(火) 19:37:23 ]
ところでCodeGearの次スレってたたないの?
せっかく2009が発売されるのに・・・

45 名前:デフォルトの名無しさん mailto:sage [2008/08/26(火) 19:53:04 ]
【Embarcadero】CodeGearオッチャ その11
pc11.2ch.net/test/read.cgi/tech/1219157228/

46 名前:デフォルトの名無しさん [2008/08/27(水) 10:04:48 ]
thx
値段たっかいなー
ご祝儀にしてもこれはちょっと辛いわ

47 名前:デフォルトの名無しさん mailto:sage [2008/08/27(水) 12:31:05 ]
BCB5+vistaを使っています。

CodeGuardを使いたいのですが、大量にログが出てしまいました。
見てみるとどうもライブラリ内のAnsiString::cat_printfらしく、とりあえず
ライブラリ内と標準ライブラリのチェックだけはずしたいのですが
方法はないでしょうか?
※include の前に #pragma option -vG- を入れても引っかかって
 しまいました。


48 名前:デフォルトの名無しさん [2008/08/27(水) 17:15:53 ]
BCB6で、
>メモリストリームの拡大中にメモリが足りなくなりました
エラーが出た場合、
どういう対処がありますでしょうか?

49 名前:デフォルトの名無しさん [2008/08/27(水) 22:29:08 ]
>>48
その不具合に直接の関係があるかどうかは判らないけど、BCB6ではメモリ管理周りに不具合が残されたままなので
ひとまずfastmmをプロジェクトに追加してみたらどう?

50 名前:48 mailto:sage [2008/08/28(木) 08:42:56 ]
サンクス>>49
fastmmをプロジェクトに追加したら治りマスタ。

今のfastmmってDLLも不要になってるんですね。

自分がfastmmが嫌いなのは、プロジェクトに組み込まれたか組み込まれてないか、見た目で分からないんですよね。
判定する方法はないんでしょうか?



51 名前:デフォルトの名無しさん [2008/08/28(木) 17:21:40 ]
Builder2007で質問ですが
Form1からForm2を表示させたら何故かForm2がfsStayOnTopみたいになって
Form2が常にトップで表示されるんですが何故ですか?
両方ともFormStyleはfsNormalです。

52 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 17:23:02 ]
Form1をParent設定したからじゃね?

53 名前:デフォルトの名無しさん [2008/08/28(木) 17:30:08 ]
してないですししたらForm1にめりこみません?

54 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 17:35:21 ]
ShowModalで表示させてない?

55 名前:デフォルトの名無しさん [2008/08/28(木) 17:39:22 ]
いえ、Showでいっといてます。

ちなみに、モーダルだと下フォーム(Form1)をクリってもアクティブにならないですが
>>51の現象はForm1はアクティブにはなるのですがForm2が常に前面にあるんですう
うーん、今までBuilder5でやってたのと同じなんですが、2007で仕様が変わったとか?

56 名前:デフォルトの名無しさん mailto:sage [2008/08/28(木) 21:25:39 ]
hpcgi1.nifty.com/MADIA/DelphiBBS/wwwlng.cgi?print+200808/08080025.txt

Vista対策の弊害

57 名前:デフォルトの名無しさん [2008/08/29(金) 18:06:17 ]
>>56
そそそそあqwせdrftgyふじこlそれだ!!
ありがとうありがとう><

しっかしこんなすぐわかるバグを放置ってなんなんだいったい

58 名前:デフォルトの名無しさん [2008/08/29(金) 18:09:34 ]
あー!
ListViewのOwnerDataをtrueにしてあれすると
MultiSelectが使えないよおおおおおおおおおおおおおおおおおおおおー
複数選択するとSelCountが0になるうううううううううううう
たすけてー><

59 名前:デフォルトの名無しさん [2008/09/01(月) 09:56:29 ]
te

60 名前:デフォルトの名無しさん [2008/09/01(月) 09:58:37 ]
StringGridでカーソルを行選択にできますが
これをListViewみたいにマルチセレクトする方法を教えてくださいよ



61 名前:デフォルトの名無しさん [2008/09/01(月) 16:48:43 ]
更に質問
StringGridのDrawCellで各セルを描画してんだけど
Invalidate呼んだら表示されてるとこ全部あれしちゃうんで
これ指定した行だけ更新するほうほうをさっさと教えてくださいよ

62 名前:デフォルトの名無しさん [2008/09/02(火) 19:15:50 ]
ListViewで1行づつ背景の色を変える方法を教えてください><

63 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 06:57:56 ]
>>33です。
>>34 >>35 返信ありがとうございました。
お陰様で、かなめの部分はこんな感じでできました。
void  FindPathPattern(TStringList *paths, AnsiString dir, const TStringList *items, int level)
{
  TSearchRec sr;
  int     attr;

  if (level < items->Count-1) {
    // フォルダ検索&再帰
    attr = faAnyFile;
    if (FindFirst(dir+items->Strings[level], attr, sr) == 0) {
      do {
        if (sr.Attr & faDirectory) {
          FindPathPattern(paths, dir+sr.Name+"\\", items, level+1);
        }
      } while (FindNext(sr) == 0);
      FindClose(sr);
    }
  }
  else {
    // ファイル検索&保存
    attr = faAnyFile & ~faDirectory;
    if (FindFirst(dir+items->Strings[level], attr, sr) == 0) {
      do {
        paths->Add(dir+sr.Name);
      } while (FindNext(sr) == 0);
      FindClose(sr);
    }
  }
}

64 名前:デフォルトの名無しさん mailto:sage [2008/09/09(火) 21:57:25 ]
>62
OnCustomDrawItemイベントでSender.Canvas.Brush.Colorを変更するだけ。

65 名前:デフォルトの名無しさん mailto:sage [2008/09/11(木) 21:52:29 ]
2009入れたんですけど、2007で通ったコンパイルが通らないです。
widestring は wchar_t* に変換できないってどうすればいいのでしょ?

WideString( fi.FullName );

66 名前:デフォルトの名無しさん [2008/09/18(木) 20:04:25 ]
TToolBarの中のTToolButtonを真ん中に持ってきたいのですが、
方法無いのでしょうか?

67 名前:66 mailto:sage [2008/09/18(木) 20:11:25 ]
Indentプロパティに0以上の値を設定すればよかったです。。
半年も悩んだのに、書き込んだ瞬間わかるとは。。

68 名前:デフォルトの名無しさん [2008/09/19(金) 13:13:29 ]
BCB5で突然CPUウィンドウが表示され続ける現象が出始めてしました

○問題
 統合環境からのデバック実行時にCPUウィンドウが表示され続ける
○解ったこと
 ListViewの項目幅を変更した時にCPUウィンドウが表示される
○その他情報
・Vista用のマニフェストを追加
・Listviewとは関係無い箇所の修正
・プログラムへのバージョン情報の埋め込み
この3点は元に戻してみましたが代わりありません
数日前のソースに戻すと問題無く動作します

DelphiMLで同様の現象が出た人が居たのですがその方はXP3を当てることで直ったそうですが
今の開発環境はすでにSP3が入っているのでこのような変化を付けることが出来ません
問題が発生しているListViewにはまったく手を入れていません

何か対策をご存じな方がおられましたらお願いいたします

69 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 22:48:13 ]
マニフェストが怪しくね?システム側にキャッシュされるという話を読んだことがあるし。

70 名前:68 [2008/09/20(土) 08:52:23 ]
マニフェストがキャッシュされる話は自分も聞いたことがあるのですが
外部マニフェストでは無く実行ファイルの中に入れているので影響は無いと思っていました
(実行ファイルのパスとタイムスタンプでキャッシュしてると理解してます)

困った・・・・



71 名前:68 [2008/09/20(土) 15:14:16 ]
解決しました
原因は指摘の通りマニフェスト
一時は外しても再現してたのですがすべてのプロジェクトの再構築で再現しなくなりました

マニフェストのほうですがMicrosoft.Windows.Common-Controlsを指定しているブロックの部分が
引っかかっていたみたいです(目的としてはAdmin権限必須の指定だけでよかった)
丁度Vista対応実例があったのでそのマニフェストを流用していたために疑うのが遅れました

72 名前:sage [2008/09/21(日) 07:40:54 ]
 Turbo C++でフリーカーソル無効化アドインを使っていたのですが、
hotfixを当ててから効果がなくなってしまいました。
TC++をインストールしなおす以外に何かよい方法はないでしょうか?


73 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 11:14:12 ]
C++Builder2009が届いたんで、今までの環境を移行して今まで組んだプログラム
を修正して動かしたりしているんだが、ASCII文字だけがどうしてもうまくいかん......

元々、外国の特殊文字(Latin1/2)の文字入力の為に作ったソフトで、
ASCIIのウムラウトとかをキーボードから":u"とか入力して表示できる
ようにしてたんだが、C++Builder2009でコンパイルしてテストすると
"・"になっちゃうんだよね。

要は、ASCIIコードの特殊文字を表示させたいんだけれども、
どういう風にすればいいか分かる人いない?
やっぱり、Unicode対応しちゃったから今までのASCIIは完全にダメなんかな?

74 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 11:28:07 ]
要は今までANSI(ISO 8859系)で処理してたてことだよね?AnsiStringで処理しておいて
表示のみUnicodeStringにするとかそのくらいしか思い浮かばないな。

75 名前:デフォルトの名無しさん mailto:sage [2008/09/21(日) 12:04:00 ]
>>74
そういう方法しかないかなぁ......
一応試しているんだけれど、TEncodeingでUnicode化もうまくいかないんだよね......
TBytesにAnsiStringを変換しないとUnicode化はできないみたいなんだけれども、
これもうまくいかない......

76 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 07:05:05 ]
>>75
もしよかったらバージョンいくつからの以降で、
どの程度ソースの変更が必要だったか教えて欲しい。

77 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 09:38:40 ]
>>76
えっと、CodeGearウオッチャスレにも書いてるから、
重複するけれども、こんな感じ。
まぁ、やり方が分かれば、手間は掛かるかもだけれども難しい事はないよ。

C++Builder2007とC++Builder5からの移行だよ。

例1)MessageBoxに直接文字列セット
 Applcation->MessageBox("mes","mes",MB_OK);
   ↓
 Applcation->MessageBox(L"mes",L"mes",MB_OK);
例2)AnsiString型に文字列をセットしてMessageBox出力
 AnsiString str="mes";
 Applcation->MessageBox(str.c_str(),str.c_str(),MB_OK);
   ↓
 UnicodeString str="mes";
 Applcation->MessageBox(str.w_str(),str.w_str(),MB_OK);
例3)DelphiのVCL登録
 Char→AnsiChar
 PChar→PAnsiChar

例4)C++Builder5からの移行
  C++Builder5から移行して、例1とか例2とかの修正後、
 リンカエラーが出た場合の対処として、新規プロジェクトを作成
 してフォームのCPPファイルを追加してコンパイルするとリンクも通る。

78 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 10:22:15 ]
>>77
ありがとう。L マクロか。

私も5からの以降なんだけど、
フォームは作り直さないとやっぱりダメ?
>フォームのcpp ←dfm の間違いだったらいいんだけど・・・


79 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 10:55:33 ]
>>78
あっ、フォームを作り直す必要はないよ。
作り直す必要があるのはプロジェクトファイルね。
新規でVCLフォームアプリケーションを作成して、最初にあるuit1をプロジェクト
から削除後、C++Builder5で作ったdfmのあるCPPファイルをプロジェクト
にD&Dすると、dfmとcppとhファイルが勝手に追加されるから、
その後ならリンクも正常に通るよ。

80 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 21:08:50 ]
>>79
ありがとう!
決心しました。
明日アップグレード金振り込んできます。

デヴェロッパーズキャンプとか出たのに、
そういう肝心なことは聞きにくかった。
っていうか、Builder5 からの移行って時点で
聞きにくかった・・・。



81 名前:デフォルトの名無しさん mailto:sage [2008/09/23(火) 22:42:54 ]
>>80
お役に立てたら何よりだよ。

とりあえず、C++Builder2007でも通らなかったものはある。
具体的にはTarCtrlsっていうVCL。
これは、dsinintf.hppっていうのを使っているが、これがC++Builder2007
の時点でファイル名が変わってたっぽい。
で、そのファイル名に変更してみたんだが、クラス名も変わってるみたいで
簡単には移植できなさそうで諦めたよ。

そういったものを使ってなければ、移植に関してはそんなに問題はないと思うよ。


82 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 10:13:25 ]
>>81
重ね重ね、ありがとう。

VCL でも整理されたクラスとかあるんだね。
TarCtrls は多分使ってないと思う。
あんまり VCL でも変わったのは使わないようにしてるから、
意外と移植の手間は少なそうな気がしてきた。

それより、Lマクロがめんどくさそう・・・。

83 名前:デフォルトの名無しさん mailto:sage [2008/09/24(水) 11:56:47 ]
AnsiString、WideString、UnicodeStringでtypedefで置き換えできる位の互換性持たせてくれと思う・・

84 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 14:07:34 ]
2009トライアル版にBCB6のプロジェクトを読み込ませてビルドを試みてるけど,書き直しが結構大変。
>>77のMessageBoxも沢山あるんだけど,何しろヘルプがバグだらけで正しい書き直し方がわかるまでに
時間がかかる。

・UnicodeStringのc_str()メソッドはwchar_t*を返すとヘルプには書いてあるが,実際にはchar*が返される。
wchar_t*を返すのはw_str()だった。

・ExceptionクラスのMessageプロパティの型はヘルプによればAnsiStringだが,実際にはUnicodeString。

・DateTimeToString関数のプロトタイプはヘルプではDateTimeToString(AnsiString, const AnsiString, TDateTime);
となっているが,正しくはDateTimeToString(UnicodeString &, const UnicodeString, TDateTime);らしい。
結局ヘルプではAnsiString→UnicodeStringの書き換えがまともに行われてないんだということがやっとわかった。
それにしても&くらい抜かさずにちゃんと書いて欲しい...

ところで2009ではTEditのTextやTButtonのCaptionなんかが軒並みAnsiStringからTCaptionという型に変わって
るんだけど,ヘルプにはTCaptionはstringだと書いてある。これってstd::stringのことなの?
だとすると,ToInt()とかないからstd::stringstream使わなきゃなんないし,今までインデックスが1からだったのが
0からになるし,エライ騒ぎなんだが...と思ったら,違うみたい。デフォルトではstringはUnicodStringだそうな。

もーようわからん。Delphiとごっちゃになったヘルプはなんとかならのか!

85 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 15:24:28 ]
>2009トライアル版にBCB6のプロジェクトを読み込ませてビルドを試みてるけど,

BCB6を使ってるとは同じ身だorz

誰か対応方法wiki化しる!

86 名前:デフォルトの名無しさん mailto:sage [2008/09/25(木) 16:06:32 ]
>std::stringstream使わなきゃなんないし
#define _TCAPTION(str) std::string(str.c_str())
でいいじゃん

87 名前:84 mailto:sage [2008/09/25(木) 16:10:03 ]
>>86
いや,TCaption=std::stringじゃなくてTCaption=UnicodeStringだってことがわかったんでいいんだ。
紛らわしいこと書いてスマソ。

88 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 13:42:03 ]
うにこでStringはt_str()で_TCHARが返るよ

89 名前:デフォルトの名無しさん mailto:sage [2008/09/28(日) 13:44:10 ]
うにこで初心者はここら辺見とくといいよ
ttp://www.ruche-home.net/?%A5%D7%A5%ED%A5%B0%A5%E9%A5%DF%A5%F3%A5%B0%2F%BE%AE%A5%CD%A5%BF%BD%B8%2FUnicode%C2%D0%B1%FE%A5%B3%A1%BC%A5%C7%A5%A3%A5%F3%A5%B0

90 名前:80 mailto:sage [2008/09/29(月) 22:12:58 ]
ビルダー2009コネーヨー> ヽ(´Д`)ノ

もう2日まって来なかったら、連絡してみよう・・・。



91 名前:デフォルトの名無しさん [2008/09/30(火) 12:53:19 ]
StrToInt では16進数文字列が変換できないの?
自分で HexToInt なる関数をつくってしまったわい。

92 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 13:19:32 ]
>>91
変換する文字列の頭に 0x つければできるよ。

93 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 16:15:04 ]
>>91 m9(^Д^)

94 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 16:24:31 ]
こういうのは自作した方が良い。

95 名前:80 mailto:sage [2008/09/30(火) 16:25:12 ]
今日届いた。一応解決したからかきこんどきます。スレ汚し、スマヌ。
インストールする気が全く起きん・・・。

96 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 19:00:11 ]
>91
'$'+でももちろんおk

97 名前:貧乏学生 [2008/09/30(火) 19:27:05 ]
質問です。
ファイルをリストボックス上にスクロールダウンして
リストボックスにファイルのパスが表示されるプログラムが
出来なくて困っています。
ご存知の方いらっしゃいましたらご指導よろしくお願いします。

98 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 19:37:26 ]
>>97
どこの言葉だよ・・・。

99 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 20:32:09 ]
にh(ry

100 名前:デフォルトの名無しさん mailto:sage [2008/09/30(火) 20:36:32 ]
リストボックスにD&Dでリストボックスにファイルパスを表示する
ということ?








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<113KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef