type
recTest = record
AAA : Array[0..3] of char;
BBB : Array[0..9] of char;
CCC : Array[0..4] of char;
end;
var
rTest : recTest;
sSendData : String;
begin
FillChar(rTest, SizeOf(rTest), ' ');
with rTest do
begin
AAA := '12';
BBB := 'ABCDEFGHIJ';
CCC := '!@#$';
end;
end;
위에서...rTest라는 FillChar로 초기화 했잖아요?
그럼...rTest에는 모두 ' ' 가 들었있는데...
거기에 값을 위와같이 대입하고 나면...
rTest.AAA에 '1', '2', ' ', ' ' 이렇게 들어 있어야 할것 같은데...
왜 '1', '2', #0, #0 이렇게 들어 있는거에요?
String하고 Char 개념하고 혼돈을 하시는거 같네요 ^^
FillChar(r, sizeof(r), #0);
요렇게 쓰셔야 할거 같네요.
' ' 하고 #0은 다른 값입니다.
' '는 #32 (space ASCII값) 와 같다고 할 수 있겠죠.
C언어에서든 델파이에서든
일반적으로 Char은 -128 부터 +127 혹은 0~255 의 숫자값을 저장합니다.