0
일부 문자열 구문 분석을 수행하고 끝에 고정 폭 파일을 만드는 vb.net 프로그램을 작성했습니다. 내 2 대의 컴퓨터에서 각각 실행하면 형식이 제대로 지정된 파일이 만들어집니다. 내 클라이언트가 msi 파일을 다운로드하고 설치 한 다음 실행하면 파일의 각 레코드에 몇 개의 여분의 공백이 생기고 공백 수가 레코드와 일치하지 않게됩니다. 그것은 내 측면에서 잘 실행되지만, 코드는 여기에있다, 그래서 나는 아마도 컴파일러와 관련이있을 것이라고 생각하고있다 ???파일 쓰기 출력이 컴퓨터에서 변경됩니다.
'For each T2 record,
For i = 0 To frmMain.SquirrelDataSet.PayDataExceptions.Rows.Count - 1
frmMain.ProgressBar1.PerformStep()
'Join Fname and Lname into FullName.
Dim FullName As String = frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item("Lname") & "," & frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item("Fname")
If FullName = Nothing Then
FullName = ""
End If
'FullName = FullName(FullName.PadLeft(25, " "))
FullName = FullName.PadLeft(25, " ")
objWriter.Write(frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(0) & _
FullName & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(2) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(3) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(4) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(5) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(6) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(7) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(8) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(9) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(10) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(11) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(12) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(13) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(14) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(15) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(16) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(17) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(18) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(19) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(20) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(21) & _
frmMain.SquirrelDataSet.PayDataExceptions.Rows(i).Item(22) & vbCrLf)
Next
고정 길이 레코드이고 레코드의 무결성을 유지하기 위해 충분한 공간이 포함되어 있으므로 트림 기능을 사용할 수 없습니다. 그 공간 어딘가에 문제가있는 곳이 ... – user898642
Exactamundo. 내 생각 엔 클라이언트 사이트의 일부 데이터가 필드 크기를 넘치고 있습니다. 패드 기능은 데이터 만 확장하며 자르지 않습니다. –
그리고 오버플로가 공간에서 발생하지 않았을 수 있습니다. Trim()은 데이터 오버플로에 대해 생각하게 만들었습니다. –