Problem: Write a file of 100 byte records either as binary or text. Use the 'CrLfFlag' flag to determine the output format.
WIP: Using the above data definitions:
1. transfer data from 'Record1Recd', or 'Record2Recd', or 'Record3Recd'
to either 'RecordVRecd' or 'RecordFRecd'
2. write to "TestFile" from either 'RecordVRecd' or 'RecordFRecd'
The question: how can I accomplish item number 1 above?
This does not work:
This type of data transfer is a no-brainer in 'c' or COBOL. Why is it a problem in VBA? I'm sure I have misunderstood something, but what ...?
Thanks in advance, all.
Code:
Type RecordVType
Data As String * 100
Cr As Byte
Lf As Byte
End Type
Dim RecordVRecd As RecordVType
Type RecordFType
Data As String * 100
End Type
Dim RecordFRecd As RecordFType
Type Record1Type
Data As String * 50
Data As String * 50
End Type
Dim Record1Recd As Record1Type
Type Record2Type
Data As String * 25
Data As String * 35
Data As String * 15
Data As String * 25
End Type
Dim Record2Recd As Record2Type
Type Record3Type
Data As String * 16
Data As String * 34
Data As String * 38
Data As String * 12
End Type
Dim Record3Recd As Record3Type
...
'
' OPEN code ...
If CrLfFlag Then
Open "TestFile" For Output As #1 Len = Len(RecordVRecd)
Else
Open "TestFile" For Binary As #1 Len = Len(RecordFRecd)
End If
'
' WRITE code
If CrLfFlag Then
Put #1, , RecordVRecd
Else
Put #1, , RecordFRecd
End If
WIP: Using the above data definitions:
1. transfer data from 'Record1Recd', or 'Record2Recd', or 'Record3Recd'
to either 'RecordVRecd' or 'RecordFRecd'
2. write to "TestFile" from either 'RecordVRecd' or 'RecordFRecd'
The question: how can I accomplish item number 1 above?
This does not work:
Code:
If CrLfFlag Then
RecordVRecd = Record1Recd
RecordVRecd.Cr = Asc("13")
RecordVRecd.Cr = Asc("10")
Else
RecordFRecd = Record1Recd
End If
'
' Now do the WRITE ...
This type of data transfer is a no-brainer in 'c' or COBOL. Why is it a problem in VBA? I'm sure I have misunderstood something, but what ...?
Thanks in advance, all.