{---プログラム掲示板投稿フォーム--- 【ソフト名】電話番号簿 【作 成 者】コスモス(konba2@excite.co.jp) 【種 別】フリーソフトウェア 【ひまわりのバージョン】ver.1.45 【転 載】可(一言あればうれしいです) 【改変運用】可(好きに改造して遊んでください) 【ひまわり本体への梱包】可 【実行時に利用作成するファイル】 デフォルファイル名は「電話番号簿.csv」です。 電話番号簿.csvのフォーマットは
「氏 名,よみがな,住所,電話番号,携帯電話番号,備考 コスモス,こすもす,東京都のどこかかもしれない,03-0000-5555,090110110」
最後の電話番号と携帯番号は、半角にしてください。 エクセルでデータを作成して保存する場合は、電話番号と携帯電話番号 の列は文字列に設定しないと頭の「0」が無くなります。 csv形式については、マニュアルに詳しく乗っています。 【コメント】 友人から頼まれて作ったソフトを、掲示板に書き込めるように改造した ものです。 住所も書き込めるようにしてあるので簡単な住所録としても使えます。 ディスプレイは1024×768ピクセルを想定して作ってます。 インデントしてませんので、多少見にくいかもしれません。 なお、項目が全て空白の場合の行削除処理をしていません。 元のソースでは、保存処理する時に全て空白の場合にその行を行削除す るようにしてたのですが、作り替えているうちに変な動作をするように なったので、思い切って削りました。はっきり言って手抜きです(笑) 削除するときは、メモ帳とかエクセルとかでやってください。
旧バージョンと新バージョンの表記法をごちゃまぜで使ってるような気 がします。まだ新しいバージョンに慣れていないということで勘弁して ください。
近々関数を多用したサンプルを作ってみたいと思ってます。(今の仕事 が一段落して手が空いてからですけど・・・デスクの上はまだまだ仕事 の山( -。-) =3) ---投稿フォームここまで---} 最終チェックに 終了処理設定。
母艦最大化。 文字サイズは 14。 母艦の 背景色は 黄色。 母艦の タイトルは 「電話番号一覧」。
*変数等の定義 //配列を300も確保する必要があるか? //動的に確保する方がスマートでは? 電話番号配列最大=300。 電話番号配列#0=「」。 iを 1から 電話番号配列最大まで 繰り返す( 電話番号配列の i行目へ 0を 行挿入する。)。
*氏名入力欄 氏名入力ラベルを、ラベルとして、作成。 その、サイズは、(10,10,160,30)。 その テキストは 「氏名」。 氏名エディタを、エディタとして、作成。 その、サイズは、(10,40,160,70)
*よみがな入力欄 よみがな入力ラベルを、ラベルとして、作成。 その、サイズは、(180,10,330,30)。 その テキストは 「よみがな」。 よみがなエディタを、エディタとして、作成。 その、サイズは、(180,40,330,70)
*住所入力欄 住所入力ラベルを、ラベルとして、作成。 その、サイズは、(350,10,500,30)。 その テキストは 「住所」。 住所エディタを、エディタとして、作成。 その、サイズは、(350,40,500,70)
*電話番号入力欄 電話番号入力ラベルを、ラベルとして、作成。 その、サイズは、(520,10,670,30)。 その テキストは 「電話番号」。 電話番号エディタを、エディタとして、作成。 その、サイズは、(520,40,670,70)
*携帯番号入力欄 携帯番号入力ラベルを ラベルとして 作成。 その サイズは (690,10,840,30) その テキストは 「携帯電話番号」。 携帯番号エディタを エディタとして 作成。 その サイズは (690,40,840,70)
*検索ボタン 検索開始ボタンを、ボタンとして、作成。 その、サイズは、(860,40,1010,70)。 その テキストは 「検索開始」 その イベントは データ検索。
*全部表示ボタンの作成 全部表示ボタンを ボタンとして 作成。 その サイズは (860,80,1010,120)。 その テキストは 「全部表示」。 その イベントは データ全部表示。
*表示領域 表示領域ラベルを、ラベルとして、作成。 その、サイズは、(10,100,160,130) その テキストは 「電話番号一覧」。 電話番号一覧を、グリッドとして、作成。 その 編集は オン。 表フィールド名=オン。 その、サイズは、(10,140,1010,650)。 その 背景色は 水色。 『電話番号簿.csv』が 存在するか。 もし それが はいならば( 「電話番号簿.csv」を 読む。 電話番号配列は それ。 名前でソートを 呼ぶ。) 違えば 電話番号配列#0=「氏 名,よみがな,住 所,電話番号,携帯電話番号,備 考」。 その アイテムは 電話番号配列。
*読み込みボタンの作成 読み込みボタンを、ボタンとして、作成。 その、サイズは、(10,660,160,710)。 その テキストは 「データ読込」。 その イベントは 読み込み処理。
*保存ボタンの作成 保存ボタンを、ボタンとして、作成。 その、サイズは、(170,660,320,710)。 その テキストは 「データ保存」。 その イベントは 保存処理。
*編集ボタンの作成 編集ボタンを ボタンとして 作成。 その サイズは (330,660,480,710)。 その テキストは 「EXCELで編集」。 その イベントは データ編集。
*終了ボタンの作成 終了ボタンを、ボタンとして、作成。 その、サイズは、(860,660,1010,710)。 その テキストは 「終 了」。 その イベントは 終了処理。
氏名エディタに 注目。 待機。
*データ検索 電話番号一覧表の 表列数 氏名エディタの テキストを 検索氏名に 得る。 もし 検索氏名<>「」 ならば 検索条件=1。 よみがなエディタの テキストを 検索よみがなに 得る。 もし 検索よみがな<>「」 ならば 検索条件=2。 住所エディタの テキストを 検索ショップ名に 得る。 もし 検索ショップ名<>「」 ならば 検索条件=3。 電話番号エディタの テキストを 検索電話番号に 得る。 もし 検索電話番号<>「」 ならば 検索条件=4。 携帯番号エディタの テキストを 検索携帯番号に 得る。 もし 検索携帯番号<>「」 ならば 検索条件=5。
検索条件で 条件分岐 1の時 名前で検索。 2の時 よみがなで検索 3の時 住所で検索。 4の時 電話番号で検索。 5の時 携帯番号で検索。 その他の時 注意。 検索データクリアを 呼ぶ。 戻る。
*注意 「検索データを入力してください。」と 言う。 戻る。 *名前で検索 表フィールド名=オン。 電話番号配列の 0列目から 検索氏名を 表ピックアップ。 電話番号一覧の アイテムは それ。 戻る。
*よみがなで検索 表フィールド名=オン。 電話番号配列の 1列目から 検索よみがなを 表ピックアップ。 電話番号一覧の アイテムは それ。 戻る。
*住所で検索 表フィールド名=オン。 電話番号配列の 2列目から 検索ショップ名を 表ピックアップ。 電話番号一覧の アイテムは それ。 戻る。
*電話番号で検索 表フィールド名=オン。 検索電話番号を 半角変換。 検索電話番号は それ。 電話番号配列の 3列目から 検索電話番号を 表ピックアップ。 電話番号一覧の アイテムは それ。 戻る。
*携帯番号で検索 表フィールド名=オン。 電話番号配列の 4列目から 検索携帯番号を 表ピックアップ。 電話番号一覧の アイテムは それ。
*検索データクリア 氏名エディタの テキストは 「」。 よみがなエディタの テキストは 「」。 住所エディタの テキストは 「」。 電話番号エディタの テキストは 「」。 携帯番号エディタの テキストは 「」。 戻る。
*読み込み処理 ダイアログ初期値=「電話番号簿.csv」。 『csv』の 読込ファイル選択。 もし それが 「」ならば 待機。 ファイル名は それ。 ファイル名を 開く。 電話番号配列は それ。 名前でソートを 呼ぶ。 電話番号一覧の アイテムは 電話番号配列。 戻る。
*保存処理 ダイアログ初期値=「電話番号簿.csv」。 『csv』の 書込みファイル選択。 もし それが 「」ならば 待機。 ファイル名は それ。 それは 電話番号一覧の アイテム。 ファイル名へ 保存。 ファイル名を 開く。 電話番号配列は それ。 名前でソートを 呼ぶ。 電話番号一覧の アイテムは 電話番号配列。 戻る。
*データ編集 『csv』の 読込ファイル選択。 もし それが 「」ならば 待機。 ファイル名=それ。 エクセル起動。 ファイル名を エクセル開く。 戻る。
*データ全部表示 電話番号一覧の アイテムは 電話番号配列。 戻る。
*名前でソート //私の好みで1列目でソートしてます。 //ラベル名どおり名前でソートしたければ、「0列目を」にしてください。 電話番号配列の 1列目を 表ソート。 電話番号配列は それ。
戻る。
*終了処理 終わる。
*最終チェック 「もうお帰りですか?」と 二択。 もし それが いいえ ならば( 最終チェックに 終了処理設定)。 |