コモンダイアログ2

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ざこ

コモンダイアログ2

#1

投稿記事 by ざこ » 16年前

昨日ご質問させていただきましたが長くなってしまったので新しくスレをたてさせていただきます。
VOID CDialog1::OnButtonAdd() 
{
CDialog2  dlg;
	CString str_ed1;
	CString str_ed2;
	int chk;
         CString str_index//追加
     
         
	
	dlg.m_pstr=&str_ed1;
	dlg.m_qstr=&str_ed2;
	dlg.m_chkBOX=chk;
	i=m_list.GetItemCount();

	
	dlg.DoModal();
	if(chk==0){
		m_list.InsertItem(i,(LPCTSTR)str_ed1);
		m_list.SetItemText(i,1,(LPCTSTR)str_ed2);
	}

	else if(chk==1){
          for(int j=0;j<i;j++){//追加
                      while((index=m_list.GetNextItem(index,LVNI_ALL))!=-1){
                         str_index=m_list.GetItemText(index,0)
                         if(str_ed1==str_index){n=j;}  //EDIT1の内容が一致したらnにその行数を格納
                      }
                      m_list.InsertItem(j,(LPCTSTR)str_ed1);
                      m_list.SetItemText(j,,1(LPCTSTR)str_ed2);
                  }
                  MessageBox("上書きしました");//ここまで
        }
}
としましたが更新になりません。。 おかしい箇所をご指摘ください。デバッグではjの中身がおかしかったとおもいます。後jの中身が正しくてもなぜか更新されなかったです。


         

バグ

Re:コモンダイアログ2

#2

投稿記事 by バグ » 16年前

jの中身がどうおかしかったのでしょうか?
ざっと見た感じですが、jに関してはおかしく無さそうですよ?

もう一度流れを確認します。

1:ダイアログ1には、パスと拡張子を表示する為のリストビューと追加用のボタンがある

2:ダイアログ2には、パスを入力する為のエディットボックスと、更新するか否かを選択する為のチェックボックスがある

3:ダイアログ1の追加ボタンを押すと、ダイアログ2が表示される

4:チェックボックスにチェックが入っていた場合は、エディットボックスに入力された内容をダイアログ1へ渡し、データを更新する

5:リストビューに既に表示されている内容と、新たに追加された内容を比較し、同一の物があった場合は何もしない

6:5で同一の物が見つからなかった場合はリストビューへ追加する

これで間違いないでしょうか?

ざこ

Re:コモンダイアログ2

#3

投稿記事 by ざこ » 16年前

あってると思います。外観に関しては前スレに画像はってあります

あ・・先頭は-1にしたので合ってるんですね。

バグ

Re:コモンダイアログ2

#4

投稿記事 by バグ » 16年前

外観に関しては分かっています。
ただ、上書きの部分の考え方がよく理解できないんですよ。
上書きにチェックが入ってなくて、同じ内容のデータが見つかった場合はどうするんですか?
全く同じ内容のデータが追加される訳ですが、それは許すという事なんですよね?

ざこ

Re:コモンダイアログ2

#5

投稿記事 by ざこ » 16年前

あーなるほど、確かに疑問をもたれるのはわかります。そういう問題点は後々修正していきますが、今回は
許すということでいきます。

バグ

Re:コモンダイアログ2

#6

投稿記事 by バグ » 16年前

サンプルです。
一応、条件は満たしている…はず(^_^;)
また、分からない事があったら、書き込みしてください。

ざこ

Re:コモンダイアログ2

#7

投稿記事 by ざこ » 16年前

じっくりみてみます。ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る