住所録

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

住所録

#1

投稿記事 by Haru » 16年前

現在、VC++で住所録を作成中なのですが、
新規に登録名を追加する際に同じ名前の人のデータがあった場合
追加できない。と言うようにしたいのですが、
現在の方法では、同名のデータが発見できるところまでは出来るているのですが、
今のままだと、登録が2重になってしまったりなど、問題点が多く残っています。
また、初めてC++/CLI(で、良いのでしょうか?)で作成しているので
非常に見にくいソースだとは思いますが、ご容赦願います。

Haru

Re:住所録

#2

投稿記事 by Haru » 16年前

失礼しました。
追加ボタンの関数が、
button_Tuika_Click
同名を探す関数が、
SearchName
と、なっています。

Mist

Re:住所録

#3

投稿記事 by Mist » 16年前

SearchNameには戻り値があるのに使っていないのには何か理由があるんですか?

ザっとしか読めてないけど以下じゃダメなんでしょうか?
if (SearchName(this->fileName) == FALSE) {
  MessageBox::Show("既に登録済みです");
    return;
}

Mist

Re:住所録

#4

投稿記事 by Mist » 16年前

SearchNameの戻り値の条件がよくわからないですね。
SearchNameという関数名からすると、同名があればtrue、それ以外はfalseかと思ったけどそうじゃないみたいだし。
関数の仕様詳細コメントみたいなものは書かないのでしょうか?

Haru

Re:住所録

#5

投稿記事 by Haru » 16年前

>>SearchNameの戻り値の条件がよくわからないですね

はい。もともと本か何かで調べたものを、
少しだけ変えて更に使いまわしてたりしてるうちに私もよくわからなくなってしましました。

>>関数の仕様詳細コメントみたいなものは書かないのでしょうか?

なるほど・・・。そのようなコメントも書いたほうが良いですね。
これから、少しずつでも、身に付くように努力します!!

Mist

Re:住所録

#6

投稿記事 by Mist » 16年前

SearchNameを見直して同名があるときはtrue、それ以外はfalseを返すように作り変えてみてはいかがでしょうか。

私がコーディングする時は関数の最初に以下のようなコメント付けて、ソース読まなくても関数の処理内容が大まかにわかるようにしています。
//**********************************************************************************************************************
//
//  FunctionName    : (関数名)
//  Abstract        : (関数の処理内容)
//  Inputs          : (入力引数)
//  Outputs         : (出力引数)
//  Return          : (戻り値)
//  Notes           : (留意事項)
//
//**********************************************************************************************************************
//
//  Procedure(関数の処理内容詳細)
//      ..1  
//      ..2  
//      ..3  
//      ..4  
//
//**********************************************************************************************************************

Mist

Re:住所録

#7

投稿記事 by Mist » 16年前

熟練プログラマーに昇格したヽ(*゜▽゜)ノ バンザーイ♪

Haru

Re:住所録

#8

投稿記事 by Haru » 16年前

>>SearchNameを見直して同名があるときはtrue、
>>それ以外はfalseを返すように作り変えてみてはいかがでしょうか。

はい!!まず、それが近道ですね!!

>>私がコーディングする時は関数の最初に以下のようなコメント付けて、ソース読まなくても関数の処理内容が>>大まかにわかるようにしています。

参考になりますね・・・。
これなら確かにわかりやすそうですね!

>>熟練プログラマーに昇格したヽ(*゜▽゜)ノ バンザーイ♪

おめでとうございます!!
私はこんなレベルで上級者の称号が付いてしまっているので、
ハンドルの変更をしようか、考えていたのですが。。。
面倒なんでやめました!
名前を全て大文字にする程度なら混乱もしないし良いかなぁ。。。

#恐らく、今日から連休明けまで来れないので解決にします!!

Haru

Re:住所録

#9

投稿記事 by Haru » 16年前

>>#恐らく、今日から連休明けまで来れないので解決にします!!

完全に解決しました!!
ありがとうございました!!
Mistさんに指摘していただいた部分と、
this->report->Clear();
この1行を消すことでほぼ、完成しました!!

閉鎖

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