代码之家  ›  专栏  ›  技术社区  ›  Jon

为位置可能更改的多个条目维护位置整数值

  •  0
  • Jon  · 技术社区  · 14 年前

    目前我有一个包含EPL打印机命令的数组列表。

    在每个命令中都有一个行位置。

    EG/

    myList.Add(string.Format(CultureInfo.InvariantCulture, "A26," + YPos + ,0,4,1,1,N,\"Date Printed : {0}\"", DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")));
    
    myList.Add(string.Format(CultureInfo.InvariantCulture, "A26," + YPos + ",0,4,1,1,N,\"Test Data : {0}\"", "BOO"));
    

    ypos变量在每次输入后都会添加60个变量。

    在数组列表的末尾填充,我完成了收集,每23行需要添加一个带有空白数据的新条目。

    EG/

    sb.Add(string.Format(CultureInfo.InvariantCulture, "A26," + YPos + ",0,4,1,1,N,\"{0}\"", ""));
    

    我的问题是ypos值需要按顺序排列,并且后面的所有条目都需要这样做。

    目前,条目出现在23行分开,但YPOS值是最后的YPOS值加上60,所以虽然空白行是23行分开在我的ARAYLIST列表中,它们实际上印在末尾,因为我的YPos有更大的价值。

    我想用一个列表或字典来使用递增器作为键标识符,但是我仍然需要将末尾的所有字符串条目替换为正确的值,所以不确定这是最好的方法。

    2 回复  |  直到 14 年前
        1
  •  0
  •   LarsH    14 年前

    最简单的方法是添加 填充期间出现空行 数组列表。每行增加一个计数器,并且每当 ++count % 23 == 0 ,弹出ypos并添加空行。那么你的Ypos当然是按顺序排列的。你能做到吗?

        2
  •  0
  •   Brian    14 年前

    你为什么不能呢 if ((YPos/60) % 23 == 0) {addBlankLine;} ?.I会考虑用其他地方定义的常量替换60和23,如果您这样做的话(并使用相同的常量在行之间向ypos添加60)。

    推荐文章