public static void Save(FileInfo fileInfo) { string data = ""; try { lock (saveLocker) { if (!dataDir.Exists) { dataDir.Create(); } StringBuilder dataBuilder = new StringBuilder(); //버전 기록 dataBuilder.Append(VerText20); dataBuilder.Append(Environment.NewLine); //수집 시작 dataBuilder.Append(GetStartSep(dataSep)); dataBuilder.Append(Environment.NewLine); for (int i = 0; i < LayerManager.Count; i++) { Layer layer = LayerManager.layerList[i]; dataBuilder.Append(GetStartSep(scheduleSep)); dataBuilder.Append(Environment.NewLine); dataBuilder.AppendString(textVar, layer.mainText.Text); dataBuilder.AppendString(memoVar, layer.memoText.Text); dataBuilder.AppendVar(showMemoVar, layer.showMemo.ToString()); dataBuilder.AppendVar(priolityVar, ((double)layer.IndexY).ToString()); dataBuilder.AppendVar(targetDateVar, layer.TargetDate.ToOADate().ToString()); dataBuilder.AppendVar(colorVar, ((int)(layer.BGColor.GetHue())).ToString()); dataBuilder.Append(GetEndSep(scheduleSep)); dataBuilder.Append(Environment.NewLine); } dataBuilder.Append(GetEndSep(dataSep)); dataBuilder.Append(Environment.NewLine); dataBuilder.Append(EndBlock); //수집 완료 data = dataBuilder.ToString(); dataBuilder.Clear(); MaskBackup(); //덮어쓰기 using (FileStream fileStream = new FileStream(fileInfo.FullName, FileMode.Create, FileAccess.Write)) { using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) { streamWriter.Write(data); streamWriter.Flush(); } } MaskBackup(); } } catch (Exception e) { } }
public override void ToDigitString(StringBuilder sb, uint countOfUnits, DigitKindAndQuantity digitKind) { sb.AppendString(this.decadeName); if (countOfUnits == 0) { // После "двадцать", "тридцать" и т.д. не пишут "ноль" (единиц) } else { sb.AppendString(UnityToString(countOfUnits, digitKind)); } }
/// <summary> /// Формирует запись класса с названием, например, /// "125 тысяч", "15 рублей". /// Для 0 записывает только единицу измерения в род.мн. /// </summary> private void DigitClassToString(uint digitBefore999, IUnit unit, StringBuilder sb) { uint countOfUnity = digitBefore999 % 10; uint countOfDecades = (digitBefore999 / 10) % 10; uint countOfHundreds = (digitBefore999 / 100) % 10; sb.AppendString(Hundreds[countOfHundreds]); if ((digitBefore999 % 100) != 0) { Decades[countOfDecades].ToDigitString(sb, countOfUnity, unit.DigitKindAndQuantity); } // Добавить название класса в нужной форме. sb.AppendString(ConformCurrencyTypeWithDigit(unit, digitBefore999)); }
/// <summary> /// Получить пропись числа с согласованной единицей измерения. /// </summary> /// <returns> <paramref name="result"/> </returns> public StringBuilder ConvertToString(uint uintDigit, IUnit unit, StringBuilder result) { if (uintDigit == 0) { result.AppendString("ноль"); result.AppendString(unit.GenitivePlural); } else { uint div1000 = uintDigit / 1000; HightDigitClassesToString(div1000, 0, result); DigitClassToString(uintDigit - div1000 * 1000, unit, result); } return(result); }
static void AppendParameters(this StringBuilder code) { code.AppendFormatting(); code.Append('('); code.AppendFormatting(); for (int i = 0, c = Rand(1, 5); i < c; ++i) { if (i != 0) { code.AppendBreak(); } switch (Rand(1, 5)) { case 1: code.Append(Random.Next(427_680)); break; case 2: code.Append((float)Random.NextDouble() * 427_680.18f); break; case 3: code.AppendString(); break; case 4: code.AppendName(); break; case 5: code.Append(':'); code.AppendFormatting(); code.AppendType(); break; } } code.AppendFormatting(); code.Append(')'); }
public static void Save(FileInfo fileInfo) { lock (saveLocker) { if (!dataDir.Exists) { dataDir.Create(); } StringBuilder dataBuilder = new StringBuilder(); //수집 시작 dataBuilder.Append(GetStartSep(dataSep)); dataBuilder.Append(Environment.NewLine); dataBuilder.AppendVar(startProc, BigPicture.Option.System.startProcess.ToString()); dataBuilder.AppendVar(topMost, BigPicture.Option.System.topMost.ToString()); dataBuilder.AppendVar(alert, BigPicture.Option.System.alert.ToString()); dataBuilder.AppendVar(alertSound, BigPicture.Option.System.alertSound.ToString()); dataBuilder.AppendVar(alert_com, BigPicture.Option.System.alert_com.ToString()); dataBuilder.AppendVar(alert_1h, BigPicture.Option.System.alert_1h.ToString()); dataBuilder.AppendVar(alert_1d, BigPicture.Option.System.alert_1d.ToString()); dataBuilder.AppendVar(opacity, BigPicture.Option.Display.opacity.ToString()); dataBuilder.AppendVar(fontValue, BigPicture.Option.Display.fontValue.ToString()); dataBuilder.AppendString(fontName, BigPicture.Option.Display.font.FontFamily.Name); dataBuilder.AppendVar(fontStyle, ((int)BigPicture.Option.Display.font.Style).ToString()); dataBuilder.AppendVar(fontSize, BigPicture.Option.Display.fontSize.ToString()); dataBuilder.AppendVar(animSpeed, BigPicture.Option.Display.animSpeed.ToString()); dataBuilder.AppendVar(widthOffset, BigPicture.Option.Display.widthOffset.ToString()); dataBuilder.AppendVar(dateType, BigPicture.Option.Display.dateType.ToString()); dataBuilder.Append(GetEndSep(dataSep)); //수집 완료 using (FileStream fileStream = new FileStream(fileInfo.FullName, FileMode.Create, FileAccess.Write)) { using (StreamWriter streamWriter = new StreamWriter(fileStream, Encoding.UTF8)) { streamWriter.Write(dataBuilder.ToString()); streamWriter.Flush(); } } } }
/// <summary>Prints valid c# literal depending of <paramref name="x"/> type.</summary> /// <param name="code">Code to print to.</param> <param name="x">Value to print.</param> /// <param name="ifNotRecognized">(optional) Delegate to print unrecognized value.</param> /// <returns>Code with appended literal.</returns> public static StringBuilder AppendCode(this StringBuilder code, object x, Action <StringBuilder, object> ifNotRecognized = null) { if (x == null) { return(code.Append("null")); } if (x is bool) { return(code.AppendBool((bool)x)); } if (x is string) { return(code.AppendString((string)x)); } if (x is Type) { return(code.AppendType((Type)x)); } var type = x.GetType(); if (type.IsEnum()) { return(code.AppendEnum(type, x)); } if (ifNotRecognized != null) { ifNotRecognized(code, x); } else { code.Append(x); } return(code); }
public override void ToDigitString(StringBuilder sb, uint countOfUnits, DigitKindAndQuantity digitKind) { sb.AppendString(stringLikeDecade[countOfUnits]); }
public override void ToDigitString(StringBuilder sb, uint countOfUnits, DigitKindAndQuantity digitKind) { sb.AppendString(UnityToString(countOfUnits, digitKind)); }
/// <summary> /// Получить пропись числа с согласованной единицей измерения. /// </summary> /// <returns> <paramref name="result"/> </returns> public StringBuilder ConvertToString(uint uintDigit, IUnit unit, StringBuilder result) { if (uintDigit == 0) { result.AppendString("ноль"); result.AppendString(unit.GenitivePlural); } else { uint div1000 = uintDigit / 1000; HightDigitClassesToString(div1000, 0, result); DigitClassToString(uintDigit - div1000 * 1000, unit, result); } return result; }