くだすれC++Builder(超初心者用)その2

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:2007/01/27(土) 20:52:40

moji == "0"
moji == "d"
moji == "1d"ですた・・・。
953デフォルトの名無しさん:2007/01/27(土) 21:33:56
>>951
数字だけなら、一回数字に変換すればらくだが・・・
954デフォルトの名無しさん:2007/01/27(土) 23:57:25
>>953
どもです。
その通りで、数字だけ、文字だけならばどうにでもなるのですが・・・。
何故ダメだかはわかるのですが、ガードする方法は思い付けません。
955デフォルトの名無しさん:2007/01/28(日) 00:18:49
俺なら、strtolでも使って全部が数字の文字列であるか判定した後(第2引数を利用)
その数字の代償で比較するかな。
956デフォルトの名無しさん:2007/01/28(日) 12:41:02
>>955
ありがとうございます。strtol調べてみました。
第2引数は変換出来ない文字の格納先ですか。
ifでも使ってここの値に何かが入っていれば飛ばしてやればいいって事でしょうか?
957デフォルトの名無しさん:2007/01/28(日) 21:34:38
>>956
整数と判っているのであれば最初からTRegistryIniFile::ReadInteger()で読み込むのが楽だよ。
読み込み失敗時に返す第3引数に0でも指定してやっとけば範囲制限も簡単に解決できるんじゃないかな。

int n = Ini->ReadInteger( "Window", "Left", 0 ); // 整数として評価できない場合は0を返す
if( ( 1 <= n ) && ( n <= 100 ) ){〜


文字列として受け取らざるを得ない場合はAnsiString::ToIntDef()かAnsiString::ToInt()で
intに変換してから判断。(ToInt()は変換できないとき例外を投げる点に注意)
958デフォルトの名無しさん:2007/01/29(月) 10:55:27
フォームがアイコン化されたメッセージを取得する方法を教えてください
959デフォルトの名無しさん:2007/01/29(月) 11:15:16
すみません。フォームじゃないですねたぶん
Application->Minimize( );
でアイコン化した時に現在アイコン化されてるかどうかを識別する方法を教えてください
960デフォルトの名無しさん:2007/01/29(月) 11:24:58
IsIconicつーAPIはある
961デフォルトの名無しさん:2007/01/29(月) 14:48:10
自分で作ったクラスに、__propertyとか使いますか?
使わない方がいいんですか?
962デフォルトの名無しさん:2007/01/29(月) 17:07:07
Borlander(コアなBorlandファン)なら使うべきじゃない?
Delphi使いは、普通につかってるよ。
963デフォルトの名無しさん:2007/01/29(月) 21:43:35
__closure愛用してるから__propertyも平気で使ってる。
964デフォルトの名無しさん:2007/01/29(月) 22:39:53
いままでVB6使ってたんだけど、このままじゃだめだなと思い
C++Builder6を買いました。
初心者にお勧めのサイトを教えてください。m(_ _)m
965デフォルトの名無しさん:2007/01/30(火) 06:15:46
>>964
薄い方のマニュアルを、最初から順番にやっていくといいよ。
これが一番わかりやすかった。
966デフォルトの名無しさん:2007/01/30(火) 11:18:18
>>964
イベントハンドラにだらだらと実装書くのはやめましょう
967デフォルトの名無しさん:2007/01/30(火) 19:50:57
>>966
じゃあどうすれば?
968デフォルトの名無しさん:2007/01/30(火) 22:10:25
データ操作処理とGUI処理はキッチリ分けた方が管理し易い。
必要な情報だけコントロールから取り出して、本処理は
別のルーチンに整理するのが吉。

つーか最近、保守契約が切れた外注のプログラムをデバッグする機会が
あったんだが、ソースをのぞいたら不可視のコントロールを変数代わりに
使ってて死ぬほどウザかった。
リストビューをコレクション代わりに使ってたり。
職業プログラマってこんなもんなのか?
969デフォルトの名無しさん:2007/01/30(火) 22:13:25
そんなもん
ほんとにコード書ける奴は一握り
970デフォルトの名無しさん:2007/01/31(水) 00:23:39
ビューとモデルをごっちゃにする人はいるね、たまに。
そんな人ばっかりではないけど。

普通は、しないんだから。
971デフォルトの名無しさん:2007/01/31(水) 00:34:21
まあ、DelphiやBCBやVBやVC#やその他ポトペタ開発環境の多くが、
ビューとモデル、果てはデータまでいっしょくたに書けちゃうしなあ
972デフォルトの名無しさん:2007/01/31(水) 00:36:25
>>971
分離するためのデータモジュールとTAction〜コンポーネント
973デフォルトの名無しさん:2007/01/31(水) 05:34:04
クリップボードのデータ持ってくるのにTEditやTRichEdit使っちゃうのはダメですか
974デフォルトの名無しさん:2007/01/31(水) 06:18:33
Clipbrd をusesに加えて、Clipboard.AsTextで取得・設定
975974:2007/01/31(水) 06:19:16
Delphiスレと勘違いしてた。スマソ
976デフォルトの名無しさん:2007/01/31(水) 07:03:39
>>975
ま、似たようなもんです。
Clipboard(void) で TClipboardオブジェクトを取得して操作、が
普通だよね。
977デフォルトの名無しさん:2007/01/31(水) 10:54:17
VCLフォームアプリケーション(Cソース含む)を作っているの
ですが、実行時にブレークできません。
ブレークポイント設定はしているのですが、何故か赤丸の中に
バツがあるアイコンが出ます。
ヘルプではコメント,空白行,不正な宣言位置への設定だと書か
れていますが、そのような行への設定ではないのですが。。

ブレークポイント設定できない理由をご存知の方、いらっしゃいますか?
978デフォルトの名無しさん:2007/01/31(水) 11:17:17
>>977
バージョンくらいかけぼけが
ぷろじぇくとおぷしょんこんぱいら
979デフォルトの名無しさん:2007/01/31(水) 11:41:41
>>978
プロジェクト→オプションを見ましたが、バージョン情報
載ってないです。

ヘルプ→バージョン情報は以下でした。
Borland(R) C++Builder(R) for Microsoft(R) WindowsTM
Version 10.0.2288.42451 Update 2
Copyright (C) 2005 BorlandR Software Corporation.
All Rights Reserved.
980デフォルトの名無しさん:2007/01/31(水) 11:53:31
>>977
そのソース内、どこでもブレークきかない?
981デフォルトの名無しさん:2007/01/31(水) 11:55:59
リリースビルドなだけじゃねーの
982デフォルトの名無しさん:2007/01/31(水) 11:58:51
>>980
はい、どこでもダメです。C++,Cどちらにはってもブレークしてくれません。
>>981
ビルド設定はデバッグ・ビルドになっています。
983デフォルトの名無しさん:2007/01/31(水) 23:34:20
フォルダの中に、いくつのファイルがあるか知りたいんですが、
FindFirst,FindNextで、数えていくのがよいのでしょうか。
984デフォルトの名無しさん:2007/01/31(水) 23:35:50
>>983
FileListBox 使うと楽だったりする。
985デフォルトの名無しさん:2007/02/01(木) 02:47:44
ごめん、どこっていうのも恥ずかしいところでした。

D言語のリファレンス訳書いている人んところですね。
986デフォルトの名無しさん:2007/02/01(木) 02:48:16
>>985
誤爆 orz
987デフォルトの名無しさん:2007/02/01(木) 06:14:26
>>984
FileListBox使ったこと無いですが勉強します。
レスありがとうございました。
988デフォルトの名無しさん:2007/02/01(木) 10:36:51
>>987
>>968

てか個数数えるだけならFindNextのループでカウントとるだけな気が‥‥

const AnsiString dir = "C:\";
TSerchRec find_data;
std::vector<TSerchRec> files;
if(FindFirst(dir, faAnyFile, &find_data) == 0)
{
 do
 {
  files.push_back(find_data);
 } while(FindNext(&find_data) == 0)
}

ShowMessage(AnsiString().sprintf("%s内のディレクトリを含むファイルの数は%d個", dir, files.size()));

ファイル名とか取る必要ないならvector使わずにカウンタでインクリメントしてけばいいだけ
989デフォルトの名無しさん:2007/02/02(金) 05:24:18
中古のbuilder6買ったばかりなんですが、
「Linuxとのクロスプラットフォーム開発を実現する、
CLX(Component Library for Cross platform)のWindows版も収録。」
っていうのは、どういうことなんでしょうか?

・CLXを使って書いたコードを、builder6でコンパイルしてできた実行ファイル

・CLXのライブラリを使えるようにしたlinuxのパソコンに
コードを持ってきて、それをコンパイルした実行ファイル

が同じ動きするということでしょうか?
linuxのビジュアル開発ができるんだったらすごいです。
990デフォルトの名無しさん:2007/02/02(金) 09:39:41
>>989
後者。
Kylix(Linux用Delphi/BCB)でビルドすればLinux上で動作可能。

まあ、現実にはPCの性能が上がったこともあってJava使った方gゲフンゲフン
991デフォルトの名無しさん:2007/02/02(金) 12:12:40
>>990
レスありがとうございます。
Kylix Open Edition2ベクターから、ゲットしました。

ユーザー登録しないといけないみたいですが、
試用許諾コードってもう入手できないでしょうか。

インストール解説してるページ見つけて、
”このページからアンケートなどに答えて取得して”ということで飛ぶと、
HP見てももうサポートしてないってページが表示されます。

ふんむー。
992デフォルトの名無しさん:2007/02/02(金) 13:28:40
>>989
それ以前に、Borland製品の場合、規約で中古ではいかなるライセンスも認めていないから、
商用はもちろん、フリーウェア配布にも使えないよそれ。
993デフォルトの名無しさん:2007/02/02(金) 14:05:33
ナ、ナンダッテー
994デフォルトの名無しさん:2007/02/02(金) 14:12:10
>[Linker Error] Unresolved external '__fastcall Outline::TCustomOutline::~TCustomOutline()' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\BCBSMP.LIB|.\cdiroutl.cpp

コンポーネントのインストールでエラーでます。
再インストールしてもこのエラー消えませんが、どうしたら良いですか?
995デフォルトの名無しさん:2007/02/02(金) 15:16:09
TListViewで行の挿入方法を教えてください
996デフォルトの名無しさん:2007/02/02(金) 20:02:57
>>992
そんなの言わなければばれないよ
997デフォルトの名無しさん:2007/02/02(金) 21:24:41
>995
Item = ListView1->Items->Insert(n);
単に追加ならAddで。
998デフォルトの名無しさん:2007/02/02(金) 23:37:44
>>992
シッーーーーー!!!
999デフォルトの名無しさん:2007/02/03(土) 00:26:29
へ?

とかいう間に>>999ゲット
1000デフォルトの名無しさん:2007/02/03(土) 00:27:10
>>1000なら、
>>989は、製品版の新品を買うこと。
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。