G3506_And_note_変数名の一括置換

2025128

22:24

G3506_andoroid_and_note_variable_name_change

 

概要

 

 

作業の前にプロジェクトフォルダをバックアップします

 

 

 

 

 

 

 

 

 

 

クリーン、配置を実行し、動作に問題がないか確認します

 

ここで1-2日運用して問題がない事を確認しました

 

過去のプロジェクトからアイコンの調査

 

 

このフォルダは変更されていません

 

 

このフォルダは、1か所改編されています

 

 

 

 

これでは効果はありません

 

 

このフォルダは2個改編されています

 

 

 

ここも効果はありませんでした

 

 

このフォルダは、改編がありません

 

 

このフォルダは、3か所改編されています

 

 

 

最後のこの作業で、アイコンが表示されました

 

 

とりあえず表示されたので、これ以上時間をかけません

 

 

 

本日、間違って重複登録してしまいました

 

 

削除とか抹消する機能を作ります

 

 

 

 

 

 

 

get_file_path()の改良

 

 

 

 

3か所利用があるので、パラメータを修正します

 

 

3行すべて、このように修正します

 

 

ここまでで、クリーン、配置を実行し、問題がないか確認します

 

 

コマンドの共通処理を追加します

 

 

case "削除":

case "抹消":

case "消去":

// どの文言でも同じ結果が得られます

Command_name_set("削除");

Edt_tbl[0].Text = Voice_cst = "";

 

voice_call();   // 音声変換呼び出し

break;

 

実行/保存ボタンの処理を関数に分離します

 

 

 

// 実行保存ボタン処理

private void exe_save_but()

{

 

string tmp_cst = "";

 

switch (Command_name)

{

case "音声変換":

//  エディットボックスの取得

edit_txt_sav();

break;

case "除外ワード":

fil_add_exclu_key(Edt_tbl[0].Text);

 

// 除外ワードテキストファイルをテーブルに読み込みします

Exclu_key_cnt = com_txt_tbl_red(Exclu_key_fil_path, 0, Exclu_key_tbl);

break;

 

case "コマンド":

tmp_cst = Command_name_sarch(Edt_tbl[0].Text);

if (tmp_cst != "") Command_name_set(tmp_cst);

else Command_name_set("----- 未登録です -----");

break;

 

case "削除":

case "抹消":

case "消去":

// どの文言でも同じ結果が得られます

delete_lin(Edt_tbl[0].Text);

break;

 

}

Edt_tbl[0].Text = "";

 

 

}

 

削除関数の作成

 

 

delete_lint("9")

 

 

 

// 指示された行の削除

private void delete_lin(string prm_delete_cst)

{

string fil_path;

string fil_path_cpy;

string txt_buf = "";

int lin_no = 0;

int delete_lin_no = 0;

string delete_lin_cst;

 

// 削除行文字列から、数値を抽出する "9" -> 9

delete_lin_cst = Regex.Replace(prm_delete_cst, @"[^0-9]", "");

delete_lin_no = int.Parse(delete_lin_cst);

 

if (delete_lin_no == 0) return;

 

 

Sys_cal_get();      //  システム日付取得

fil_path = Get_fil_path(Sys_yy_all, Sys_mm, Sys_dd, "");

fil_path_cpy = Get_fil_path(Sys_yy_all, Sys_mm, Sys_dd, "_cpy");

 

// 前回の残骸があれば削除する

if (File.Exists(fil_path_cpy) == true) File.Delete(fil_path_cpy);

while (File.Exists(fil_path_cpy) == true) { }

 

 

System.Text.Encoding.GetEncoding("utf-8");

StreamReader red = new StreamReader(fil_path); // 読み込みOPEN

 

System.Text.Encoding.GetEncoding("utf-8");

StreamWriter writer = new StreamWriter(fil_path_cpy, true);        // 書き込みOPEN

 

while (red.EndOfStream == false)

{

txt_buf = red.ReadLine();

if (txt_buf == null) continue;

 

++lin_no;

if (lin_no == delete_lin_no) continue;  // 削除行一致

writer.WriteLine(txt_buf);

}

 

red.Close();        // 読み込みクローズ

writer.Close(); // 書き込みクローズ

 

// 原本削除

if (File.Exists(fil_path) == true) File.Delete(fil_path);

while (File.Exists(fil_path) == true) { }

 

// 転写から原本へコピー

File.Copy(fil_path_cpy, fil_path);

 

// 今回の複写ファイルを削除する

if (File.Exists(fil_path_cpy) == true) File.Delete(fil_path_cpy);

while (File.Exists(fil_path_cpy) == true) { }

 

}

 

ここまでを、クリーン、配置で確認します

 

 

 

 

 

 

 

 

このように4行「削除 業に」が削除されました

 

 

例えば3行は音声入力できません

 

 

 

 

 

 

このように削除できました

 

 

テストの為に準備した行は、すべて削除できました