FHeaderCMD :string;FHeaderCMD := 'xxxxxxxxxxxxx'FileWrite(FileHandle, FHeaderCMD[1], Length(FHeaderCMD));FileWrite(FileHandle, FHeaderCMD, Length(FHeaderCMD));求教以上两个FileWrite中 FHeaderCMD[1] 和 FHeaderCMD写法的含义?

解决方案 »

  1.   

    FHeaderCMD[1]就是字符串'xxxxxxxxxxxxx'总的第一个字符
    Length(FHeaderCMD)就是这个字符串的长度
      

  2.   

    FileWrite()最终要调用WINDOWS的API,可接受的参数Buffer应该是一个字符串指针;
    也就是字符串中第一个字符的地址。  
    而string是Delphi的数据类型,是个对象,不可以当作FileWrite的参数。
    FHeaderCMD[1]得到的是string中第一个字符的地址,FileWrite(FileHandle, FHeaderCMD, Length(FHeaderCMD));这句虽然编译没有问题,但是结果可能是乱码