public void loadData() { try { string[] lines = File.ReadAllLines(getDataFile(), Encoding.UTF8); int c = 0; // items > lastPIIndex = int.Parse(lines[c++]); lastDifficulty = int.Parse(lines[c++]); lastPrinterName = lines[c++]; lastPaperSizeName = lines[c++]; { string line = lines[c++]; if (line != "") { List <string> tokens = StringTools.tokenize(line, StringTools.DIGIT, true, true); lastMargin = new LTRB( IntTools.toInt(tokens[0], 0, 9999), IntTools.toInt(tokens[1], 0, 9999), IntTools.toInt(tokens[2], 0, 9999), IntTools.toInt(tokens[3], 0, 9999) ); } else { lastMargin = null; } } lastPrintProblem = StringTools.toFlag(lines[c++]); lastPrintAnswer = StringTools.toFlag(lines[c++]); lv1Color = IntTools.toColor(int.Parse(lines[c++])); lv2Color = IntTools.toColor(int.Parse(lines[c++])); lv3Color = IntTools.toColor(int.Parse(lines[c++])); lv4Color = IntTools.toColor(int.Parse(lines[c++])); ansColor = IntTools.toColor(int.Parse(lines[c++])); _合体ナンプレの重なった部分に成丈数字を置かない = StringTools.toFlag(lines[c++]); // < items } catch { } }
private HistoryData _historyData; // null == 作成未完了 private MkAndPrintWin(ProblemInfo problemInfo, int level, HistoryData historyData) { _problemInfo = problemInfo; _level = level; _historyData = historyData; InitializeComponent(); this.lblProblemTitle.Text = "印刷する問題:" + _problemInfo.getName() + " , 難易度:" + Utils.levelToString(_level); this.lblMkStatus.Text = "作成中..."; this.cmbPrinterName.Items.Clear(); foreach (string name in ImagePrinter.getPrinterNames()) { this.cmbPrinterName.Items.Add(name); } this.cmbPrinterName.SelectedIndex = 0; this.cmbPaperSizeName.Items.Clear(); foreach (string name in ImagePrinter.getPaperSizeNames()) { this.cmbPaperSizeName.Items.Add(name); } this.cmbPaperSizeName.SelectedIndex = 0; // 前回のプリンタ選択を復元 { string name = Gnd.i.lastPrinterName; if (name != "") { int index = Utils.getIndex(cmbPrinterName, name); if (index != -1) { cmbPrinterName.SelectedIndex = index; cbUseDefaultPrinter.Checked = false; } } } // 前回の用紙サイズ選択を復元 { string name = Gnd.i.lastPaperSizeName; if (name != "") { int index = Utils.getIndex(cmbPaperSizeName, name); if (index != -1) { cmbPaperSizeName.SelectedIndex = index; cbUseDefaultPaperSize.Checked = false; } } } // 前回のマージンを復元 { LTRB margin = Gnd.i.lastMargin; if (margin != null) { marginL.Text = "" + margin.l; marginT.Text = "" + margin.t; marginR.Text = "" + margin.r; marginB.Text = "" + margin.b; cbUseDefaultMargin.Checked = false; } else { marginL.Text = "" + 100; marginT.Text = "" + 100; marginR.Text = "" + 100; marginB.Text = "" + 100; } } cbPrintProblem.Checked = Gnd.i.lastPrintProblem; cbPrintAnswer.Checked = Gnd.i.lastPrintAnswer; refreshUI(); if (_historyData != null) { historyDataCreated(); } }
public void setMargin(LTRB margin) { _margin = margin; }