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


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

くだすれDelphi(超初心者用)その48



1 名前:デフォルトの名無しさん mailto:sage [2008/11/03(月) 00:50:40 ]
Delphi(デルファイ)について、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を
勇気を持って書き込むスレッドです。
Delphi使いが優しくコメントを返しますが
お礼はDelphiの布教と初心者の救済をお願いします。

<前スレ>
くだすれDelphi(超初心者用)その47
pc11.2ch.net/test/read.cgi/tech/1214292265/

<過去スレ>
DelWiki避難所(Delphi 関連の過去スレッド)
delwiki.info/?%E3%83%AA%E3%83%B3%E3%82%AF%2F%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%2FDelphi%20%E9%96%A2%E9%80%A3%E3%81%AE%E9%81%8E%E5%8E%BB%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89

237 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 20:39:27 ]
バージョンアップしなくても「Delphiならではのメリット」は変わらんだろ・・

238 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 22:22:05 ]
昔、Delphi 7 では、デバッグでカーソルを変数に合わせるだけで値をインスペクトできた。

先日、Delphi 2006 を借りて使ってみたら、それができないじゃん。

新しい Delphi ではどうなっているのか知ってる人、どーか教えてくだしゃい。


239 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 22:40:42 ]
>>236
おれんとこにも来たな、特待販売の葉書。
見たら会社名に「エンバカデロ・テクノロジーズ」って書いてある。

 エン バカ デロ

は、日本じゃアウトだろフツー。

C++Builder でまともなプログラム組めたことなかったし、
Delphi 2005, Delphi 2006 も安定しなかったんでまともに使ってなかったし、
エン「バカ」デロ Delphi と C++Builder はマジで悩む。



240 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 22:42:04 ]
えっ?できますよ?

241 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 22:50:35 ]
>>239
うわぁ・・・

242 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 22:54:41 ]
>>239
安定しなかったってどういうこと?
ちなみに、Delphi7で業務アプリ作ったけど、その時は割と安定してたけどな。

Delphiで気になるのは、ネイティブコンパイルと、VCLかな。
ビジュアルコンポーネントの使い勝手は優秀だと思った。
StringListとかObjectListなどの非ビジュアルコンポも優秀だけど、

いまじゃC#でもList<String>とかで代用できてしまうし、
コンポーネントもVCLライクに仕上がって遜色ない出来になってるしなぁという感じで悩む。
ま、.NETFrameworkがないと動作しないのは相変わらずなんだけど。



243 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 23:33:59 ]
Delphi7は安定していたが、Delphi 2005は統合環境がなぜかフリーズしまくり。

Delphi 2006 はコードエディタな若干不安定で、箱形コピペなどすると、ずれ
てペーストされる。また、何もしなくとも、しばらくするとCPUを食うよ
うな処理が統合環境内部で起こる。そして、Delphi7より何か重たい。
また、>>238 のように、デバッグでカーソルを変数に合わせるだけで値を
インスペクトできない。(あれは便利だった!!!!)

これらの現象は、コードギアが提供したパッチを当ててもダメだったんだな。
そんで、今もDelphi7を使っているんだよな、おれ。

ただし、どこかにあったGoogleMap を組み込んだデモだけは、Delphi7では
コンパイルできなかったのでDelphi 2006 で試したらうまくいった。

ハーア、何かうまくゆかないもんだな。

244 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 23:38:21 ]
>>240
>えっ?できますよ?
えっ?できるの?


245 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 23:46:46 ]
>244
>238のことですよね?できますよ。もちろんローカル変数ウィンドウでも評価ウィンドウでも見られますけど、
変数にカーソルをあてるだけでインスペクションできるし、最近のものでは構造体のメンバやポインタの
示す先を追っていくこともできます。できないバージョンは(Personal/TurboExplorerを除けば)ないんじゃないかな?



246 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 23:47:58 ]
× できないバージョンは(Personal/TurboExplorerを除けば)ないんじゃないかな?
○ Delphi5以降でできないバージョンは(Personal/TurboExplorerを除けば)ないんじゃないかな?


247 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 00:00:42 ]
>>238 >>244
「メニュー」ツール → オプション 

「オプションダイアログ」 エディタ設定 → 支援機能 → ツールチップ式評価 をチェックでOK

デバッグの機能なんだけど、「デバッガオプション」ではなく「エディタ設定」にあるのがミソ


248 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 12:33:02 ]
IDEが不安定ってことなのか。
いつからかIDEが.NET上でしか動作しないようになったんかな。
若干、重いイメージは確かにあったけど。
ネイティブで動作させることを目的としなければ、VS2005移行で十分に
Delphi並のRAD環境になってるから、選択に難しいところではあるよね。

249 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 12:58:37 ]
IDEは.Netだけど、コンパイルされるコードはネイティブ。

250 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:05:53 ]
D2009はIDEはネイティブでそ?
ヘルプのために.NETがいるだけで

251 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:30:54 ]
Delphiって算術シフトの演算子ってないの???


252 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:35:28 ]
shlとshr

253 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2008/11/26(水) 17:34:36 ]
>>251
ビットシフトこのとでしたら shl、shr で。
綴りで分かるかもしれませんがそれぞれ左シフト(SHift Left)と右シフト(SHift Right)。


254 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2008/11/26(水) 17:35:51 ]
って一番下の252が見えてなかった…すいません


255 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 18:56:32 ]
ファイルの先頭からあるバイト目からをMemoに読み込むにはどうしたらよいのでしょうか?

というのも、ファイルの先頭にいらない物が付いていてそのまま




256 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 18:59:58 ]
途中送信してしまった・・・orz
ファイルの先頭からあるバイト目からをMemoに読み込むにはどうしたらよいのでしょうか?

というのも、ファイルの先頭にいらない物が付いていてそのまま
Memo1.Lines.LoadFromFile(Filename);
とやっても文字化け?して読めないんです。
でもその無駄なのを取り去ってやるとMemoに読み込めます。

257 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 19:14:15 ]
>>256
それはウニコードだね

258 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 20:13:55 ]
>>256
TFileStreamとかAssignFile・Seek・Readで読み出せばいいはず
TFileStreamの方が簡単・VCL的なのでおすすめ
procedure TForm1.ButtonClick(Sender: TObject);
var
Stream: TFileStream;
begin
Stream := TFileStream.Create(Edit1.Text, fmOpenRead or fmShareDenyWrite);
try
Stream.Seek(10, soFromBeginning);//10バイト飛ばして読む
Memo1.Lines.LoadFromStream(Stream);
finally
Stream.Free;
end;
end;

>>257
うんこーどと断定できるとかすげえな

259 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 01:16:21 ]
Delphi 2006でコンポーネントのインストールをしたい。

だが、「コンポーネントのインストール」がメニューから消えており、
HELPで「コンポーネントのインストール」を検索すると

  『コンポーネントコンポーネントのインストール』
  このダイアログボックスでは,コンポーネントを新規パッケージ
  または既存のパッケージにインストールします。

とある。
いったい、どうやってダイアログボックスまでたどり着くのだろう?
どなたか教えて下され。


260 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 01:47:15 ]
>>259
2006のヘルプを見ろよ
>すべてのコンポーネントはパッケージとして IDE にインストールされます。したがって,
>ユーザー自身がコンポーネントを作成するときには,まずそのコンポーネントを入れる
>パッケージを 作成してコンパイル する必要があります。コンポーネントのソースコードは,
>コンポーネント作成の概要 で説明されているモデルにしたがって記述する必要があります。

261 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 10:21:20 ]
>>260
なるほど、Delphi2006は 「ファイル」メニュー から辿ってパッケージを作るようになってたんだ。

Delphi7では 「コンポーネント」メニュー からいきなり「コンポーネントのインストール」ができ、そこで
パッケージを新規に作成してたんで(これには)気付かなかった。Delphi2006のように
パッケージ・プロジェクトとして開発する方が、Delphi7のときよりも少しだけ楽だね。
助かった。ありがとうございました。

262 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 12:57:36 ]
Turbo DelphiでFastMM4.90を利用しています。

デバッグ時にステップ実行していると、メモリの確保や解放時などFastMMのソースに飛ばされます。
これを無視したい(デバッガがFastMMのコードまで追わないようにしたい)のですが、どうすればいいのでしょうか。

263 名前:262 mailto:sage [2008/11/27(木) 13:03:36 ]
とりあえず、コンパイラ指令の{$D-}をFastMMのソースに加えることで抑制しました。

264 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 13:33:23 ]
ソースに飛べないようにすればいいじゃない
削除するなり移動するなり

265 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 12:38:27 ]
>>264
そーすると、例外が起きるたびにソースを要求されるそーすよ。



266 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 13:19:11 ]
そーすね

267 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 14:04:42 ]
            ___
          ,,r''"´    `"''-,,
        / ノ   ヽ、    \
         / ( ● )   ( ● ) ヽ  ヽ
        i゛ :::⌒(__人__)⌒:::  ヽ  ゛i
      l     |r┬-|       l  ノ    そーなんすかwww
        !     | |  |      レ'
      l   l  | |  |   l  , l
      |   l   `ー'´    |  l l
        !   l        ,!  | l
      l   ゛i       /  l i゛
      ゛i   ヽ     /   / /
       ヽ,__,,,ゝ    く  ノ /
        ヽ       ゛" /     __
       _  )      、(二"'''ー'"ー'__゛゛ヽ
     r'   ̄           ̄ヽ,)‐-,,_ ´┴'ノ
     ヽ__,,-──-、__,ノ  


268 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 10:34:14 ]
FastMMがいつの間にやら新しくなってたので落とそうと思ったらアカウントが必要になってたのね
そう思って登録しようとしても、必要事項書いてRegistration押してもその後何にも起こらん
どうすりゃいいの?メール来るのかと思ったら来ないし

269 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 10:38:09 ]
とりあえずお前が英語苦手だってことは理解した

270 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 10:41:19 ]
>>268
ダウンロードにパスなんて必要ないんだけど

271 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 10:41:46 ]
パスじゃなかったアカウントだ

272 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 10:52:54 ]
あれー?Download押すとトップページに飛ばされるから
そう思ってた。俺だけ?

273 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 10:58:33 ]
sourceforge.net/projects/fastmm/→Download→FastMM 4.92→FastMM492.zipだろ?
どこで踏み外せばいいんだ

274 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 12:18:31 ]
すぐ上で言ってるとおり、Downloadだよ
俺だけのようだ…会社でも家でも同じだったんだよなあ
なんでだろ

275 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 12:22:10 ]
ブラウザのせいだったようだ
すまんです



276 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 12:26:34 ]
どんな糞ブラウザ使ってんだよw

277 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 13:40:11 ]
Turbo Delphiを使用しています。

ローカルバックアップの保持ファイル数の上限を増やすことはできるでしょうか?。
私の環境では、どうも100個くらいしか保持してくれないようです。
これを1000個くらいまで保持してくれれば、個人的にはだいぶ楽になるのです。

よろしくお願いします。

278 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 13:43:03 ]
あまりそれでがんばらずに素直にバージョン管理システム使ったら。
TortoiseSVN + pdumpfsの組み合わせて使ってるけどソース紛失で泣く事はなくなったな。

279 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 14:02:22 ]
>>278
どうも。

IDE標準の、変更のたびにバックアップが作成されるというのは、
利点でもあり弱点でもありますね。

トイレに行った後、レジストリの方も調べてみましたが、
BDS-4.0-Editor-OptionにあるFile Backup Levelというキーで、
上限を増やせるようです?(実際に増えるかは未確認)。

当座はこれでしの(げるならしの)ぎます。教えていただいたソフトウェアについても、
調べてみたいと思います。ありがとうございました。

280 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 22:00:56 ]
かなりくだらない質問なんですが
皆さんbegin...endのbeginをどこにで書いてますか?
例えば
if hoge then
begin
hage;
end;

とか

if hoge then begin
hage;
end;

281 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 22:07:05 ]
>280
俺は上派だな。elseがある場合は下みたいな感じ。

if hoge then
begin
end else if mage then
begin
end else
begin
end;


VCL内でも統一した書式はないと思う。

282 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 23:55:55 ]
懐かしい議論だ。俺は下派。

283 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 23:58:51 ]
使ってるモニタ次第
UXGAでちまちま詰める必要はないし
ノートで縦にだらだら書いてたら確実に生産性が低下する

284 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 00:02:59 ]
モニタでいちいち書式かえたらよけい生産性が下がるわな・・

285 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 00:15:54 ]
以下のような書き方してる。
if hoge then begin
end
else if uge then begin
end
else then
end;
って書いてる。
ifのブロックとelseのブロックがend挟んで分離されるので、一目でどこまでがifのブロックか見分けることができると思う。

ただし、hogeが長くなったり複数行になる場合は、例外として、
if (hogeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee)
and (ugeeeeeeeeeeeeeeeeeeeeeeeeeeeeee) then
begin
end;
としてる。

beginが右の方に行き過ぎて、書いたかどうか分からなくなるから。
もし本当に書き忘れたり、うっかり削除すると、endの対応が一致しないってエラーに悩まされる。あと、思い込みのミスもあるし。
前回のコンパイルから時間が経ってると、どこ直したか忘れて、一カ所ずつ探すはめになるので。
こまめにコンパイルすればいいんだけど、気持ちよく書いている時って、しばしば忘れるんだよね。

また、質問と外れるけど、
if hoge then
syoti1;
syori2;
って書いちゃって、なんでsyori2が常に走るんだって、悩むことになるから、if hoge then Exitのような単純な場合を除いて、ぶら下がりインデントは使用しない様にしてる。
基本的には、自分は間違っていない!という思い込みのミスを避ける方向に書くようにしてる。



286 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 01:56:00 ]
パスカルの生みの親ビルトが頭弱かったから、汚い begin end がプログラムを醜くしてしまった。
単文、複文なんて、関係ないのにね。
まあ、おいらもバカだが、if 文は次のようなものが分かり易いと思っている。

<else 句がない場合>    <else 句がひとつある場合>    <else句が複数ある場合 ※ef はelseifの意>

if 条件式 then       if 条件式 then           if 条件式 then
  文                文                    文
endif              else                   ef 条件式 then
                    文                    文
                 endif                  ef 条件式 then
                                         文
                                      else
                                         文
                                      endif



287 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 01:59:08 ]

でも、endif も ef も予約語にないから、そこでおいらは次のようにしているんだ

<else 句がない場合>    <else 句がひとつある場合>    <else句が複数ある場合>

if 条件式 then begin   if 条件式 then begin       if 条件式 then begin
  文                文                    文
end               end else begin           end else if 条件式 then begin
                    文                    文
                 end                   end else if 条件式 then begin
                                         文
                                      end else begin
                                         文
                                      endif

これで begin end に目を奪われにくくなるんで、ちょいバグだしにくくなったかな(って気がしてるだけかも)。

288 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 02:04:49 ]
>>286 で書き忘れたけど、式の中の「文」は、単文でも複文でもいいと思ってくれ。

289 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 10:31:39 ]
if 条件 then
begin
end
else if 条件 then
begin
end
else begin
end;

よくこういう議論を見かけるが、俺と同じやり方の奴って
見たこと無いんだよなー

290 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 10:32:54 ]
お前は俺か

291 名前:280 mailto:sage [2008/12/01(月) 11:43:21 ]
皆さんありがとうございます。
よくbegin...endの数が合わなくてエラー出てたもんで皆さんはどんな感じで書いているのか気になったんです。
教えていただいたものを色々試してみたいと思います。
とても参考になりました。どうもありがとうございました。

292 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 11:44:03 ]
それはお前の頭が悪いww

293 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 12:02:36 ]
でもさ、前々から思ってたんだけど、
ALT+[とかで対応する括弧は追えるのに
なんでbegin/endは追えないんだろ?

294 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 12:03:28 ]
>>287
くだらねぇ、気持ち悪いルール使ってんじゃねぇよ。基本はdelphiならVCL、JavaならJavaのクラスライブラリ
のソースに合わせろよ。おまえらなみたいな奴のソースは見苦しくてかなわんわ。



295 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 12:43:40 ]
こういうのが沸くからアンケートネタはWikiの投票pluginかなんかを使ってやってくれ



296 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 14:32:29 ]
以下のように記述するのが正式だというのを海外のサイトで読んだことがある。
if 条件 then

else
if 条件 then

else
文;

if 条件 then
begin

end
else
begin

end;

文が短い場合は
if 条件 then 文 else 文;
って書いちゃうけどね。

297 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 15:08:49 ]
書き方に正しいも糞もあるかよww

298 名前:ななしへたぐらま ◆XcB18Bks.Y mailto:sage [2008/12/01(月) 16:29:02 ]
>>286
QuickBASICやVisual Basicではまさにそんな感じの構文になっていて使いやすかったです。

>>293
C/C++の { } ほどの地獄ではないからかもしれません。


299 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 17:54:25 ]
>>286 のおいらだが、おいらが C++ 使いだったころ、次の#define プリプロセッサで >>286 の構文が
コンパイラー通るようにしていたんだ。

#define if     if(
#define then   ){
#define else   }else{
#define ef    }else if(
#define endif  }

てな感じだったけかな(?)。しばらくやってないんで忘れてしまったけどね。その他 for(;;) 構文なんかも
「 for 初期値 to 終了条件 step 増加式 do 文 endfor 」とか if と同じ要領でやっていた。
プログラムがスッキリしてたね。なんせ、おいら if や for の後の ( ) が大嫌いだったからね。
これいらないと思う。C言語作った男もおいらに負けず相当オタンコナスだね。
まあ、この構文(>>286)でソースコードを渡すと、相手はビックリしてたっけ。おいらもかなりバカだね。


300 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 19:05:19 ]
融通が利かない人はどんな職業でもいい発想ができない。


301 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 19:30:57 ]
case ofのかっこいい書き方を教えれ
どうもelseだけしっくりこなかったりする

302 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 19:43:44 ]
たしかにcase文はうざい

303 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 19:50:59 ]
case n of
    1:
        foo;
   
    2:
    begin
        bar;
    end;
   
    else
        baz;
end;

304 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 20:13:24 ]
case n of
1:
foo;

2:
begin
bar;
end;

else
baz;
end;

305 名前:Delフサギコ ◆A6VzDeLphI mailto:sage [2008/12/01(月) 21:52:39 ]
  ∧,,∧∩  おれ、こんなん。
 ミ,,゚Д゚彡
 ミ つ旦.ミ  
   if then
   begin
   end else
   if then
   begin
   end else
   begin
   end;

if が何個ならんでも、行頭を揃えたい気がするのです。
Caseはいつも悩む。
ifを、caseに変更したときに、begin...endをわざわざ
インデント変更したくないから
  case A of
  B:
  begin
  end;
  C:
  begin
  end;
  end; //case

かな。。行が増えすぎと、caseのendとbeginendが分けにくくていやなのだが。。



306 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:27:22 ]
おいらも case 文は苦手だったな。どうやってもキレイに書けない。しかし、だいたい次のようにやってた。(case の範囲を字下げではっきりさせたいんだな、おいら)

case A of
  B: 文  
  C: begin
      文;
      文
    end
  D,E: 文
  else 文
end

case 文を 「case A of :値: 文 :値: 文 end 」とビルトが設計すればよかったかもね、次のようにスッキリする。(「文」は単文でも複文でも可だよ)
case A of
  :B:  文
  :C: 文;
     文
  :D,E: 文
  else 文
end


307 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:34:44 ]
気持ち悪い

308 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:42:18 ]
caseの中はcaseより引っ込める
ラベルの中身も引っ込める、begin-endの中も引っ込める
ラベルの後ろにbeginを書くと、対応するendもおなじインデントに書きたい
横に伸び〜

309 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:43:14 ]
case〜endの間を字下げで解決。

310 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:44:53 ]
typeのクラス宣言内のprivateなprocedureとか、自動生成で変なインデントを付けられた日にはもうー

311 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:47:30 ]
record型のconstの配列の初期化の記述がめんどくさい
コンパイラサボりすぎ

312 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:51:10 ]
>>308
おいらもおんなじ気持ちだけど、これやるとインデント深くなるんだよなあ。
だからおいらはインデントをスペース3文字分にしてるんだが、それでも深くなる。
これがインデントがスペース8文字分で表示された日にゃー目がぶっ飛ぶ。


313 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 08:08:53 ]
え!Del党ってインデントはスペース2文字でしょ。


314 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 08:42:41 ]
オレは2文字だな。
if 〜 then begin
 文
end else if 〜 then begin
 文
end;

case i of
 1 : begin
    文
   end;
end;

315 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 08:51:14 ]
caseとelseとendをそろえてる。
caseに関しては自動インデントを使わずなるべく詰める様にしている。
17インチCRTからの流れで横も縦も圧縮する様な書き方になってしまった。
ifなんかでも改行してbeginの方が見やすいのに。



316 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 09:22:53 ]
>>305
ifが常に行頭だと、別のif分と区別がつきにくいから嫌だな

case分は無駄にインデントが増えるな

case hoge of
 A:
  begin
  end;
 B:
  begin
  end;
 else
end;

これでやると、else内だけインデントがずれるのがむかつく

317 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 09:23:34 ]
if分、じゃなくてif文だし、case分じゃなくてcase文
orz

318 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 11:01:35 ]
>>313-314
インデント2文字でやってみたことあるんだけど気に入らなかったんだな、おいら。
なぜかっていうと、(一番多用される)if文のときインデント2文字だと

i f a = b then begin
c:= 2;
........

のようになって、この例で説明すると変数 a と c の頭が揃わないので美しくない。それに
if の近くに変数 c がありすぎて if が窮屈に見える。これをインデント3文字にすると

i f a = b then begin
  c:= 2;
  ........

となって、こっちの方がスッキリして見えるんだな、おいらの目には。(if文重視なんで)
まあ、バカなおいらの好みだけどね。
そんで、クラス宣言の自動生成がインデント2文字固定なんで、苦労してる。

319 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 11:05:18 ]
秋田

320 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 11:07:07 ]
>>318 の最初の例が崩れてたから訂正するね。

if a = b then begin
 c:= 2;
 ........

(2ちゃんは左側の半角スペース取っちゃうんだよね.....。)

321 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 13:14:15 ]
インデントは2文字。
if文は>>305に同じ。
大規模なcase文などではソースを折りたためるようにREGIONを使う。
case hoge of
 A: {$REGION '説明'}
 begin
 end; {$ENDREGION}
 B: {$REGION '説明'}
 begin
 end; {$ENDREGION}
else
end;

322 名前:321 mailto:sage [2008/12/02(火) 13:19:47 ]
あ、if文は>>305とは微妙に違った。
if then
begin
end
else if then
begin
end
else
begin
end;

個人的には、else(else if) 〜endまでの処理を消したり、
begin〜endまでの複数行の文を単数行の文に書き換える際に自然だからこれで落ち着いた。

323 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 18:24:36 ]
どうせソースの書き方なんて十人十色なんだからいい加減飽きろよ

324 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 18:26:21 ]
新しい話題を提供しろよw

325 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 18:36:34 ]
>324
「CodeGear RAD Studio 2009 日本語版」販売開始だって



326 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:47:10 ]
delphiはなかなか良い言語だとは思うけど
C++ライクに記述できるような仕組みがあれば、いいなぁ。
あと、delphiにC++を埋め込めるようにできれば、なおよし。
begin〜endはうざい。
あと、function/procedureと区別する意味がわからん。
C++歴5年、delphi歴3ヶ月より。


327 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:52:56 ]
C++に、Pascalライクに記述できたらいいなあ。
なんて言われたら、ウザッとか思わない?

328 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:55:28 ]
DLLとかC++ Builderとか使えば出来るけどね

329 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:55:43 ]
>>327 そんな需要はないから。
delphiでC++ライクに使えれば、ポインタ使いまくれるし
C++脳の人間にとっては、とても楽。


330 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:56:14 ]
でもちょっと違うか

331 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:56:52 ]
>>329
それは工夫が足りないんじゃね?

332 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:59:10 ]
C++記述するときにはいつも
「もっとDelphiライクなら・・・」
って思っちゃう俺はアホなのかもしれん^^;

333 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:00:59 ]
じゃあおまいらどんな記述がいいのよ

334 名前:デフォルトの名無しさん [2008/12/02(火) 22:21:56 ]
教えてください。

既存のプロジェクトなのですが、DataModuleのSession,Aliasのアイコンが半透明に
なっています。
実行するとデータベースに接続するところで異常終了します。
つなげるべきデータベースはわかっているのですが、どのように設定したらよいので
しょうか。


335 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:28:21 ]
Pythonが綺麗って言われてるよね。

Delphiと似てるからすぐに使えるようになるよ。



336 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:28:27 ]
begin
end

{
}
ならDelphiが無敵

337 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:34:17 ]
if True then {
MessageBox(Handle, 'test', 'test', MB_OK);
};
こうですか分かりません><






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

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

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