Q&A

  • 공백을 중심으로 값을 다른 변수에 넣는 방법 좀 알려주세요.
예를 들어 '0 18'이라는 문자열이 있을때 0은 변수 x에 18은 변수 y에 넣으려면 어떻게



해야 할까요?? 넘 어렵당...

5  COMMENTS
  • Profile
    뻐럭이 2000.11.08 21:57
    volf wrote:

    > 예를 들어 '0 18'이라는 문자열이 있을때 0은 변수 x에 18은 변수 y에 넣으려면 어떻게

    >

    > 해야 할까요?? 넘 어렵당...





    간단한 방법이 있져~~~~~~

    pos,copy명령입니다

    edit1.text := '0 18';이라고 하면...........





    var

    i : integer;

    tmp,tmp1 : String;

    begin

    i := pos(' ',edit1.Text);

    tmp := copy(edit1.text,1,i-1);////0을 저장

    tmp := copy(edit1.Text,i+1,length(edit1.Text) - i);//18를 저장



    end;



    //답변이 되었는지 모르겠군요

  • Profile
    남기석 2000.11.08 09:41
    안녕하세요

    청개구리 남기석( http://www.delphitravel.com )입니다.



    procedure TForm1.Button1Click(Sender: TObject);

    var

    sData : string;

    x, y : string;

    iPos : integer;

    begin

    sData := '145 18';



    iPos := pos( ' ', sData ); // Space 가 있는 위치를 구한다.

    x := Copy( sData, 1, iPos-1 ); // 처음부터 Space 앞자리까지 Copy

    y := Copy( sData, iPos+1, Length(sData)-iPos ); // Space 다음부터 끝까지 Copy



    showmessage( x ); // 145

    showmessage( y ); // 18

    end;



    여기 게시판에서

    제 이름과 Token으로 검색하시면....

    Space를 구분자로 해서 10개건 20개건 끝까지 구분해서

    ListBox에 넣는 예제도 올린 적이 있습니다.



    참고하세요...



    ==============================================================================

    volf wrote:

    > 예를 들어 '0 18'이라는 문자열이 있을때 0은 변수 x에 18은 변수 y에 넣으려면 어떻게

    >

    > 해야 할까요?? 넘 어렵당...

  • Profile
    조대호 2000.11.08 09:11
    volf wrote:

    > 예를 들어 '0 18'이라는 문자열이 있을때 0은 변수 x에 18은 변수 y에 넣으려면 어떻게

    >

    > 해야 할까요?? 넘 어렵당...





    원하는 질문내용이 잘 이해되지는 않지만 이렇게 하면 어떻까요



    var sData : String;

    Data1, Data2 : Integer;

    begin

    sData := '0 18';

    Data1 := StrToInt(Copy(sData,1,1));

    Data2 := StrToInt(Copy(sData,3,2));

    end;



    이렇게 COPY Funtion을 이용하면 될겠같은데..





  • Profile
    volf 2000.11.08 09:23
    쪼개고 싶은 문자열은 0~18까지의 수가 두개 붙은 문자열입니다.



    예를 들어 '0 9' 일수도 '18 0' 일수도 '15 15' 일수도 있습니다. 이것이 문자열로 저장이



    되어있는 형태입니다. 가운데에 공백을 중심으로 앞의 수를 x변수에 뒤의 수를 y변수에 넣으려



    고 하는 것입니다. 으흠 이럴땐 어떻게 해야 하나요....

  • Profile
    조대호 2000.11.08 09:40
    volf wrote:

    > 쪼개고 싶은 문자열은 0~18까지의 수가 두개 붙은 문자열입니다.

    >

    > 예를 들어 '0 9' 일수도 '18 0' 일수도 '15 15' 일수도 있습니다. 이것이 문자열로 저장이

    >

    > 되어있는 형태입니다. 가운데에 공백을 중심으로 앞의 수를 x변수에 뒤의 수를 y변수에 넣으려

    >

    > 고 하는 것입니다. 으흠 이럴땐 어떻게 해야 하나요....



    특별한 방법은 모르고 그냥 Coding으로 하자면 For문을 이용해 보는것은 어떨까요.

    조금 무식하고 창피한 방법이지만....



    var

    sData, x, y : String;



    begin

    sData := '0 9';

    For i := 1 to Length(sData) do

    begin

    if Copy(sData,1,i) = '' then

    begin

    x := Copy(1,i - 1);

    y := Copy(i + 1, Length(sData));

    exit;

    end;

    end;

    end;