C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ファイルを開いたボタン


(過去ログ 4 を表示中)

[トピック内 16 記事 (1 - 16 表示)]  << 0 >>

■4085 / inTopicNo.1)  ファイルを開いたボタン
  
□投稿者/ 萌衣 二等兵(9回)-(2006/05/31(Wed) 13:24:14)

分類:[C#] 


分類:[C#] 

今、新規ボタン・追加ボタンの2つのボタンからダイアログボックスを
開いて複数のファイルを選択して、リストボックスにファイル名と行数を
表示するというモノを作っています。

今、考えてるのは、条件分岐で
新規ボタンが押されて開いたダイアログボックスならこの処理…
追加ボタンが押されて開いたダイアログボックスならこの処理…
という具合にすることを考えているのですが…
この考え方は正解でしょうか?

もし正解であれば、押されたボタンが何かを調べるのに
適切なクラス(?)が何かを教えていただけませんでしょうか…


0
引用返信 編集キー/
■4087 / inTopicNo.2)  Re[1]: ファイルを開いたボタン
□投稿者/ 名無しぃシャープ 准尉(106回)-(2006/05/31(Wed) 13:38:10)

分類:[C#] 

No4085に返信(萌衣さんの記事)
> 今、考えてるのは、条件分岐で
> 新規ボタンが押されて開いたダイアログボックスならこの処理…
> 追加ボタンが押されて開いたダイアログボックスならこの処理…
> という具合にすることを考えているのですが…
> この考え方は正解でしょうか?

半分の正解だと思う。

> もし正解であれば、押されたボタンが何かを調べるのに
> 適切なクラス(?)が何かを教えていただけませんでしょうか…

調べる必要はなく、開く側は知っているんだから開く側が、「このボタンを押したんだよ」と渡すのがデファクタスタンダードだと思う。

引数で渡すのがもっともわかりやすい。頑張れ!

0
引用返信 編集キー/
■4093 / inTopicNo.3)  Re[2]: ファイルを開いたボタン
□投稿者/ 萌衣 二等兵(11回)-(2006/05/31(Wed) 15:33:44)

分類:[C#] 

> 調べる必要はなく、開く側は知っているんだから開く側が、「このボタンを押したんだよ」と渡すのがデファクタスタンダードだと思う。
>
> 引数で渡すのがもっともわかりやすい。

  なさけない話ですが、引数というものを まだいまいち理解しきれて
  いません…。変数に入る値の事という解釈で大丈夫でしょうか?
  (自信ありませんが……)

0
引用返信 編集キー/
■4095 / inTopicNo.4)  Re[3]: ファイルを開いたボタン
□投稿者/ 名無しぃシャープ 准尉(107回)-(2006/05/31(Wed) 16:07:37)

分類:[C#] 

No4093に返信(萌衣さんの記事)
> なさけない話ですが、引数というものを まだいまいち理解しきれて
> いません…。変数に入る値の事という解釈で大丈夫でしょうか?
> (自信ありませんが……)

たとえば、呼び出したいフォームにこんなメソッドを用意してみ?

public void MyShowDialog(int 何で開いたか) {
     :
    (略)
     :
  this.ShowDialog();
}

この時、「何で開いたか」って名前の変数が引数だよん。
この例ではint型になてるけど、本来なら列挙型とか使うべきだと思う。

0
引用返信 編集キー/
■4096 / inTopicNo.5)  Re[4]: ファイルを開いたボタン
□投稿者/ 萌衣 二等兵(12回)-(2006/05/31(Wed) 16:21:04)

分類:[C#] 

> public void MyShowDialog(int 何で開いたか) {
>      :
>     (略)
>      :
>   this.ShowDialog();
> }
   この(略)には、その「何で開いたか」の時の処理を記述するんですか?
   …ということは、(if文)は使用しないのしょうか?(だから半分正解?)

0
引用返信 編集キー/
■4097 / inTopicNo.6)  Re[5]: ファイルを開いたボタン
□投稿者/ 名無しぃシャープ 准尉(108回)-(2006/05/31(Wed) 16:27:18)

分類:[C#] 

No4096に返信(萌衣さんの記事)
> この(略)には、その「何で開いたか」の時の処理を記述するんですか?
> …ということは、(if文)は使用しないのしょうか?(だから半分正解?)

このサンプルは、あなたが引数のイメージをつかめないから書いたものですよー。
略の部分が主題じゃないのよね。。。

聞く前にやってみてほしかったので、

> > たとえば、呼び出したいフォームにこんなメソッドを用意してみ?

って書いたんだけど、試してみた?
この時間差じゃ、やってないように思えちゃうんだけど。
やってみてわからなかったら、もっと違う質問がくると思ったのよね。

0
引用返信 編集キー/
■4098 / inTopicNo.7)  Re[6]: ファイルを開いたボタン
□投稿者/ 萌衣 二等兵(13回)-(2006/05/31(Wed) 16:31:08)

分類:[C#] 

あ…ごめんなさい
てっきり 今やってるものにって意味だと思っちゃいました><


まずやってみます。

0
引用返信 編集キー/
■4100 / inTopicNo.8)  Re[7]: ファイルを開いたボタン
□投稿者/ 萌衣 二等兵(14回)-(2006/05/31(Wed) 17:33:20)

分類:[C#] 

何度もすいません…

なかなかうまく出来ません…
動作はするのですが、No4095のコードの動作がどれかが分からない状態です><
なので何度も4095のレスを読み返して見てて、
あと少しで引数がどのようなものなのかが理解できそうな気がしてます…

今日は、もう会社から出てしまうので
C#もいじれなくなってしまいますが、明日またチャレンジします><

また質問すると思いますが 宜しくお願いします。

0
引用返信 編集キー/
■4105 / inTopicNo.9)  Re[8]: ファイルを開いたボタン
□投稿者/ Jitta 曹長(80回)-(2006/05/31(Wed) 22:24:44)

分類:[C#] 

 新規ボタンも追加ボタンも、「選択されたファイルの名前と、行数を取得して、リスト ビューに追加する」という処理は同じなわけですから、その処理は共通化できますよね。

 で、何が違うかというと、
* その処理をする前に、新規ボタンならリストをクリアする、
* 追加ボタンなら何もしない、
というところなわけです。

 だとすると、
新規ボタンと追加ボタンで、別々のイベント ハンドラを使用するなら、判定の必要なし。
同じイベント ハンドラを使用するなら、sender で判断する。

0
引用返信 編集キー/
■4110 / inTopicNo.10)  Re[9]: ファイルを開いたボタン
□投稿者/ 萌衣 二等兵(15回)-(2006/06/01(Thu) 10:00:40)

分類:[C#] 

jittaさん ありがとうございます。



第一段階は完成しました^^

新規ボタンを押した時にリストボックスを一度空にして
新しく選択したファイル名と行数だけ出せましたw

新規ボタンのイベントのところに以下を記述するとこで完成しましたw
↓↓
listBox1.Items.Clear();
openFileDialog1.ShowDialog();

次は[追加ボタン]です。

あと少しがんばります^^

0
引用返信 編集キー/
■4111 / inTopicNo.11)  Re[10]: ファイルを開いたボタン
□投稿者/ 萌衣 二等兵(16回)-(2006/06/01(Thu) 10:28:20)

分類:[C#] 

ダイアログボックスで[開く]ボタンが押された時の処理の記述が
今 以下のとおりになっています。

string name = openFileDialog1.FileName;
string line = "";
int count = 0;
int total = 0;

foreach(string fileName in openFileDialog1.FileNames)
{
  FileInfo inf = new FileInfo(fileName);
  string names = inf.Name;

  using(StreamReader sr = new StreamReader                          (fileName,System.Text.Encoding.Default))
  {
while((line = sr.ReadLine()) != null)
{
       count++;
       total++;
}
listBox1.Items.Add(names.PadRight(25) + "(" + count + "行)");
count = 0;
lblTotal.Text = total.ToString();

でも、これだと、リストボックスにはファイルが追加されるのですが
行数合計の表示は、あとから追加したファイルの行数合計だけになってしまって
先に表示されていたファイルの行数合計がなくなってしまいます…
記述の場所を変えたり いろいろやってみたのですが
なぜ そうなってしまうのかが分かりません。
ヒントをください;;

0
引用返信 編集キー/
■4112 / inTopicNo.12)  Re[11]: ファイルを開いたボタン
□投稿者/ 中博俊 神(484回)-(2006/06/01(Thu) 10:29:28)
中博俊 さんの Web サイト

分類:[C#] 

たぶん勉強中だと思うのですが、勉強に使っているテキストにはどう書いてありますか?

0
引用返信 編集キー/
■4114 / inTopicNo.13)  Re[11]: ファイルを開いたボタン
□投稿者/ 萌衣 二等兵(17回)-(2006/06/01(Thu) 10:40:25)

分類:[C#] 

はい、今 勉強中です。
今はテキストではなく 会社の先輩から言われたモノを作っていて
サイトで調べたり、ヘルプで調べたり、前に勉強していた本に書いて
ありそうなものは本を見たりしてやってます。
今、行数を数えるループの前に変数totalが「0」になっているのが
原因かと思って以下のようにしてみたのですが、エラーが出てしまいました。

int total = 0;
    ↓↓
int total = int.Parse(lblTotal.Text);

0
引用返信 編集キー/
■4116 / inTopicNo.14)  Re[12]: ファイルを開いたボタン
□投稿者/ 中博俊 神(487回)-(2006/06/01(Thu) 10:43:53)
中博俊 さんの Web サイト

分類:[C#] 

きついこと言うけど・・・

とりあえず試行錯誤しているのはわかりますが、あまりにも基礎がない状況ではネット上では教えられません。
そこはあなたの上司がやる仕事です。

とりあえず基本的な本を1冊読破しましょう。

座学は大事ですよ。



0
引用返信 編集キー/
■4117 / inTopicNo.15)  Re[13]: ファイルを開いたボタン
□投稿者/ 萌衣 二等兵(18回)-(2006/06/01(Thu) 10:47:34)

分類:[C#] 

No4116に返信(中博俊さんの記事)
>あまりにも基礎がない状況ではネット上では教えられません。

そのとおりだと思います…。
もう少し自分で調べてがんばってみます^^;

0
引用返信 編集キー/
■4118 / inTopicNo.16)  Re[14]: ファイルを開いたボタン
□投稿者/ 萌衣 二等兵(19回)-(2006/06/01(Thu) 11:48:07)

分類:[C#] 

完成しました^^;

int total = 0;
この宣言を

int total;
と、openFileDialogのクラスの外で宣言をしたら
出来ました^^

そして、先に完成していた新規ボタンのクラスに

total = 0;
を宣言する事で、新規・追加 どちらのボタンも正常に動作させられました。

いろいろと教えてくださった皆さん ありがとうございました^^

今から、もっと基礎の勉強をもう一度することにします!!

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -