C++Builder相談室 Part4
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG過去スレ・関連サイトは>>2-4あたり。
0136デフォルトの名無しさん
NGNG>>4 >>5 の方法で日本語 UI のまま動くことを確認しました。
既に .JPN ファイルを作っている人はそのまま Update3 を適用可能。
>>17 は必用なし。
コンパイラの文字列リソースが変更されている模様。
>>32 の BCC32.jpn は削除してください。改訂版は... 1日もらえる?
p.s. 今回は日本語ドキュメントが入っていませんね。方針が代わったのでしょうか。
0137デフォルトの名無しさん
NGNGそんなに嫌ならBorland商品なんか使うなよ。
0138デフォルトの名無しさん
NGNGそれを英語で書けたらみんな黙って従うよ。
0139デフォルトの名無しさん
NGNGsonnnani iyanara Borland syo-hin nankatukaunaYO
0140デフォルトの名無しさん
NGNGCOnigiriの場合は、普通のクラス
IOnigiriの場合は、インターフェースクラス
みたいなプリフィックスありますが、
オリジナル(?)で
TOnigiri ・・・ テンプレートクラス。内部の型を設定して使う。
BOnigiri ・・・ 継承して使う用(Base)。ウインドウ(コールバック部分)やスレッドクラスみたいなやつ
みたいな感じで
勝手にやっていいのでしょうか?
もし、開発チーム内でこんなことされたら勘弁と思う人とか居ます?
あと、
構造体名の場合は、SOnigiriでいいのでしょうか?
何かプリフィックすあったら教えてください。
0141140
NGNG間違って、投稿しちゃいました。
C++相談室に行ってきます。
ここだと、
TOnigiri使うと怒られそう。
0142136
NGNGまだどこにも記事が出てないんだけど...
それに「フィールドテスター」に対するライセンス文書も入っているし。
確かに Update3 なんだけど、ちょっと怪しい...
0143Delフサギコ ◆A6VzDeLphI
NGNG∧,,∧ 2タンはそいう場所なんでは?
,ミ ゚Д゚彡
ミ ∪
0144WPO
NGNGたまたま。(~・~)
ボーランドはFTPサイトがいろいろあるんだよ。
0145136
NGNGKylix3/Open のコンパイラのメッセージカタログが流用できそうなので、コンパイラメッセージの
日本語化は今晩か、明日にはどうにかなりそう。
コンパイラのバージョンが、5.6.2 にあがっていますね。
0146デフォルトの名無しさん
NGNG/ ̄\ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
─( ゚ ∀ ゚ )< きりくすきりくす!
\_/ \_________
/ │ \
∩ ∧ ∧ / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄\∩ ∧ ∧ \( ゚∀゚)< きりくすきりくすきりくす!
 ;きりくす〜〜〜! >( ゚∀゚ )/ | / \__________
________/ | 〈 | |
/ /\_」 / /\」
 ̄ / /
0147デフォルトの名無しさん
NGNG0148デフォルトの名無しさん
NGNGおまいらもここにメール送れ
[email protected]
0149デフォルトの名無しさん
NGNG正規表現を一から勉強して作るのは時間がかかりすぎるし……
0150デフォルトの名無しさん
NGNGもし、まんがいち、返事がきたら転載よろしゅう。
0151デフォルトの名無しさん
NGNGこんなのか(前半)
#define S1H(x) ((0x81 <= ((x) & 0xff)) && (((x) & 0xff) <= 0x9f))
#define S2H(x) ((0xe0 <= ((x) & 0xff)) && (((x) & 0xff) <= 0xef))
#define SH(x) (S1H(x) || S2H(x))
#define SL(x) ((0x40 <= ((x) & 0xff) <= 0xfc) && (((x) & 0xff) != 0x7f))
#define SP(p) (SH((p)[0]) && SL((p)[1]))
#define INC(p) ((*(p)) ? (SP(p) ? 2 : 1) : 0)
0152デフォルトの名無しさん
NGNGbool like(const char *p, const char *s) {
for (;;) {
switch (*p) {
case '\0':
if (*s == '\0') return true;
else return false;
case '%':
p++;
for (;;) {
if (like(p, s)) return true;
if (*s == '\0') return false;
else s += INC(s);
}
default:
if (SP(p)) {
if (p[0] != s[0]) return false;
if (p[1] != s[1]) return false;
} else {
if (*p != *s) return false;
}
p += INC(p);
s += INC(s);
}
}
}
0153デフォルトの名無しさん
NGNGDelphiにMatchesMaskてのがあるから、dllにでもして(゚∀゚)アヒャ
それともBCB6に実装されてる?>持ってる人
BCB5には無いよ。
0154デフォルトの名無しさん
NGNGそれ以前に真中とか先頭に*来るとちゃんと動かないよーな。
0155デフォルトの名無しさん
NGNG結構厄介かもな。
0156デフォルトの名無しさん
NGNGBCB6にはあるようだね。masks.hppに。
正規表現で良ければ、boostのRegex++使うとかってのはどう。
0157149
NGNGBCBの5なので無いです……Delphiもありません。
ハァ……
0158デフォルトの名無しさん
NGNG(ただしバグがあったような? 要確認)
正規表現ならば>>156氏紹介のRegex++を。
0159デフォルトの名無しさん
NGNGwchar でコンパイルすれば、そのまま使えるでしょ。
0160148
NGNG日本語版C++Builder 6 はアップデート#1は適用されております。
アップデート#2、#3につきましては現在、公開準備を進めており
ます。今しばらくお待ちくださいますようお願い申し上げます。
ということだそうです。
0161デフォルトの名無しさん
NGNG何ヶ月放置してるんだよ..
JBuilder7 Update3 が3ヶ月遅れで公開されたことを考えると、Update#3 は来年頭か..
0162デフォルトの名無しさん
NGNG0163質問です
NGNG上のようにPaintBoxの描画内容を印刷しようとしたのですが、できませんでした。
TBitmapを使わずに、領域を直接コピーして印刷できないのでしょうか?
どなたか解決法を伝授願います。OSは2000、Versionは5proです。
0164デフォルトの名無しさん
NGNG0165163
NGNGレスありがとうございます。
その命令の中に書いてあるのですが、印刷できません。
0166Delフサギコ ◆A6VzDeLphI
NGNGD5の時点で2バイト文字にバグありです。>>158さん
その後治ったかどうかしらないけど、
どうせ治ってないんじゃないかな
(日本技術部ないし。)
この辺をみれば修正方法がのっているのですが
[Delphi:50700] Re: 文字列比較のワイルドカード文字
[Delphi:53856] Re: MatchesMask 関数でメモリーリーク
[Delphi:53862] Re:MatchesMask は 2 バイト文字非対応ですか?
[Delphi:53879] Re: MatchesMask は 2 バイト文字非対応ですか?
当然VCLのソースがいるんですな。
バグがちゃんと某から修正されていてその情報が
すぐに確認できればいいのにね。
どこか内緒の匿名でupりましょうか?
0167デフォルトの名無しさん
NGNG何とかヴァージョン6にグレードアップできないかな?
0168デフォルトの名無しさん
NGNG50行程度の関数だから代わりを使うだけ。
>>151
のソースの%を*に変えてしまい、
?と[]の処理を追加すればいっちょあがり。
[]なしなら今手元にある。
0169デフォルトの名無しさん
NGNGTFrom->Print()じゃダメなん?
0171デフォルトの名無しさん
NGNGbool wmatch(const char *p, const char *s) {
for (;;) {
switch (*p) {
case '\0':
if (*s == '\0') return true;
else return false;
case '*':
p++;
for (;;) {
if (wmatch(p, s)) return true;
if (*s == '\0') return false;
else s += INC(s);
}
case '?':
p++;
s += INC(s);
break;
default:
if (SP(p)) {
if (p[0] != s[0]) return false;
if (p[1] != s[1]) return false;
} else {
if (*p != *s) return false;
}
p += INC(p);
s += INC(s);
}
}
}
0172デフォルトの名無しさん
NGNG6を買えばバージョンアップできるよ。
0173デフォルトの名無しさん
NGNGテキスト(TTextBrowser->Text.Length() が 0になる)が消えるのは仕様でしょうか?
今のところ、初めてのリンククリックの時のみデータをリロードして誤魔化してますが
非効率極まりなくて泣けてきます。
0174超初心者
NGNGコンパイルの方法を教えてください。
BCC32を実行はできますが、そこからのファイルのコンパイル方法が
どうしてもわかりません。どうすればよろしいですか?
よろしくお願いします。
0175173
NGNGコンストラクタでm_isEverLinkClicked = m_isEverLinkBug = false;としています。
void __fastcall TChatForm::TextBrowserClick(TObject *Sender)
{
if(m_URL.Length() != 0){
#ifdef _WIN32
AnsiString url = m_URL;
::ShellExecute(NULL,NULL,url.c_str(),NULL,NULL,SW_SHOWNORMAL);
#else
(略)
#endif
m_isEverLinkClicked = true;
}
}
void __fastcall TChatForm::TextBrowserTextChanged(TObject *Sender)
{
// Bug:Component
// 内容:TTextBrowserのリンクを初めてクリックした時、テキストが消える
// 対策:再度テキストをロードする
if(m_isEverLinkClicked && m_isEverLinkBug == false){
if(TextBrowser->Text.Length() == 0){
m_SendTextStream->Seek(0,soFromBeginning);
TextBrowser->LoadFromStream(m_SendTextStream);
}
m_isEverLinkBug = true;
}
}
0176デフォルトの名無しさん
NGNGhttp://www.borland.co.jp/cppbuilder/freecompiler/devsupport.html
いずれにしろ、MS-DOS/コマンドプロンプトの使い方はスレ違い&板違いだけど。
でも、"BCB"って入力してないだけかも。
0177デフォルトの名無しさん
NGNGちなみに、C++Builder5ラーニングバージョンです。
0178デフォルトの名無しさん
NGNG0179デフォルトの名無しさん
NGNG0180デフォルトの名無しさん
NGNG0181デフォルトの名無しさん
NGNGWinAPIだけど。
0182デフォルトの名無しさん
NGNGよろしくお願いします。
0183デフォルトの名無しさん
NGNG0184デフォルトの名無しさん
NGNG0185デフォルトの名無しさん
NGNGString s = "http://www.yahoo.co.jp";
ShellExecute(0, NULL,s,NULL,NULL, 0);
としたところ、
'AnsiString' 型は 'const char *' 型に変換できない
と出ました。どのようにしたらよろしいでしょうか?
0186デフォルトの名無しさん
NGNG0187デフォルトの名無しさん
NGNG0188デフォルトの名無しさん
NGNGヘルプくらい嫁
0189デフォルトの名無しさん
NGNG0190デフォルトの名無しさん
NGNG0191デフォルトの名無しさん
NGNGTStringList.LoadFromFile
0192デフォルトの名無しさん
NGNGなるほどw ありがとれす
0193デフォルトの名無しさん
NGNGAnsiString fName=ExtractFilePath(Application->ExeName)+"dummy.txt";
AnsiString dt;
TStringList *sl= new TStringList();
sl->LoadFromFile(fName);
dt=sl->Strings[0]; //1行目
ShowMessage(dt);
sl->Free();
>>191
TFileStreamばかりにらめこしてまつた。このへんはVCLに慣れてないととっさには出てきませんかね?
0194デフォルトの名無しさん
NGNGとっさというか私の定石なんで。
その代わりSAXとDOMの関係みたいに量が増えれば増えるほど効率は落ちますが。
0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNG0198貧乏学生
NGNGは貧乏な私が買う価値がありますか?それともC++の勉強不足だ、帰れな
のか教えてください。VBならAPI位なら使える程度です。
0199貧乏学生
NGNG0200デフォルトの名無しさん
NGNGDelphiが使えるなら大丈夫。
0201貧乏学生
NGNG0202デフォルトの名無しさん
NGNG配列やリストのようなデータ構造とか、ソートのようなアルゴリズムで挫折したなら、
言っちゃ悪いけど何やっても無理。
ウィンドウ関数やMFC、APIなどで挫折したなら、RAD可能なC++Bのほうが
学習カーブは緩いので、大丈夫と言えるんじゃない?
0203貧乏学生
NGNGC++Bの"->"でGUIを書くのが不思議な感じするけど、簡単そう。
この違いはなぜなんだろう。
0204デフォルトの名無しさん
NGNG0205デフォルトの名無しさん
NGNGそれはVCLが優れているからです。GUIの部品をコンポーネントとして
持っていて、それを組み合わせるだけで、極めて少ないコーディング
量で、Windowsプログラムが出来てしまいます。
もっともこれはDelphiも同じ。
0206デフォルトの名無しさん
NGNGコンポーネントをCLXで作ろうと思っているのですが、
ネット等で調べたところVCLのサンプルしか見当たらず
class PACKAGE TDirectoryTreeView : public TTreeView
{
//(省略)
};
bool __fastcall TDirectoryTreeView::init(void)
{
HIMAGELIST img_list_handle;
//(中略)
img_list_handle = (HIMAGELIST)SHGetFileInfo(
PAnsiChar(item_id_list), 0, &file_info, sizeof(file_info),
SHGFI_PIDL | SHGFI_DISPLAYNAME | SHGFI_SYSICONINDEX | SHGFI_SMALLICON);
if(img_list_handle == 0){
FIMalloc->Free(item_id_list);
ShowMessage("SHGetFileInfo失敗\n" + AnsiString(__FILE__) + "\n(" + AnsiString(__LINE__) + ")");
exit(1);
}
上のようにImageListのハンドルを取得し、
this->Images = new TImageList(this);
this->Images->Handle = img_list_handle;
としている例しか見つけられませんでした。
どうやらTCustomImageList::Images->HandleはVCLにしか存在しないようなので
CLXでTImageListにアイコンを取得する方法をご存知の方がいらっしゃれば
御教授お願いいたします。
開発環境はWindows2000sp3、Borland C++ Builder6 Professionalで、
コンポーネント内のWindows、Linux固有のコードは#ifdef __WIN32__で
分けて書いています。
0207Delフサギコ ◆A6VzDeLphI
NGNGミ,,゚Д゚彡 にImageListを設定して
ミつ[|lllll]). TreeNodeのImageIndexを…
〜ミ ミ
∪''∪ いや、よくわかないです。
0208デフォルトの名無しさん
NGNGユーザにイメージリスト作らせてそれ代入させれば良いんでは?
0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNGすまん。月曜夜まで待て。
0211デフォルトの名無しさん
NGNGすみません、私の説明不足でした。
TTreeView.Images に ImageList のポインタを設定して TreeNode の ImageIndex を
利用するのは分かったのですが、SHGetFileInfo で取得できるのは HIMAGELIST なので
TTreeView->Images->Handle = img_list_handle;
としているサンプルしか見当たらなかったのです。
しかし TTreeView.Images が Handle を持っているのはVCLだけのようなので、
CLXではどのようにしたら良いか分かりません。
HIMAGELIST が指し示す ImageList のポインタを TTreeView.Images に設定すれば
良いのだろうかと思ったので
TTreeView->Images = (TImageList *)img_list_handle;
も試してみたのですが、この行の実行時に AccessViolation を起こしてしまいました。
>>208
すみません、仰る事が上手く理解できませんでした。
あらかじめ用意しておいたイメージリストを、実行時にユーザーに選択させる
という事でしょうか?
もしそうならば、それは想定しているものとは違うものになってしまうので
残念ながらできません。
0212Delフサギコ ◆A6VzDeLphI
NGNGミ,,゚Д゚彡 < DelマガのVol22とかそれ前後の号に
ミつ つ \CLXでファイルマネージャを作っている
@ミ ミ 連載が載っているので
∪''∪ それを参考にしてみたらどうでしょうか。
ソースなら、Webでも手に入るし…
(本買わないとダウソだめかもですが)
0213仕様書無しさん
NGNGどっかのオブジェクトがメソッドとして持ってるのかな?
0215仕様書無しさん
NGNGsystem関数ですか!やってみます。
具体的にどうやって書けばいいですか?
0216デフォルトの名無しさん
NGNGhelp読め
0217デフォルトの名無しさん
NGNG楽しみにしております。僕も作り方が分かればお手伝いしたいのですが
全然わからなくて・・・
0218仕様書無しさん
NGNGDOSプロが邪魔です。。
ほかの方法はないですか?
0219デフォルトの名無しさん
NGNG>DOSプロ
死ぬか?
0220デフォルトの名無しさん
NGNGオナエモナー(ププ
0221デフォルトの名無しさん
NGNGhttp://www.google.co.jp/search?q=%EF%BC%A4%EF%BC%AF%EF%BC%B3%E3%83%97%E3%83%AD&ie=UTF-8&oe=UTF-8&hl=ja&lr=
0222デフォルトの名無しさん
NGNG______
/_ |
/. \ ̄ ̄ ̄ ̄|
/ / ― ― |
| / - - |
||| (5 > |
| | | ┏━┓| / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
| | | | ┃─┃| < こんなサイトを見つけた
|| | | | \ ┃ ┃/ \ 正直、スマンカッタ
| || | |  ̄ \_________
http://freeweb2.kakiko.com/saitama/
0223デフォルトの名無しさん
NGNG0224デフォルトの名無しさん
NGNG何とかExecute
0227デフォルトの名無しさん
NGNG0228デフォルトの名無しさん
NGNGおらよ。
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1036037417&rm=100
待たせてすまん。
展開してでてくる bcc32.jpn を複製して comp32p.jpn を作ってください。
bcc32.jpn と comp32p.jpn を bin ディレクトリにコピーすることになります。
0229デフォルトの名無しさん
NGNGありがとう&お疲れ様!
ホント、Borland Japanのサポート体制は腐っているよね。Update3どころか、
Update2も出てないんだから・・・・・
これで、最新のBCB環境を使うことができます。どうもありがとう!
0230デフォルトの名無しさん
NGNG0231デフォルトの名無しさん
NGNG後はドキュメントを差し換えるだけだそうなので、バイナリ差し換えは起きないものと
思われますが。
>Borland Japanのサポート体制は腐っているよね。
そんなことは無いよ。既に彼らの管理外にあるのだからしょうがない。
0232デフォルトの名無しさん
NGNG0233デフォルトの名無しさん
NGNG0234デフォルトの名無しさん
NGNGそれと、正式に Update3 日本語版が出たら“かならず”そちらを当てること。
そうしないと「最新のBCB環境」にならないような気がとってもするなぁ。
0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNG自動設定setbccのstep3のパス優先度の選択の現在のパス設定に\command;がなぜかないのが原因っぽ いっす
C++Builder5,5です
■ このスレッドは過去ログ倉庫に格納されています