一時的にデータを記憶させておく必要がある時に
例えば、Memoを見えないようにしておいてリストを入れておいて、
後から取り出すとかは邪道?
その都度TStringListをCreate,Freeして使うべき?
正統派とは思わないけど、常に一定のCSVデータを格納しておく時、
俺はやってる。
どんなデータかにもよるんじゃね
Handle 食うから嫌い
handle食うから嫌いって何故ですか?
ケチを付けるとかそんなんじゃなくて、私の知識不足
からの質問です。
必要なものを必要なだけ確保するというのがプログラミングの基本。
StringListが必要なのにただCreate/Freeが面倒という理由だけで
Memoを配置するなんて論外。
というのが建前。
実際は今時Memoインスタンスひとつ増えただけでWindowsが落ちるわけでもない。
好きにしてくれ。
まあウィンドウは見えなくても外部から参照できるからユーザーには笑われるかもしれないけどね
気持ち悪いからやだ
StringListもちょっと気持ち悪いけど使っちゃう
TStringListの生成ごときでうだうだ言ってる奴は、
TComponentにTStringList持たせただけのコンポーネントでも作ってもらったら?
TMemoはWindows管理下にあるので遅いしなぁ。普通にTStringListだろ。
with TStringList.Create do
try
//処理
finally
Free;
end;
長文のテキスト定数を簡単に記述できるヒアドキュメントがないから
TMemo.Linesに書きたくなる気持ちは分からないでもない。
TMemo.Lines は TStrings な訳で
TStringList は TStrings の子供だから
TStrings を完全に含んでいる訳だが。
>953が言いたかったのは定数として文字列を用意する代わりにForm/Datamoduleに配置した
TMemoにプロパティとして文字列を入れておく、ということだと思う。お手軽デバッグ用以外には
やめてほしい手法だけど。
テキストファイルをリソースで組み込めばいいやん
TStringList.Create関連の一連の記述を単語登録しとけ。
おれはそうしている。
TMemo貼り付けるより、ずっと楽だ。
Delphiアプリのタスクバーアイコンを右クリックしたときのメニューが
他と違うんだけどてっとり早く同じにするコンポかサンプルコードないですか。
Delphi7Lite はソースコード完全公開ですから、使って安心。
Weaver / Delphi2010 の修正 RTL の取り込みも始まっているので
みんなで使い回しましょう
マルウェアいっているのは円場かのまわしものかね。
と犯罪者が仰ってます
正規ユーザーなら、RTL/VCL のソースを修正することに何の問題も無いのだが
961 は、どこに問題を感じているのだい?
963 :
デフォルトの名無しさん:2009/06/25(木) 11:05:19
自分に知恵を付けろ
他人に知恵を付けるな
最後には自分の首を絞める事になる
Delphi2009を使用しています。
procedure TForm1.Button1Click(Sender: TObject);
begin
{$IFDEF FOO}
ShowMessage('FOO')
{$ELSE}
ShowMessage('BAR')
{$ENDIF}
end;
上のようなテストプログラムを書き、プロジェクト オプションのビルド設定で
Baseのプリプロセッサシンボルの定義にシンボルFOOを追加しました。
自動的にデバッグはFOO;DEBUG、リリースはFOO;RELEASEとなっています。
この状態でデバッグおよびリリースの再構築をしたのですが、どうやっても
"BAR"が表示されてしまいます。何か見落としていることがあったら教えてください。
>>964 オブジェクトインスペクタを確認してみてください。
ここの "ビルド設定" は
・Debug
・Release
のどちらになっているでしょうか?
# "ビルド設定" はダブルクリックで切り替えられます。
966 :
964:2009/06/25(木) 18:43:33
>>966 >オブジェクトインスペクタ
すみません、プロジェクトマネージャですね。
> おかしなところあるでしょうか。
ここはリソースコンパイラのプリプロセッサ用条件定義になります。
"Delphiコンパイラ" の "条件定義" に FOO を追加してみて下さい。
968 :
964:2009/06/25(木) 20:08:41
>>967 うまくいきました。本当にありがとうございます。
969 :
デフォルトの名無しさん:2009/06/25(木) 21:02:45
Delphiインストールしようとしたら、あらかじめ必要なものが多すぎてめんどくなった
>>969 すげーよくわかる、面倒だよな
俺はインストールして作るもの作ってリリースした後
起動すらしてないけどあとで必要になるかもと思って
アンインストールするかどうか迷ってる
そんなのなんかあったっけ?
統合環境が.netベースになっている比較的新しいバージョンだと
いろいろ入れなければならなくて面倒ですよ。
2009ではだいぶ減ったらしいですけど。
netか
俺もC#やってみようかなと思ったが、netも云々でやめたな
開発者ならそのくらい入っていても良いかな?と思うが
インストールに必須なものがない方が楽は楽
975 :
デフォルトの名無しさん:2009/06/26(金) 17:26:43
c++で二重ループの先頭にもどるのって
goto使うか二度if文使うしか無いの?
fortranだと
loop: do i=1,n
do j=1,n
if(hoge) cycle loop
enddo
enndo
とかで一行でかけちゃうよね
cで同じようなコードかくと
ループの外に出てしまうのでiがゼロに初期化されたり
jが更新されなかったりで冗長なコードになってしまうのが残念
976 :
デフォルトの名無しさん:2009/06/26(金) 17:27:49
誤爆してしまった
ごめんね
コードブロックをキューに突っ込んで言って
スレッドプールから暇なスレッドに割り当てて実行するような
Delphi向けのマルチコア向けのスレッドライブラリってなんかない?
効率とか考え出したらライブラリ探した方がいいけど、
単純にそれだけの機能なら自分で書いた方が早くないかね
スレチなんだけど、モニターの数ってどうやって確認するの?
>>979 Screen.MonitorCount
スレチなのか?
もうスレも終わりなのでスレ立てトライしてみますが会社なので結果は期待しないでね。
>>983は
>>980につっこみたかったのではなくてただの補足です。
「やな感じ〜!」に見える書き込みでゴメンナサイ
モニターが増えたり減ったりなんて結構前から珍しくないのに何年放置しているのかと思います。
本当だ。
バグ報告っていっているのかな?
起動中にって・・・
珍しいか?
俺はしょっちゅうやってるが。
>>986 常駐系とか思いつきませんでしたか?
貧相な頭ですね
TForm.Monitorを参照するとモニタの数更新されるよ
厳密に言えばフォームが新規に接続されたモニタ上にあった場合にだけど
なんだこのウンココードは…
function TScreen.GetMonitorCount: Integer;
begin
if FMonitors.Count = 0 then
Result := GetSystemMetrics(SM_CMONITORS)
else
Result := FMonitors.Count;
end;
常にGetSystemMetricsよんどきゃいいんだな
まぁそんなもんだ