//構造体コンストラクタ public SMorseAtom(char argChar) : this() { this.CharForMorse = argChar; this.MorseType = !char.IsWhiteSpace(argChar) ? EMrsType.normal : EMrsType.spaceBtwnWords; this.Lang = getLang(argChar); this.MorseCodes = GetMorseFromChar(argChar); }
public SMorseAtom(Morse.EMrsType argMrsType) : this() { this.CharForMorse = argMrsType == EMrsType.spaceBtwnChars ? new char() : argMrsType == EMrsType.spaceBtwnWords ? ' ' : argMrsType == EMrsType.bracketStart ? m.EN_START : argMrsType == EMrsType.bracketEnd ? m.EN_END : new char(); this.MorseType = argMrsType; this.Lang = ELang.NonLang; this.MorseCodes = GetMorseFromChar(argMrsType); }
/// <summary> /// 下载订单的PDF文件 /// </summary> /// <param name="outFile">输出文件名</param> /// <param name="showPrice">是否显示价格</param> /// <param name="lang">语言版本</param> /// <param name="erpId">ERPID,默认1</param> /// <param name="poNums">待输出的PO行 PoLineToDownload</param> /// <returns></returns> public bool DownloadPoPdf(string outFile, bool showPrice, ELang lang = ELang.zh_CN, EInstanceId erpId = EInstanceId.Huawei, params string[] poNums) { List <PoLineToDownload> poLines = new List <PoLineToDownload>(); foreach (var p in poNums) { poLines.Add(new PoLineToDownload { instanceId = erpId, poNumber = p }); } bool ret = false; GenPoPdfInput input = new GenPoPdfInput { lang = lang.ToString(), queryHistoryDB = 0, showPriceFlag = showPrice, lines = poLines.ToArray() }; var res = dal.GenPoPdfDAL(input); if (res != null) { if (res.Success) { string fileKey = res.PreUrl; DownloadBLL downloadBLL = new DownloadBLL(); FileDownloadInput downLoadParam = new FileDownloadInput { downloadType = "1", downloadKey = res.PreUrl }; ret = downloadBLL.DownloadToFile(outFile, downLoadParam); } } return(ret); }
public HeadLinksAndTemplates(ELang lang) { Lang = lang; }
/// <summary> /// モールス符号用文字列に変換 /// </summary> /// <param name="argChar"></param> /// <returns></returns> /// <example>'が' -> "カ゛" </example> public static string GetStringForMorse(char argChar, bool argIsEnglishMode, out char outNGChar) { outNGChar = new char(); char rtnChar = argChar; // 英字 ELang elang = ELang.NonLang; if ((elang = getLang(argChar)) == ELang.En || elang == ELang.Num) { rtnChar = Strings.StrConv(rtnChar.ToString(), VbStrConv.Narrow)[0]; //半角 rtnChar = Strings.StrConv(rtnChar.ToString(), VbStrConv.Uppercase)[0]; //大文字 return(rtnChar.ToString()); } ; if (argIsEnglishMode) { //欧文モードのときは英数字以外を不正文字として扱う outNGChar = argChar; return(""); } // 特殊ケース switch (argChar) { case '゙': return("゛"); case '゚': return("゜"); case '‐': return("-"); case 'ヰ': return("ヰ"); case 'ヱ': return("ヱ"); case '(': return(m.EN_START.ToString()); case ')': return(m.EN_END.ToString()); default: break; } //全角カタカナ rtnChar = Strings.StrConv(rtnChar.ToString(), VbStrConv.Wide)[0]; rtnChar = Strings.StrConv(rtnChar.ToString(), VbStrConv.Katakana)[0]; //濁点、半濁点分割カタカナ // ex) ガパ => カ゛ハ゜ //※ 正規表現では [ガ-ゴ] = [ガキギクグケゲコゴ] らしいから濁音のところだけを取り出す if (Regex.IsMatch(rtnChar.ToString(), @"[ガギグゲゴザジズゼゾダヂヅデドバビブベボ]")) { const int INT_DAKUTEN = (int)'ガ' - (int)'カ'; //濁点文字との文字コード差 return(((char)((int)rtnChar - INT_DAKUTEN)) + "゛"); } if (Regex.IsMatch(rtnChar.ToString(), @"[パピプペポ]")) { const int INT_HAN_DAKUTEN = (int)'パ' - (int)'ハ'; return(((char)((int)rtnChar - INT_HAN_DAKUTEN)) + "゜"); } //カタカナ特殊ケース switch (rtnChar) { case 'ッ': return("ツ"); case 'ァ': return("ア"); case 'ィ': return("イ"); case 'ゥ': return("ウ"); case 'ェ': return("エ"); case 'ォ': return("オ"); case 'ヵ': return("カ"); case 'ャ': return("ヤ"); case 'ュ': return("ユ"); case 'ョ': return("ヨ"); default: break; } //カタカナ一般 if (Regex.IsMatch(rtnChar.ToString(), "^[" + PTN_JPN + "]+$", RegexOptions.IgnoreCase)) { return(rtnChar.ToString()); } //変換できなかった場合は不正文字として返す outNGChar = argChar; return(""); }