Давно я тут не был!
Есть небольшой код, который сохраняет структуру в файл.
Всё бы хорошо, но почему-то если смотреть в сохранённый файл - то видно, что между полями структуры VB при сохранении вставляет "лишние" символы.
При этом, если прочитать эту структуру из файла - то она читается в том же виде, как и записывалась, "лишние" знаки в структуре не читаются.
Вот код:
- Код: Выделить всё
Option Explicit
Private Type PacketMessage
PType As Integer
oNode As Integer
dNode As Integer
oNet As Integer
dNet As Integer
Attr As Integer
cost As Integer
datetime As String '* 20
ToUserName As String '* 36
FromUserName As String '* 36
subject As String '* 72
Area As String
text As String
End Type
Private Sub Command1_Click()
Dim PktMsg As PacketMessage
Dim sFileName As String
Dim fNum As Integer
sFileName = "D:\Test.pkt"
With PktMsg
.PType = 2
.oNode = 112
.dNode = 234
.oNet = 5015
.dNet = 5020
.Attr = 0
.cost = 0
.datetime = "06 Jan 09 13:10:45"
.ToUserName = "Vadim Makarov"
.FromUserName = "Ruslan Demidov"
.subject = "Тест № 7 - проверка."
.Area = ""
.text = "Это всего лишь проверка - тест № 7."
End With
fNum = FreeFile
Open sFileName For Output As fNum
Put fNum, , PktMsg
Close fNum
' Unload Me
End Sub
Private Sub Command2_Click()
Dim PktMsg As PacketMessage
Dim sFileName As String
Dim fNum As Integer
Dim strTmp As String
sFileName = "D:\Test.pkt"
fNum = FreeFile
Open sFileName For Binary As fNum
Get fNum, , PktMsg
Close fNum
strTmp = ""
With PktMsg
strTmp = strTmp & "PType: " & .PType & vbCrLf
strTmp = strTmp & "oNode: " & .oNode & vbCrLf
strTmp = strTmp & "dNode: " & .dNode & vbCrLf
strTmp = strTmp & "oNet: " & .oNet & vbCrLf
strTmp = strTmp & "dNet: " & .dNet & vbCrLf
strTmp = strTmp & "Attr: " & .Attr & vbCrLf
strTmp = strTmp & "cost: " & .cost & vbCrLf
strTmp = strTmp & "datetime: " & .datetime & vbCrLf
strTmp = strTmp & "ToUserName: " & .ToUserName & vbCrLf
strTmp = strTmp & "FromUserName: " & .FromUserName & vbCrLf
strTmp = strTmp & "subject: " & .subject & vbCrLf
strTmp = strTmp & "Area: " & .Area & vbCrLf
strTmp = strTmp & "text: " & .text & vbCrLf
End With
Text1.text = strTmp
End Sub
Подскажите, плиз, в какую сторону копать, чтобы записать структуру без "лишних" символов?
Или может быть я вообще не с той стороны подхожу?