Q&A

  • 레코드형 변수 비교
type

TCd_User = record

strID_User : string[ 6]; // 사용자 ID // P1

strPwd_User : string[ 8]; // 사용자 PWD

strName_User : string[ 20]; // 사용자 이름

wAge_User : Word ; // 나이

end;



var



recCd_User : array[1..2] of TCd_User ;



위처럼 레코드 배열 두개를 선언하구요...



recCd_User[1] 와 recCd_User[2]가 똑같은 값이 들어 있는지 비교할려면 어케함 되져..



if recCd_User[1] <> recCd_User[2] then

ShowMessage('데이터가 변경되었습니다!');



일케 코딩하니깐 에러가 나네요...쩝...

2  COMMENTS
  • Profile
    최용일 2001.05.21 22:35
    안녕하세요. 최용일입니다.



    이 경우는 CompareMem함수를 사용할수도 없고... 직접 필드 하나하나 비교하시는 수밖에 없을거 같군요... AnsiString형을 PChar형으로 바꾸시면 CompareMem으로 간단히 비교할 수 있습니다.



    type

    TCd_User = record

    strID_User : array[0..6] of Char; // 사용자 ID // P1

    strPwd_User : array[0..8] of Char; // 사용자 PWD

    strName_User : array[0..20] of Char; // 사용자 이름

    wAge_User : Word ; // 나이

    end;

    var

    recCd_User: array[1..2] of TCd_User ;

    begin

    if CompareMem(Pointer(@recCd_User[1]), Pointer(@recCd_User[2]), SizeOf(TCd_User)) then

    ShowMessage('데이터가 같습니다.')

    else

    ShowMessage('데이터가 변경되었습니다!')

    end;



    ^^ 항상 즐코하세요...



    허접 wrote:

    > type

    > TCd_User = record

    > strID_User : string[ 6]; // 사용자 ID // P1

    > strPwd_User : string[ 8]; // 사용자 PWD

    > strName_User : string[ 20]; // 사용자 이름

    > wAge_User : Word ; // 나이

    > end;

    >

    > var

    >

    > recCd_User : array[1..2] of TCd_User ;

    >

    > 위처럼 레코드 배열 두개를 선언하구요...

    >

    > recCd_User[1] 와 recCd_User[2]가 똑같은 값이 들어 있는지 비교할려면 어케함 되져..

    >

    > if recCd_User[1] <> recCd_User[2] then

    > ShowMessage('데이터가 변경되었습니다!');

    >

    > 일케 코딩하니깐 에러가 나네요...쩝...

  • Profile
    허접 2001.05.22 01:08
    정말 큰 도움이 됐습니다... 꾸벅...



    즐거운 일주일 되시고,



    항상 건강하세요...^^



    최용일 wrote:

    > 안녕하세요. 최용일입니다.

    >

    > 이 경우는 CompareMem함수를 사용할수도 없고... 직접 필드 하나하나 비교하시는 수밖에 없을거 같군요... AnsiString형을 PChar형으로 바꾸시면 CompareMem으로 간단히 비교할 수 있습니다.

    >

    > type

    > TCd_User = record

    > strID_User : array[0..6] of Char; // 사용자 ID // P1

    > strPwd_User : array[0..8] of Char; // 사용자 PWD

    > strName_User : array[0..20] of Char; // 사용자 이름

    > wAge_User : Word ; // 나이

    > end;

    > var

    > recCd_User: array[1..2] of TCd_User ;

    > begin

    > if CompareMem(Pointer(@recCd_User[1]), Pointer(@recCd_User[2]), SizeOf(TCd_User)) then

    > ShowMessage('데이터가 같습니다.')

    > else

    > ShowMessage('데이터가 변경되었습니다!')

    > end;

    >

    > ^^ 항상 즐코하세요...

    >

    > 허접 wrote:

    > > type

    > > TCd_User = record

    > > strID_User : string[ 6]; // 사용자 ID // P1

    > > strPwd_User : string[ 8]; // 사용자 PWD

    > > strName_User : string[ 20]; // 사용자 이름

    > > wAge_User : Word ; // 나이

    > > end;

    > >

    > > var

    > >

    > > recCd_User : array[1..2] of TCd_User ;

    > >

    > > 위처럼 레코드 배열 두개를 선언하구요...

    > >

    > > recCd_User[1] 와 recCd_User[2]가 똑같은 값이 들어 있는지 비교할려면 어케함 되져..

    > >

    > > if recCd_User[1] <> recCd_User[2] then

    > > ShowMessage('데이터가 변경되었습니다!');

    > >

    > > 일케 코딩하니깐 에러가 나네요...쩝...