我正在研究一个程序,该程序接受来自文本框的输入并将其输入到结构数组中。结构包括名称的字符串变量,5个double的数组,最后是一个double的数组,用于保存前一个数组中值的平均值。我试图将整个结构数组发送到可打印的报告,但是在为打印机格式化如此大量的数据时遇到了很大的困难。为了更好地解释我的困难,这是我到目前为止所写的内容:
'Print the report header
e.Graphics.DrawString("Class Report",
New Font("Courier New", 12, FontStyle.Bold),
Brushes.Black,
150,
10)
e.Graphics.DrawString("Date and Time: " & Now.ToString(),
New Font("Courier New", 12, FontStyle.Bold),
Brushes.Black,
10,
38)
'Prints the column headers
e.Graphics.DrawString(String.Format("{0, 20} {1, 20} {2, 20}",
"Name",
"Test Scores",
"Average"),
New Font("Courier New", 12, FontStyle.Bold),
Brushes.Black,
10,
66)
'prints the data
For intCount = 0 To 5
e.Graphics.DrawString(String.Format("{0, 20} {1, 5} {2, 5} {3, 5} {4, 5} {5, 5} {6, 5} {7, 20}",
ClassScores(intCount).strName,
ClassScores(intCount).dblTestScores(0),
ClassScores(intCount).dblTestScores(1),
ClassScores(intCount).dblTestScores(2),
ClassScores(intCount).dblTestScores(3),
ClassScores(intCount).dblTestScores(4),
ClassScores(intCount).dblTestAvg),
New Font("Courier New", 12, FontStyle.Regular),
Brushes.Black,
150,
165)
Next
现在,此代码将引发system.format异常。这对我来说非常令人困惑,因为以前我相当确定我在尝试对实际打印方式进行一些更改(即将结构转换为并行字符串数组)之前拥有了正确的代码,但是我放弃了这一尝试并尝试获取回到代码的先前版本,显然没有成功。
话虽这么说,但是当我实际使用代码处理打印文档时,遇到了许多问题。例如,标题行并未居中,而是悬挂在文档的右上角。其次,当打印实际数据时,所有数据都打印在一行上,名称打印在一列中,所有数字打印在另一列中,都打印在彼此的顶部。具体列举我在寻求帮助的方面:如何使用此代码清除system.format异常?
当循环循环时,如何确保新数据适合打印文档中的新行?
我可以使用一些帮助来理解格式字符串号,尤其是有关标题以及确定列的宽度的方式。
非常感谢。该程序有很多动态内容,因此,如果您想了解我正在使用的数据类型的更多背景信息,请告诉我,因为我不知道我所提供的信息有多大帮助
答案 0 :(得分:1)
问题似乎是,您传递给第二个plugins {
// Plugin to build .exe files.
id("edu.sc.seis.launch4j") version "2.4.4"
}
dependencies {
// JNA, used to e.g. make a program pinnable to taskbar.
compile("net.java.dev.jna:jna:4.5.1")
compile("net.java.dev.jna:jna-platform:4.5.1")
}
launch4j {
mainClassName = "nl.mynamespace.myapp.MainKt"
icon = "$projectDir/src/main/resources/myapp32.ico"
manifest = "$projectDir/releasing/launch4j/myapp.manifest"
}
调用的格式说明符期望八个值(索引0到7),而您仅传递七个(1 x名称,5 x分数,1) x平均)。您的格式说明符应为:
{0,20} {1,5} {2,5} {3,5} {4,5} {5,5} {6,20}
而不是
{0,20} {1,5} {2,5} {3,5} {4,5} {5,5} {6,5} {7,20}