Q&A

  • 고수님들 도와주세요.
고수님 도와주세요. 알고리즘이 약해서라무래...



i : WideString;

j : array of array of WideString;



i:='홍길동:HongKilDong:0123456789:0987654321';



SetLength(j,2,2);



j[]:=Copy(i,1,Pos(':',i) -1);

y:=Copy(i,Pos(':',i) + 1,Length(i) - Pos(':',i));

j[]:=Copy(y,1,Pos(':',y) -1);



i이라는 변수에서 ":"를 구분자로 해서 2차원 배열인 j에 넣어려고 합니다. 즉 결과를 얘기하면 아래와 같습니다.



j[0,0]:='홍길동';

j[0,1]:='HongKilDong';

j[1,0]:='0123456789';

j[1,1]:='0987654321';



고수님들 도와주세용~~~~~~~~











2  COMMENTS
  • Profile
    xdelphi 2001.01.12 20:59
    김태영 wrote:

    > 고수님 도와주세요. 알고리즘이 약해서라무래...

    >

    > i : WideString;

    > j : array of array of WideString;

    >

    > i:='홍길동:HongKilDong:0123456789:0987654321';

    >

    > SetLength(j,2,2);

    >

    > j[]:=Copy(i,1,Pos(':',i) -1);

    > y:=Copy(i,Pos(':',i) + 1,Length(i) - Pos(':',i));

    > j[]:=Copy(y,1,Pos(':',y) -1);

    >

    > i이라는 변수에서 ":"를 구분자로 해서 2차원 배열인 j에 넣어려고 합니다. 즉 결과를 얘기하면 아래와 같습니다.

    >

    > j[0,0]:='홍길동';

    > j[0,1]:='HongKilDong';

    > j[1,0]:='0123456789';

    > j[1,1]:='0987654321';

    >

    > 고수님들 도와주세용~~~~~~~~

    >

    >

    >

    >

    >

    무식한(?) 방법이긴하지만...

    일단 이렇게하시면 원하시는 결과는 나올것 같은데요....



    procedure TForm1.Button1Click(Sender: TObject);

    var

    i : WideString;

    j : array of array of WideString;

    R,C,S,E,LL : integer;

    begin

    i:='홍길동:HongKilDong:0123456789:0987654321';

    SetLength(j,2,2);

    for R := 0 to 1 do begin

    for C := 0 to 1 do begin

    if Pos(':',i) = 0 then begin

    j[R,C] := Copy(i,1,Length(i));

    end

    else begin

    j[R,C] := Copy(i,1,Pos(':',i)-1);

    end;

    ShowMessage(intToStr(R)+','+intToStr(C)+'-->'+j[R,C]);

    LL := Length(i);

    S := Pos(':',i)+1;

    E := LL - S;

    i := Copy(i,S,E);

    end;

    end;

    end;



  • Profile
    최진석 2001.01.12 20:53
    음...

    var

    k,l : integer;

    str,madestr : string;

    i : WideString;

    j : array of array of WideString;

    begin

    madestr := '';

    l := 1;

    for k := 1 to length(i) do

    begin

    str := copy(i,k,1);

    if str = ':' then

    begin

    case l of

    1 : j[0,0] := madestr;

    2 : j[0,1] := madestr;

    3 : j[1,0] := madestr;

    4 : j[1,1] := madestr;

    end;

    l := l+1;

    end else begin

    madestr := madestr + str;

    end;

    end;

    end;

    뭐 이런식으로 하시면 되겠네요...



    김태영 wrote:

    > 고수님 도와주세요. 알고리즘이 약해서라무래...

    >

    > i : WideString;

    > j : array of array of WideString;

    >

    > i:='홍길동:HongKilDong:0123456789:0987654321';

    >

    > SetLength(j,2,2);

    >

    > j[]:=Copy(i,1,Pos(':',i) -1);

    > y:=Copy(i,Pos(':',i) + 1,Length(i) - Pos(':',i));

    > j[]:=Copy(y,1,Pos(':',y) -1);

    >

    > i이라는 변수에서 ":"를 구분자로 해서 2차원 배열인 j에 넣어려고 합니다. 즉 결과를 얘기하면 아래와 같습니다.

    >

    > j[0,0]:='홍길동';

    > j[0,1]:='HongKilDong';

    > j[1,0]:='0123456789';

    > j[1,1]:='0987654321';

    >

    > 고수님들 도와주세용~~~~~~~~

    >

    >

    >

    >

    >