Q&A

  • 스트링을 포인터 배열로..
<!--CodeS-->
type
TARGET  =  ^I_TARGET;
I_TARGET  =  packed  record
                                   Name      :  array[0..255]  of  PCHAR;
                                   Address  :  array[0..255]  of  PCHAR;
                      end;
var
  Nam, Addr  : String;
begin
  Nam := '1234567890';
  Addr := 'ABCDEFGHIJ';
end
<!--CodeE-->
Name 변수에 Nam 문자열을 넣으려고 합니다.
포인터 변수를 사용했습니다.

Name = '1' '2' '3' '4' '5' '6' '7' '8' '9' '0' '' '' '' '' ......
이렇게 256개의 배열요소에 각각 데이터를 넣으려고 합니다.
1  COMMENTS
  • Profile
    석주현 2008.11.02 07:06
    그냥 for문으로 돌려서 넣으면 됩니다.



    var
    tmpTarget : I_TARGET;
    Nam, Addr : String;

    begin
    for i:=0 to 10 do begin
    tmpTarget.Name[i] := @Nam[i];
    end;
    end;



    제대로 들어 갔나는 tmpTarget.name[i]를 직접 출력해보시면 되겠죠.
    ^^

    그런데 위 질문에서 의문인 것은 Name에 각각 하나씩 들어 가는게 아니고. 결국에 어드레스 값이 들어가게 되므로 출력을 해보시면 죽 다 나오게 될 겁니다.