952 :
デフォルトの名無しさん :04/02/12 20:42
record型でデータを定義してプログラムを作りました。 Newでいくつも作成して、ポインターをTListに登録して 使い回すのですが、これをclassに変えた場合、Createで いくつも作成するまではいいのですが、管理するには 何を使えばいいのでしょう? TStringListとかで、AddObjectですかね?
作製したクラスのポインタをTlistで管理。
954 :
デフォルトの名無しさん :04/02/12 21:02
【質問】 質問させてください。ある桁数を指定すると、 その桁まで総当たりで順番に処理するには、どうすればいいのでしょうか? 例えば3桁を指定した場合、 $00, $01, $02,・・・ $ff, $00 $00, $00 $01, $00 $02,・・・ $ff $ff, $00 $00 $00,$00 $00 $01,$00 $00 $02,・・・,$ff $ff $ff というように処理出来るようにしたいのですが。 n桁の場合どうしたらいいのでしょうか? 何か巧いやり方があったらご教授願いますm(_ _)m
955 :
デフォルトの名無しさん :04/02/12 21:04
>>945 > TListで項目を削除すると、そこはnilになって残りますが
ちゃんと詰められるはずだけど?
>>943 フォーカスを移さないように SpeedButton を使って
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
if StringGrid1.ControlCount = 1 then
TInplaceEdit(StringGrid1.Controls[0]).SelText := 'AAA';
end;
>>954 > その桁まで総当たりで順番に処理するには
もうちょっと、やりたいことを詳しく説明して
>>952 TObjectListを使うと多少楽。
>>954 for 桁数 := 1 to 桁数の上限 to
for 値 := 0 to (1 shl (桁数 * 8))-1 do
色々な処理;
メインUNITと複数のCPUUNITを作って 一つのメインUNITから、複数のCPUUNITへ盤面情報として 配列を直接引数として渡したいのですがうまくいきません。 固定配列をメインとCPUで宣言しても共通が無いと言われますし USES節で片方向や双方向の参照を試してもうまくいきませんでした。 配列を引数にするには型宣言が必要。 メインのインターフェイスで配列型宣言する→CPUUNITのインターフェイスでプロシージャ宣言に型が使えない。 CPUUNITで配列型宣言する→メインのインターフェイスで型宣言ができる →が、CPUUNITが複数になりCPU1、CPU2、CPU3などに増えた場合、宣言が重複する。 こういうやり方がおかしいのでしょうか、それとも他にもっといいやりかたがあるのでしょうか?
宣言専門の Unit を作って、それを 各 UNIT から uses するという頭の 悪い方法もある。
>>961 俺はある程度プログラムサイズが大きくなったら、複数のユニットで共有する
型宣言や定数宣言だけをまとめて、DefinitionsUnit.pasとして、それを
参照するようにしてるけど。
>>962 なんで俺が頭が悪いこと知ってるんだ?おまえ何者?
>>963 VCLなんかもそんな風に処理してるんだろうけど、
スマートなようでスマートじゃ無い気がしてきて、
気になって気になってどうしようもない。
お答えありがとうございました。やっぱりそれが一番簡単ですね。 ・・・自分でも思いついてたけど、なんとなく それだけは止めておこうと思ったのに_| ̄|○ 素直にParamUnitを立ち上げることにします。
>>957 様
レスありがとうございます。こんな簡単にできるんですね・・・衝撃です。
早速やってみます。多謝です!
あと,947様。ご気分を害してしまって申し訳ありませんでした。
オブジェクトの解放のことで教えて下さい。 たとえば、レコード型のデータを複数のList系のオブジェクトに、 addobject等で入れた時、入れた分だけDisposしてやらないと いけませんよね? レコード型をclassに変えた場合って、Createした分Freeしてやるだけで いいんですかね?
>>968 そうだけど、TObjectListの利用も検討すれ。
>>969 TObjectListを使っては見たんですが、
CombBoxとかにAddObjectもしたんです。
で、ポインターの感覚でCombBox、TObjectList
両方Freeしようとしたら、エラーが出たんで。
片一方(TObjectList.Freeしか試してないですが)なら
そのまますんなりだったんで、レコード型との
違いを確認したかったんです。
ありがとうございました。
>>970 >で、ポインターの感覚でCombBox、TObjectList
>両方Freeしようとしたら、エラーが出たんで。
TObjectListなら、標準状態ならTObjectListから削除したときに、勝手にFreeしてくれるから、
*両方ともも* Freeする必要はありません。DeleteさえすればOK。
ともも、だって。すまん。
あと次スレよろしく。
「くだすれDelphi超初心者用 その11」で。
>>1 に、コードを全く書かずに、「○○○することは出来ますか?」という質問は
禁止する、とのことを書いてくれるといいっぽい。
あとは、現状の
>>1 のコピーでいいでしょう。現スレへのリンクの追加も忘れずに。
>>972 それ、オレが書いた時は「仕切るな」って書かれただけだぞ。
>>973 500くらいで言うか、970で言うかの違いだろ。
>>977 「どうせ『また騙されたのか?系』だろ」と思ったが…。
ワラタ。
>>977 なるほど、たしかに頭よさそうだね。
Delユーザにはほんと頭いいのが多いね。
(´-`)。o ○ (ユーモアの無いヤツはこれだから…)
>>981 Delユーザにはほんとユーモアがあって頭いいのが多いね。
勉強になるわ、マジで
うーん 二つできてるぞ。
ウザ
重複キター?
前スレに誘導レスもできないなんて、Delユーザはほんと頭いいね。 つーか、立てる前に宣言しろよ。
重複した奴も立てる直前で調べろよ。
990 :
デフォルトの名無しさん :04/02/13 19:23
よし たてるぞー(w
992 :
デフォルトの名無しさん :04/02/13 20:47
Del8のキャンペーン申し込んで、 日本語版来た人いる?
993 :
デフォルトの名無しさん :04/02/13 20:50
記念カキコ v(^-^*)
ageずに埋めれ
埋め
996 :
デフォルトの名無しさん :04/02/13 20:58
(゚д゚) <シメジ
あぼーん
良スレの予感
999 :
デフォルトの名無しさん :04/02/13 21:08
>>998 激しく同意
これからのスレッドの流れに期待だな。
1!
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。