private void Form1_Shown(object sender, EventArgs e) { while (true) // JOB登録のキーマクロの処理 { TSXBIN_SYM.IntStringKeys_pair tmp_int_string_keys_pair = Cfun.JOB登録_get_nextキーマクロ(); if (tmp_int_string_keys_pair.int_val == -1) // キーマクロの残りが { break; } if (tmp_int_string_keys_pair.int_val == 1) // 文字はファイル名欄へ { continue; } if (tmp_int_string_keys_pair.int_val == 2) { keyData_proc(tmp_int_string_keys_pair.keys); goto NEXT; } NEXT: if (is_closing) { break; // 他のマクロは残したまま、終了する。 } } }
int get_filePosNo_atDir(string in_filepath) { for (int i = 0; i < filePath_atDIR_list.Count; i++) { if (Cfun.is_same_filepath(filePath_atDIR_list[i].filepath, in_filepath)) { return(i); } } return(-1); }
void set_status_pos_at_DIR(string in_filepath) { now_PosInFile_obj.set_filepath(in_filepath); Func <bool> set_at_FILE_proc = () => { if (now_PosInFile_obj.filePath_atDIR_list.Count == 1) { status_POS_type_at_File = status_POS_type_enum.Only1つだけ; return(true); } if (Cfun.is_same_filepath(now_PosInFile_obj.filePath_atDIR_list[0].filepath, in_filepath)) { status_POS_type_at_File = status_POS_type_enum.先頭; return(true); } if (Cfun.is_same_filepath(now_PosInFile_obj.filePath_atDIR_list[now_PosInFile_obj.filePath_atDIR_list.Count - 1].filepath, in_filepath)) { status_POS_type_at_File = status_POS_type_enum.末尾; return(true); } status_POS_type_at_File = status_POS_type_enum.複数で端ではない; return(true); }; set_at_FILE_proc(); Func <bool> set_at_PAGE_proc = () => { if (now_PosInFile_obj.全ページ数 == 1) { status_POS_type_at_Page = status_POS_type_enum.Only1つだけ; return(true); } if (now_PosInFile_obj.ページ番号 == 1) { status_POS_type_at_Page = status_POS_type_enum.先頭; return(true); } if (now_PosInFile_obj.ページ番号 == now_PosInFile_obj.全ページ数) { status_POS_type_at_Page = status_POS_type_enum.末尾; return(true); } status_POS_type_at_Page = status_POS_type_enum.複数で端ではない; return(true); }; set_at_PAGE_proc(); }
/// <summary>ジョブのマクロ部を1つずつ返します。intが -1:マクロ(残り)無し 1:文字 2:Keys</summary> static public TSXBIN_SYM.IntStringKeys_pair JOB登録_get_nextキーマクロ() { START: if (JOB登録_キーマクロ動作_char_list != null) { JOB登録_Log_char_list("JOB登録_get_nextキーマクロ 起動時"); } else { JOB登録_Log_char_list("JOB登録_get_nextキーマクロ 残りキー無し!"); } if (JOB登録_キーマクロ動作_char_list == null || JOB登録_キーマクロ動作_char_list.Count == 0) { return(new TSXBIN_SYM.IntStringKeys_pair(-1, null, Keys.None)); } char tmp_char = JOB登録_キーマクロ動作_char_list[0]; JOB登録_キーマクロ動作_char_REMOVE_OLD(); switch (tmp_char) { case ' ': goto START; case '%': if (JOB登録_キーマクロ動作_char_list.Count == 0) // % だけ、といった書き間違えのケースで例外が出ないように。 { goto START; } char tmp_F_char = JOB登録_キーマクロ動作_char_list[0]; JOB登録_キーマクロ動作_char_REMOVE_OLD(); string tmp_F_char_text = Cfun.ToUpper半(tmp_F_char.ToString()); bool is_with_Shift = false; if (tmp_F_char_text == "+") { tmp_F_char = JOB登録_キーマクロ動作_char_list[0]; JOB登録_キーマクロ動作_char_REMOVE_OLD(); tmp_F_char_text = Cfun.ToUpper半(tmp_F_char.ToString()); is_with_Shift = true; } Keys tmp_is_with_Shift = (is_with_Shift == true) ? Keys.Shift : Keys.None; switch (tmp_F_char_text) { case "F": // ファンクションキー char tmp_No_char = JOB登録_キーマクロ動作_char_list[0]; JOB登録_キーマクロ動作_char_REMOVE_OLD(); switch (tmp_No_char) { case '1': return(new TSXBIN_SYM.IntStringKeys_pair(2, null, tmp_is_with_Shift | Keys.F1)); // 1:文字 2:Keys case '2': return(new TSXBIN_SYM.IntStringKeys_pair(2, null, tmp_is_with_Shift | Keys.F2)); case '3': return(new TSXBIN_SYM.IntStringKeys_pair(2, null, tmp_is_with_Shift | Keys.F3)); case '4': return(new TSXBIN_SYM.IntStringKeys_pair(2, null, tmp_is_with_Shift | Keys.F4)); case '5': return(new TSXBIN_SYM.IntStringKeys_pair(2, null, tmp_is_with_Shift | Keys.F5)); case '6': return(new TSXBIN_SYM.IntStringKeys_pair(2, null, tmp_is_with_Shift | Keys.F6)); case '7': return(new TSXBIN_SYM.IntStringKeys_pair(2, null, tmp_is_with_Shift | Keys.F7)); case '8': return(new TSXBIN_SYM.IntStringKeys_pair(2, null, tmp_is_with_Shift | Keys.F8)); case '9': return(new TSXBIN_SYM.IntStringKeys_pair(2, null, tmp_is_with_Shift | Keys.F9)); case '0': default: goto START; } case "S": // 半角スペースを送ります。 return(new TSXBIN_SYM.IntStringKeys_pair(1, " ", Keys.None)); // 1:文字 2:Keys case "E": // ESCキー return(new TSXBIN_SYM.IntStringKeys_pair(2, null, tmp_is_with_Shift | Keys.Escape)); case "D": // 下矢印キー return(new TSXBIN_SYM.IntStringKeys_pair(2, null, tmp_is_with_Shift | Keys.Down)); case "U": // 上矢印キー return(new TSXBIN_SYM.IntStringKeys_pair(2, null, tmp_is_with_Shift | Keys.Up)); case "L": // 左矢印キー return(new TSXBIN_SYM.IntStringKeys_pair(2, null, tmp_is_with_Shift | Keys.Left)); case "R": // 右矢印キー return(new TSXBIN_SYM.IntStringKeys_pair(2, null, tmp_is_with_Shift | Keys.Right)); case "B": // BackSpaceキー return(new TSXBIN_SYM.IntStringKeys_pair(2, null, tmp_is_with_Shift | Keys.Back)); case "N": // Enterキー return(new TSXBIN_SYM.IntStringKeys_pair(2, null, tmp_is_with_Shift | Keys.Enter)); default: goto START; } case '!': return(new TSXBIN_SYM.IntStringKeys_pair(2, null, Keys.Enter)); // 1:文字 2:Keys default: JOB登録_Log_char_list("switch時"); return(new TSXBIN_SYM.IntStringKeys_pair(1, tmp_char.ToString())); // 1:文字 2:Keys } }
private void Form1_FormClosed(object sender, FormClosedEventArgs e) { is_使用中_forForms = false; Cfun.GCたくさん(); }