Q&A

  • String을 잘라내기


변수 Str := '123456789'

가 담겨있습니다.



예를들어 3번째에서 6번째까지의 string를

뽑아낼려고 합니다.



무식하게 한다면 Edit1.text := Str[3] + Str[4] + str[5] + Str[6];

으로하면 edit1에는 '3456'이 들어가겠지요.



그런데 범위가 클때 위와 같이 하면 코딩량이 많아 질것같아서 그러는데

간단히 처리할수 있는 방법이 있을까요. 함수라든지 ...





2  COMMENTS
  • Profile
    최원실 2000.02.02 02:32
    djha wrote:

    >

    > 변수 Str := '123456789'

    > 가 담겨있습니다.

    >

    > 예를들어 3번째에서 6번째까지의 string를

    > 뽑아낼려고 합니다.

    >

    > 무식하게 한다면 Edit1.text := Str[3] + Str[4] + str[5] + Str[6];

    > 으로하면 edit1에는 '3456'이 들어가겠지요.

    >

    > 그런데 범위가 클때 위와 같이 하면 코딩량이 많아 질것같아서 그러는데

    > 간단히 처리할수 있는 방법이 있을까요. 함수라든지 ...

    >

    >



    안녕하세요!!!

    1. 델아이 코딩에서

    --- Edit1.Text

    =: Copy(String Field, 가져올Data시작위치(1),(1)에서부터 가져올 Data길이

    2. 참고로 Query에서

    1) String필드 값을 나눠서 가져오기

    -- SubStr(String Field,시작위치,가져올길이)

    -- 참고로 Mid, Ldft, Right도 사용합니다.

    2) 두개의 String필드 값을 합쳐서 가져오기

    ** ID (사원코드), Name (사원명) 필드를 합쳐서 가져오기..

    (ID || Name) ID_Name(알리아스 명칭)

    쓰고보니 답변이 너무 짤아서 몇글자 더 적어봅니다.

    조금이나마 도움이 되었으면.......



  • Profile
    장지용 2000.02.02 00:51
    djha wrote:

    >

    > 변수 Str := '123456789'

    > 가 담겨있습니다.

    >

    > 예를들어 3번째에서 6번째까지의 string를

    > 뽑아낼려고 합니다.

    >

    > 무식하게 한다면 Edit1.text := Str[3] + Str[4] + str[5] + Str[6];

    > 으로하면 edit1에는 '3456'이 들어가겠지요.

    >

    > 그런데 범위가 클때 위와 같이 하면 코딩량이 많아 질것같아서 그러는데

    > 간단히 처리할수 있는 방법이 있을까요. 함수라든지 ...

    >

    >

    질문을 잘 이해하지 못했는지 모르겠지만.. 이 함수를 쓰면 되겠네요.

    function Copy(S: string; Index, Count: Integer): string;



    ex) Copy(Str, 시작위치, 추출할 문자길이);