integer , string 을 byte 배열에 담아서 보내기 에대한 질문입니다.
procedure TForm1.Button5Click(Sender: TObject);
var
b : array [1..40] of byte;
id,pass : string[16];
i,j,k : integer;
s : string;
begin
i := 0;
j := 32;
id := 'tas3';
pass := 'meeting';
move(i,b[1],sizeof(i));
move(j,b[5],sizeof(j));
move(id,b[9],sizeof(id));
move(pass,b[24],sizeof(pass));
//Clientsocket1.Socket.SendBuf(b,sizeof(b));
s := '';
for k:= 1 to 40 do
begin
s := s + char(b[k]);
end;
memo1.lines.add(s);
흠.. int , string 을 byte 배열어 넣구요..
잘 들어갔나 해서 확인해 볼려구 하니... 아무것두.. 없는... 백지가..
ㅜ.ㅜ 뭐가 문제 인가요?
문자열쓸때 좀 잘못됬네요... 포인터를 넣으셨군요...
Move(id[1], b[9], Length(id));
Move(pass[1], b[24], Length(pass));
그런데 이런 방식보다는 예전에 구창민님이 알려주신 방법이 더 좋지 않나요?
type
TInfo = packed record
I, J: Integer;
ID, Pass: array[0..15] of Char;
end;
var
Info: TInfo;
begin
Info.I := 0;
Info.J := 32;
Info.ID := 'tas3';
Info.Pass := 'meeting';
Clientsocket1.Socket.SendBuf(Info, SizeOf(Info));
......
end;
^^ 항상 즐코하세요...