Q&A

  • 문자열을 변수이름으로 변경이 가능한가요?
변수(스트링형)명을 str1,str2,str3..........str99
이런식으로 일정한 패턴으로 이름을 지엇습니다.
근데 제가 for문으로 이들 변수값을 처리하려고 합니다.
문제는 문자열조합으로 변수를 가리키고자 합니다. 방법이 없을까요?
   for i:=1 to 99 do
   begin
           showmessage( 'str'+ inttostr(i)  );  <== 문자열조합으로 변수를 지칭할순없을까요?
   end;
3  COMMENTS
  • Profile
    황준동 2003.02.11 03:53

    가능하기는 해요. 그런데 좀 복잡하답니다. 물론 콤포넌트 접근은 런타임때 되는건 아시겠죠. 콤포넌트 빼고 하는 방법에 대한 자세한 설명은 델파이 인터프리터 라는 글을 참고 하세요. 이전에 제가 작업하면서 봤는데 구글에서 검색하시면 나올꺼예요. 방식은 사용하려는 변수(글로벌변수)에 대한 변수명과 어드레스를 따로 관리하고 런타임시에 입력된 변수명으로 어드레스를 찾아서 처리하면 됩니다. 타입 부분은 Variant 부분을 참고 하시구요.
    거의 인터프리터를 만드셔야해요...
  • Profile
    KDDG_BaSTaD 2003.02.10 18:05
    ==> 저의 짧은 지식으로는 않되는것으로 알고있습니다. ^^; Delphi에서 말이죠.. 아니.. 컴파일러계열에서는 않되는것으로 알고있습니다. 하지만 인터프리터계열은 가능합니다. 예를 들어 php같은 웹스크립트들은 가능하지요..

    하지만,, 단순 변수가 아닌 클래스(객체)라면 가능합니다. RTTI(RunTime Type Information)이죠..

    ps. 성공하시길. 즐프 & 즐타
  • Profile
    구창민 2003.02.08 06:18
    ^_^;; 배열이 더 적절할 듯 싶습니다.

    그럼 즐거운 프로그래밍 하시길~