Q&A

  • pByte형에서의 특정위치의 값가져오기?
안녕하세요?
pByte형으로 선언된 변수가 있는데요 여기서 특정위치의 값을 가져오고 싶어서요..
아니면 pByte형을 배열형으로 변환한후에 배열 인덱스값을 지정하여서
특정위치의값을 가져오고 싶어서요..
어떻게 하면 좋을까여?
4  COMMENTS
  • Profile
    최용일 2002.09.07 03:08
    안녕하세요. 최용일입니다.

    그냥 C처럼 포인터 연산하셔두 되구요, 배열로 형변환해도 됩니다...

    type
        PLByteArray = ^TLByteArray;
        TLByteArray = array[0..High(Integer)-1] of Byte;
    var
        P: PByte;
        PI: PInteger;
        PW: PWord;
        PB: PByte;
        I: Integer;
        W: Word;
        B: Byte;
    begin
        // P ==> PByte형변수

        Index := 100;

        // 포인터 연산
        PI := PInteger(Integer(P) + Index);
        ListBox1.Items.Add( IntToHex(PI^, 8) );
        PW := PWord(Integer(P) + Index);
        ListBox1.Items.Add( IntToHex(PW^, 8) );
        PB := PByte(Integer(P) + Index);
        ListBox1.Items.Add( IntToHex(PB^, 8) );

        // 배열이용
        B := PLByteArray(P)[Index];
        ListBox1.Items.Add(IntToHex(B, 8));
    end;

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

  • Profile
    스말(^___^) 2002.09.07 03:38
    우선 답변 감사드립니다..
    답변을 보고 다음과 같이 바꿔보았는데요
    if 문에서 Operator not applicable to this operand type 라는
    에러가 나더라구요
    무엇이 잘못된건지 알고 싶습니다..

                  mok := idxCat div 8;
                     pB := PByte(short(pv^.val.blob.lpb) + mok);
                     if ((1 shl rem) and pB) then  <-- 에러발생
  • Profile
    최용일 2002.09.07 03:47
    안녕하세요. 최용일입니다.


    위에서 Short(2바이트)으로 했는데 Win32에서 포인터는 4바이트입니다. 때문에 Integer같은 4바이트형으로 하셔야 할거 같구요...

    포인터는 비트연산(and)이 안됩니다. 원하시는 것은 pB가 가리킨 값하고 and연산하실려는 것같은데... pB^를 써서 값을 참조해야죠...

    그리고 마지막으로 if문에는 참이냐 거짓이냐를 나타내는 불린표현식이 와야 합니다.

    아래와 같은식의 연산을 하셔야죠...

    if ((1 shl rem) and pB^) = 0 then

    ((1 shl rem) and pB^)는 단순한 숫자값입니다. 위와 같이 뭔가하고 비교를 하시면 됩니다.

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

  • Profile
    스말(^___^) 2002.09.07 03:58
    • 김상수
    • 2002.09.07 02:03
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.09.07 02:33
      델파이 처음시 아래와 같은 소스가 보입니다.. unit Unit1; interface uses   Windows...
    • 김상수
      2002.09.07 03:26
    • 김상수
      2002.09.07 05:26
      답변 감사드리구요...또 질문할께..   private     { Private decl...
    • 황선욱
      2002.09.07 01:32
      그럴리가요. 저도 퀵레포트로 네트워크프린터를 사용하는데 그쪽 네트워크프린터가 끄져도 아무렇지 않던...
    • 최용일
      2002.09.07 03:08
      안녕하세요. 최용일입니다. 그냥 C처럼 포인터 연산하셔두 되구요, 배열로 형변환해도 됩니다... typ...
    • 스말(^___^)
      2002.09.07 03:38
      우선 답변 감사드립니다.. 답변을 보고 다음과 같이 바꿔보았는데요 if 문에서 Operator not applicable ...
    • 최용일
      2002.09.07 03:47
      안녕하세요. 최용일입니다. 위에서 Short(2바이트)으로 했는데 Win32에서 포인터는 4바이트입니다. 때...
    • 스말(^___^)
      2002.09.07 03:58
    • 최수림
    • 2002.09.06 23:52
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2002.09.07 00:36
      만약 첫번째 Row를 선택하려면 ListView1.Items[0].Selected := true; 이런식으로 해주시면 되요.
    • 델사랑
    • 2002.09.06 23:14
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2002.09.07 01:20
      파라독스는 십만건정도까지는 무난하다고 말하며 억세스는 백만건정도까지 무난하다고 얘기를 들었습니다....
    • 김동완
    • 2002.09.06 23:10
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 최석기
      2002.09.06 23:41
      shl과 shr이 있습니다.
    • 김상수
    • 2002.09.06 21:46
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 버섯
      2002.09.06 22:40
      델파이 객체에는 프로퍼티와 이벤트와 메쏘드가 있습니다. query1 <-- Tdataset 에서 파생된 Tquery ...
    • 황선욱
      2002.09.06 21:59
      답변을 다 쓰보네요. 기분 괜찮네..   with DM.Query5 do begin      c...
    • 성더기
      2002.09.08 01:12
      insert select 문을 써보세요 insert into table_a (fld_a, fld_b) select fld_a, fld_b from table_b ...
    • 김영남
      2002.09.06 22:25
      BatchMove  컴포넌트를 사용해 보시죠?
    • 버섯
      2002.09.06 22:22
      프로그램에서 테이블을 매번 복사하는게 좀 이해가 안가네요.. 혹시 같은 서버에서 데이터베이스가 ...
    • 김기자
    • 2002.09.06 21:09
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 버섯
      2002.09.06 22:43
      저는 active-x 폼으로 만들어서 배포한적이 있는데... midas.dll 만 복사해두시면 자동으로 업그래이드 ...
    • 버섯
      2002.09.06 22:45
      C++ 빌더를 먼저 설치하시고.. 자료를 찾아서 컴파일 해보심이....
    • 2002.09.06 21:08
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 김영남
      2002.09.06 22:31
      DroppedDown   이 Property를 사용하면 상태를 알 수 있지 않을까요? 그리고 음...참고로 Cal...
    • 2002.09.06 23:51
      감사합니다...^^ DroppedDown은 다음달로 넘어갈때에도 속성이 TRUE가 되는군요.. CloseUp을 사용하니 되...
    • 최병련
    • 2002.09.06 20:45
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 궁금이
      2002.09.06 22:54
      QuickReport HTML로 저장할려고 하면 TQRShape 가 지원이 안될꺼에요. 저도 이 문제 때문에  qu...
    • 우이
    • 2002.09.06 20:30
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 홍성락
      2002.09.07 03:03
      hsr////////////////////////////////////////////////// 위 컴포넌트는 안써보았으나 한글처리 예제를 보...
    • 우이
      2002.09.07 04:12
      주신 글 감사드립니다.... 적용해보았는데..한글부분 출력은 않돼네요.. 저에게 주신소스는 프린터기...
    • 아폴론
    • 2002.09.06 20:18
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 조덕진
      2002.09.13 05:30
      SQL문을 서버에 놓고 필요할때 가져다 쓴다는 것은 아마도 스토어드 프로시져를 말하시는 것 같네요. ...
    • KDDG_ZZOM
      2002.09.06 20:41
      어떤걸 물어보신건지??? 오라클경우는 사용자가 함수나, 프로시져, 뷰등을 먼저 생성한후 사용하시면 편...
    • 이추형
      2002.09.06 20:40
      난감한 질문이십니다. ^.^ 암튼 쉽게 말씀드리면 SQL문을 실행시키는데 섭에서(DB서버) 실행시키는 방법...
    • 이추형
      2002.09.07 01:23
      이미지를 디비에 저장 하는방법은 좋지 않다고 들었습니다. 용량이 장난 아니게 늘어나니까요 특히 b...