喫茶XRAYトップページ

[スレッド全体
]

[4358] Re5:コーディングスタイル返信 削除
2011/3/2 (水) 08:21:26 Mr.XRAY
> などと、きっぱり頭がそろっていないと、読み間違えてしまいます。

これ,ありますね.
else 文で,else begin とbeginが付いていない文の時,判読に
苦労することがあります.特に,これがネストしていると更に.

> もしかしてこんな書き方するのは自分だけかと思っていたので(笑)

私の書き方は特殊な方でしょう.
ネット上でもあまり見かけませんが,ある英文のサイトで見て,
「あっ,同じだ」と,嬉しくなったことがあります.


[4360] Re6:コーディングスタイル返信 削除
2011/3/2 (水) 13:43:18 sato
▼ マスター、皆さん
目覚ましは日曜日にセットしたのですが、
チョット困ったことがおきたので起きてきました。
よろしくお願いします。
Formに
Combobox1,SpeedButton1,SpeedButton2 をおきます。
SpeedButton1Clickで
  ComboBox1.Items.Clear;
  for i:=1 to 10 do
    ComboBox1.Items.Insert(0,IntToStr(i));

SpeedButton2Clickで
  for i:=1 to 5 do
    ComboBox1.Items.Delete(0);

としておきます。
SpeedButton1を押下したあと、ComboBox1.Itemsは
上から、10,9,8,7,6,5,4,3,2,1 となっています。
ComboBox1のクリックで10,9,8,7,6を選んだ場合
(ComboBox1.Itemindexが0-4の場合)SpeedButton2を押下すると
ComboBox1のTextがクリアーされてしまいます。
5,4,3,2,1を選んだ場合は、変化なしです。
これは、ComboBox1がクリックされたときのItemindexを
覚えていて、ComboBox1.Items.DeleteでそのItemindexに相当するItemが
なくなったので、親切にTextも消してくれるのでしょうか。
Edit部分は編集可能なはずなので、そっとしておいて欲しいのですが。

追伸
私は、
 begin
   begin
 
   end;
 end;
の方に一票です。
他の場所から、begin〜endを持ってきて
さしかえたり、間に入れたり、コメントにするときに
ブロックとして分かりやすいためです(初心者好み)。
そのため、あとで整形するのに矩形選択でスペースの追加、
削除もよく使います。

[4361] Re7:コーディングスタイル返信 削除
2011/3/2 (水) 15:37:37 Mr.XRAY
▼ satoさん

> 覚えていて、ComboBox1.Items.DeleteでそのItemindexに相当するItemが
> なくなったので、親切にTextも消してくれるのでしょうか。


でしょうね.親切か,余計なお世話は分かりませんが.

> Edit部分は編集可能なはずなので、そっとしておいて欲しいのですが。

Edit部分のTextの値を退避しておいて,セットし直すとか...
他にも方法があるのかな?

> そのため、あとで整形するのに矩形選択でスペースの追加、
> 削除もよく使います。


これもよく使いますね.


[4362] Re7:コーディングスタイル返信 削除
2011/3/2 (水) 16:10:19 白猫
▼ satoさん

趣旨がよくわからないのですが
こんな形?

procedure TForm6.SpeedButton2Click(Sender: TObject);
var counts,i:integer;
begin
 //現在の位置を取得する
 counts:=ComboBox1.Items.IndexOf(ComboBox1.Text);
 //何らかの理由で位置が取得できなければ、中止
 if counts>-1 then begin
  //現在位置から五個削除する
  for I := counts to counts+4 do
   ComboBox1.Items.Delete(counts);

 end;  // if i>-1 then begin

end;


> ▼ マスター、皆さん
> 目覚ましは日曜日にセットしたのですが、
> チョット困ったことがおきたので起きてきました。
> よろしくお願いします。
> Formに
> Combobox1,SpeedButton1,SpeedButton2 をおきます。
> SpeedButton1Clickで
>   ComboBox1.Items.Clear;
>   for i:=1 to 10 do
>     ComboBox1.Items.Insert(0,IntToStr(i));
>
> SpeedButton2Clickで
>   for i:=1 to 5 do
>     ComboBox1.Items.Delete(0);
>
> としておきます。
> SpeedButton1を押下したあと、ComboBox1.Itemsは
> 上から、10,9,8,7,6,5,4,3,2,1 となっています。
> ComboBox1のクリックで10,9,8,7,6を選んだ場合
> (ComboBox1.Itemindexが0-4の場合)SpeedButton2を押下すると
> ComboBox1のTextがクリアーされてしまいます。
> 5,4,3,2,1を選んだ場合は、変化なしです。
> これは、ComboBox1がクリックされたときのItemindexを
> 覚えていて、ComboBox1.Items.DeleteでそのItemindexに相当するItemが
> なくなったので、親切にTextも消してくれるのでしょうか。
> Edit部分は編集可能なはずなので、そっとしておいて欲しいのですが。
>
> 追伸
> 私は、
>  begin
>    begin
>
>    end;
>  end;
> の方に一票です。
> 他の場所から、begin〜endを持ってきて
> さしかえたり、間に入れたり、コメントにするときに
> ブロックとして分かりやすいためです(初心者好み)。
> そのため、あとで整形するのに矩形選択でスペースの追加、
> 削除もよく使います。


[4363] Re8:コーディングスタイル返信 削除
2011/3/2 (水) 16:54:07 sato
▼ マスター、白猫さん
ありがとうございます。
今まではあまりこのような使い方(ComboBox1.Itemsの一部削除)
をしなかったので、初めて気がついたので、「投稿」しました。
ComboBoxのItemsの選択の前に入力された内容@によって、
ComboBoxの下の方には、たまに選択される可能性のある候補Aをセットし、
上5つにはかなり選択される可能性の高い候補Bをセットするというイメージです。
@によってAは変わらないので、Bの部分だけを削除して毎回セットし直す
と言う感じです。
ただ、ComboBox1のTextに表示されている値がBを削除したときに、その中に
含まれている場合だけ、消えたので不思議に思ったしだいです。
仕様なら、
>Edit部分のTextの値を退避しておいて,セットし直すとか...
しかないですよね。ありがとうございました。

今年もよろしくお願いします。
現役引退宣言?の「?」に安心しています。
山の写真も楽しみにしています。源流の水で淹れたコーヒーとともに。
やっと、這い出してきたsatoでした。



[▼次のスレッド]
INCM/CMT
Cyclamen v3.82