안녕하세요?
아래에 질문을 쓰고도 모자라 또 질문을 올립니다.
str : string;
buff : array[1..10] of char 이렇게 변수를 선언하고
buff := str;
이렇게 입력해도 되는 거 아닌가요?
예를 들어 str에 '1234'가 들어있다면
buff[0]:1 buff[1]:2 buff[2]:3 buff[3]:4
이런 식으로 들어가지는 거잖아요
그리고 showmessage(buff); 이런 식으로 배열명만 쳐도 스트링처럼 처리되고요
근데, 왜 여기서 에러가 나죠? array와 string의 type이 impatible하다나 머라나.
암튼 그런 식으로요
================= 소스내용은요 =============
procedure TForm1.ComPortRxChar(Sender: TObject; Count: Integer);
var
R_str, buff : array[1..100] of char;
i : integer;
begin
ComPort.ReadStr(R_str, Count); // 여기서 에러가 납니다.
For i := 0 to count-1 do
if R_str[i] <> #13 then buff[j] := R_str[i]
else
begin
RichEdit1.Lines.Add('[수신] ' + buff);
buff := ''; imsi := '';
j := 0;
end;
end;
자동으로 할당되어 들어가지만
char 변수는 기본 변수형으로서, 클래스에서 처리하는 것과 같은 처리는 하지 못합니다.