数据结构如下应义
ttyMonth(1 To 12) As MonthType '每月资料'每月数组
Private Type MonthType
    siMonthSum As Single '月平均分(历史查询用)  所有15次平均分和/15
    Month_App As Integer   '本允许补考3次数
    AppN As Integer         '以上Month_App可补考次数对应的月份,AppN低小于当前月份则Month_App重置为3在服务端向客户端发送个人资料时更新
    Mranking As Integer        '本月排名(历史查询用)
    tyOneTest(1 To 15) As OneTestType '每次考试数组
End Type'每次考试数组(每月15次)
Private Type OneTestType
    lDate As Integer   '考试日 只存日,1~31
    siSum As Single     '每次题目平均分 所有25次分数和/25,所以未完成25题分数很低
    'iTmSum As Integer ' '此次考试共完成iTmSum题
'    boApp As Boolean    'T为一次完成,F为多次答完
    tyTm(1 To 25) As TmType     '25题
End Type'每次题目数组(每次25题)
Private Type TmType
    lTmNo As Integer        '此题在题库中的编号(增加题目只能在题库后添加)
    lDa As Integer          '员工作答的答案
    lTrueDa As Integer      '正确的答案
    siSum25 As Single         '此题分数
End Type
    我想用Winsock1.SendData "F02"+以上数据(把以上数据转换为字符串)
接收端收到字符串先检查前三个字符是"F02"则把后面字符串转化到ttyMonth(1 To 12)中去,请教给点好的思路.谢谢

解决方案 »

  1.   

    那就先用copymemory把结构体拷贝成数组,然后来个循环拼接成字符串,收到时再把字符串转换成数组,再用copymemory把数组拷贝成结构体。你可以直接发送数组啊,这样会节省流量,如果数据量比较大,还是规定一个协议,比如在F02后面跟个长度,在末尾放个校验码什么的,这样能确保数据在网络传输时的完整性。
      

  2.   

    copymemory怎么拷贝成字符,再怎么转换成数组,能不能举个简单的例子?
      

  3.   

    copymemory  没真没用过的呢
      

  4.   

    你的数据结构没有定义好,就算使用CopyMemory效率也不高
    因为你要重新分配一个Buffer来解析存放数据,所以建议你把结构定义好
      

  5.   

    还是不明,copymemory好象还容易出错,算了不用这方法了,谢谢大家