1,594
社区成员




Type
PSendData = ^TSendData;
TSendData = packed record
Command:string[5];
Content_len: Integer;
Content:[0..0] of AnsiChar;
end;
var
Data: PSendData;
strContent: String;//注意:这里只说ANSI Code,如果是使用Unicode版本(Delphi2009)的,另议
begin
strContent := ... //这里数据任意
GetMem(Data, sizeof(TSendData) - 1 (*默认的一个字节*) + Length(strContent));
Data^.Command := 'Text';
Data^.Content_len := Length(strContent);
Move(strContent[1], Data^.Content[0], Length(strContent));
SendData(Data);
FreeMem(Data);
end;
var
Data: PSendData;
begin
AllocMem(Data, sizeof(TSendData) - 1 (*默认的一个字节*) );
RecvData(Data, sizeof(TSendData) - 1 (*默认的一个字节*) );
if Data^.Content_len > 0 then begin
ReallocMem(Data, sizeof(TSendData) - 1 (*默认的一个字节*) + Data^.Content_len);
RecvData(@(Data^.Content[0]), Data^.Content_len);
end;
ProcessCommand(Data);
FreeMem(Data);
end;
var MyString: string[100];
type CString = string[100];
var MyString: CString;