Form1->DBGrid1->DataSource->DataSet->GotoBookMark((void*)(SelectedRows->Items[i]));
이 부분에서
[C++ Error] Form4_Unit25.cpp(120): E2031 Cannot cast from 'AnsiString' to 'void *'
이런 에러가 뜨네요? 이게 뭔가요.........?
db는 쿼리로 연결했습니다.
허정주 님이 쓰신 글 :
: int i; // 유닛변수
:
: void __fastcall TForm9::QuickRep1NeedData(TObject *Sender, bool &MoreData)
: {
: MoreData = (Form1->DBGrid1->SelectedRows->Count > i); //선택한 레코드 만큼 실행.
: }
:
: void __fastcall TForm9::DetailBand1BeforePrint(TQRCustomBand *Sender, bool &PrintBand)
: {
: Form1->DBGrid1->DataSource->DataSet->GotoBookMark((void*)(SelectedRows->Items[i]));
: QRLabel1->Caption = Form1->DBGrid1->DataSource->DataSet->FieldByName("Hanbun")->AsString;
: i++;
: }
:
: void __fatscall TForm9::QuickRep1BeforePrint(TCustomQuickRep *Sender, bool &PrintReport)
: {
: i = 0;
: }
:
:
: rrr 님이 쓰신 글 :
: : var
: : i: Integer; // 유닛변수
: : procedure TForm9.QuickRep1NeedData(Sender: TObject; var MoreData: Boolean);
: : begin
: : MoreData := Form1.DBGrid1.SelectedRows.Count > i; //선택한 레코드 만큼 실행.
: : end;
: :
: : procedure TForm9.DetailBand1BeforePrint(Sender: TQRCustomBand;
: : var PrintBand: Boolean);
: : begin
: : with Form1.DBGrid1 do begin
: : //선택한 레코드로 DB커서 이동
: : DataSource.DataSet.GotoBookMark(Pointer(SelectedRows.Items[i]));
: : // QRLabel에 Data를 넘긴다.
: : QRLabel1.Caption := DataSource.DataSet.FieldByName('Hanbun').AsString;
: : end;
: : inc(i);
: : end;
: :
: : procedure TForm9.QuickRep1BeforePrint(Sender: TCustomQuickRep;
: : var PrintReport: Boolean);
: : begin
: : i := 0; //유닛변수 초기화
: : end;
: :
: :
: : ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
: :
: :
http://www.delphiunion.com/dwp/QR/qreport.htm
: : 퀵리포트백서 사이트에서 dbgrid의 선택한 레코드만 출력하는 코드인데
: : 빌더에선 어떻게 써야할지 모르겠네요.
: :
: : 아시는분 코드좀 바꿔주세요 ㅎㅎ