void CodeVerifierBase::DeclareRow(char const * text) { auto & shard = m_index.GetIngestor().GetShard(c_shardId); m_rowOffsets.push_back( GetRowOffset( text, c_streamId, m_index.GetConfiguration(), m_index.GetTermTable0(), shard)); }
//-------------------------------------------------------------------- // @mfunc Fetch row data into the internal data buffer // // @rdesc HRESULT // @flag S_OK | Row Retrieved successfully // @flag S_FALSE | End of Result Set // @flag E_FAIL | Row could not be retrieved // HRESULT CParseInitFile::FetchRow(DBCOUNTITEM iRow) { TRACE_CALL(L"PRIVLIB: CParseInitFile::FetchRow.\n"); //NOTE: iRow is 1-based. //Validate arguments if(iRow == 0 || iRow > m_cRows) return E_FAIL; //Make sure we have the file open! if(!is_open()) return E_FAIL; //Seek to the current Row offset seekg((LONG)GetRowOffset(iRow)); //64bit TODO - // Retrieve the column names record return GetNextLine(m_pvInput, MAX_INPUT_BUFFER); }
unsigned long UserWinProcedure(HWND Window,HMSG Message,long Param1,long Param2) { int hlist,i,j; float Midf; switch (Message) { case DIALOGBOXOK: GetPrintPara(); if (PG.Blocks>0) PG.Enable=1; else PG.Enable=0; return(DialogDefaultProcedure(Window, Message, Param1, Param2)); case DIALOGBOXCANCEL: PG.Enable=0; return(DialogDefaultProcedure(Window, Message, Param1, Param2)); case REDRAWMESSAGE: i=DialogDefaultProcedure(Window, Message, Param1, Param2); WaitMessageEmpty(); InitOver=1; InitPrintCut(); CurrentBlock=0; SetPrintPara(); REFLASH; MessageInsert(PrintCutWin[wPAGEADDWIN],WINDOWINIT,0l,0l); ListSetCurrent(WindowList(PrintCutWin[wPAGEADDWIN]),CurrentBlock); REFLASHADD; return i; break; case WINDOWINIT: InitOver=0; i=DialogDefaultProcedure(Window, Message, Param1, Param2); //WaitMessageEmpty(); return i; break; case ADDWIN: GetPrintPara(); if (PG.Blocks<99) PG.Blocks++; CurrentBlock=PG.Blocks-1; if (CurrentBlock>0) CopyBlock(CurrentBlock,CurrentBlock-1); else InitBlock(CurrentBlock); SetPrintPara(); hlist = WindowList(PrintCutWin[wPAGEADDWIN]); MessageGo(PrintCutWin[wPAGEADDWIN],WINDOWINIT,0,0); MessageGo(PrintCutWin[wPAGEADDWIN],WMPAINT,0,ListGetHeight(hlist)*CHARHEIGHT); if (CurrentBlock>=7) ListSetTop(hlist,CurrentBlock-7); else ListSetTop(hlist,0); ListSetCurrent(hlist,CurrentBlock); MessageGo(PrintCutWin[wPAGEADDWIN],REDRAWMESSAGE,0L, MAKELONG(WindowGetWidth(PrintCutWin[wPAGEADDWIN]), WindowGetHeight(PrintCutWin[wPAGEADDWIN])) ); //MessageGo(PrintCutWin[wPAGEADDWIN],KEYDOWN,UP,0l); //MessageGo(PrintCutWin[wPAGEADDWIN],KEYDOWN,DOWN,0l); //ListSetTop(hlist,0); REFLASH; break; case DELETEWIN: GetPrintPara(); for (i=CurrentBlock+1;i<PG.Blocks;i++) CopyBlock1(i-1,i); if (PG.Blocks>0) PG.Blocks--; if (CurrentBlock>=PG.Blocks&&CurrentBlock) CurrentBlock=PG.Blocks-1; SetPrintPara(); hlist = WindowList(PrintCutWin[wPAGEADDWIN]); MessageGo(PrintCutWin[wPAGEADDWIN],WINDOWINIT,0,0); MessageGo(PrintCutWin[wPAGEADDWIN],WMPAINT,0,ListGetHeight(hlist)*CHARHEIGHT); if (CurrentBlock>=7) ListSetTop(hlist,CurrentBlock-7); else ListSetTop(hlist,0); ListSetCurrent(hlist,CurrentBlock); MessageGo(PrintCutWin[wPAGEADDWIN],REDRAWMESSAGE,0L, MAKELONG(WindowGetWidth(PrintCutWin[wPAGEADDWIN]), WindowGetHeight(PrintCutWin[wPAGEADDWIN])) ); REFLASH; break; case DELETETAILWIN: GetPrintPara(); PG.Blocks=CurrentBlock; if (CurrentBlock>=PG.Blocks&&CurrentBlock) CurrentBlock=PG.Blocks-1; SetPrintPara(); hlist = WindowList(PrintCutWin[wPAGEADDWIN]); MessageGo(PrintCutWin[wPAGEADDWIN],WINDOWINIT,0,0); MessageGo(PrintCutWin[wPAGEADDWIN],WMPAINT,0,ListGetHeight(hlist)*CHARHEIGHT); if (CurrentBlock>=7) ListSetTop(hlist,CurrentBlock-7); else ListSetTop(hlist,0); ListSetCurrent(hlist,CurrentBlock); MessageGo(PrintCutWin[wPAGEADDWIN],REDRAWMESSAGE,0L, MAKELONG(WindowGetWidth(PrintCutWin[wPAGEADDWIN]), WindowGetHeight(PrintCutWin[wPAGEADDWIN])) ); REFLASH; break; case COPYWIN: i=GetPrintPara(); if (i<0) switch(i) { case -99: { if (MessageBox("设置打印纸"," 确认您的打印机可使用\n" " 您所定义的纸张大小, \n" " 否则,打印可能出错!" ,2,1)) break; } PaperW=Tmp1; PaperH=Tmp2; if (PaperW<20.0) PaperW=20.0; if (PaperW>1100.0) PaperW=1100.0; if (PaperH<20.0) PaperH=20.0; if (PaperH>1100.0) PaperH=1100.0; printer->xpixel=PaperW*PrinterDPI/25.4; printer->ypixel=PaperH*PrinterDPI/25.4; InitPrintCut(); break; case -5: //Tmp1 = Scale Tmp2=PageH*Tmp4; Tmp1=PageW*Tmp3; if (PG.Blocks) { j=(PG.PageBlock[0].Rotate&1); } else j=0; if (j) { Midf=Tmp2; Tmp2=Tmp1; Tmp1=Midf; } case -1: if (Tmp1>5.0f) { Midf=0.0f; ColLeadNum=0; while (Midf+Tmp1<PaperW) { Midf +=Tmp1; ColLead[ColLeadNum++]=Midf; } } if (Tmp2>5.0f) { Midf=0.0f; RowLeadNum=0; while (Midf+Tmp1<PaperH) { Midf +=Tmp2; RowLead[RowLeadNum++]=Midf; } } break; case -2: ColLeadNum=0; RowLeadNum=0; break; case -3: ColLeadNum=0; break; case -4: RowLeadNum=0; break; case -6: //Auto Scale Fit if (!PG.Blocks) break; PG.Blocks=0; CurrentBlock=0; hlist=PG.PageBlock[0].Rotate; for (i=0;i<RowLeadNum;i++) { for (j=0;j<ColLeadNum;j++) { if (GetColWidth(j)-5.0f>Tmp1+Tmp3&& GetRowHeight(i)-5.0f>Tmp2+Tmp4) { if (hlist&1) { PG.PageBlock[PG.Blocks].Yscale=(GetColWidth(j)-Tmp1-Tmp3)/PageH; PG.PageBlock[PG.Blocks].Xscale=(GetRowHeight(i)-Tmp2-Tmp4)/PageW; } else { PG.PageBlock[PG.Blocks].Xscale=(GetColWidth(j)-Tmp1-Tmp3)/PageW; PG.PageBlock[PG.Blocks].Yscale=(GetRowHeight(i)-Tmp2-Tmp4)/PageH; } PG.PageBlock[PG.Blocks].Xoffset=GetColOffset(j)+Tmp1; PG.PageBlock[PG.Blocks].Yoffset=GetRowOffset(i)+Tmp3; PG.PageBlock[PG.Blocks].PageOffset=0; PG.PageBlock[PG.Blocks++].Rotate=hlist; } if (PG.Blocks>=99) break; } if (PG.Blocks>=99) break; } break; case -7: //Auto Scale Fit if (!PG.Blocks) break; PG.Blocks=0; CurrentBlock=0; hlist=PG.PageBlock[0].Rotate; for (i=0;i<=RowLeadNum;i++) { for (j=0;j<=ColLeadNum;j++) { if (GetColWidth(j)-5.0f>Tmp1+Tmp3&& GetRowHeight(i)-5.0f>Tmp2+Tmp4) { if (hlist&1) { PG.PageBlock[PG.Blocks].Yscale=(GetColWidth(j)-Tmp1-Tmp3)/PageH; PG.PageBlock[PG.Blocks].Xscale=(GetRowHeight(i)-Tmp2-Tmp4)/PageW; } else { PG.PageBlock[PG.Blocks].Xscale=(GetColWidth(j)-Tmp1-Tmp3)/PageW; PG.PageBlock[PG.Blocks].Yscale=(GetRowHeight(i)-Tmp2-Tmp4)/PageH; } PG.PageBlock[PG.Blocks].Xoffset=GetColOffset(j)+Tmp1; PG.PageBlock[PG.Blocks].Yoffset=GetRowOffset(i)+Tmp3; PG.PageBlock[PG.Blocks].PageOffset=0; PG.PageBlock[PG.Blocks++].Rotate=hlist; } if (PG.Blocks>=99) break; } if (PG.Blocks>=99) break; } break; case -8: if (!PG.Blocks) break; PG.Blocks=0; CurrentBlock=0; for (i=0;i<RowLeadNum;i++) { for (j=0;j<ColLeadNum;j++) { if (GetColWidth(j)-5.0f>Tmp1&& GetRowHeight(i)-5.0f>Tmp2) { PG.PageBlock[PG.Blocks].Xoffset=GetColOffset(j)+Tmp1; PG.PageBlock[PG.Blocks].Yoffset=GetRowOffset(i)+Tmp2; PG.PageBlock[PG.Blocks].Xscale=PG.PageBlock[0].Xscale; PG.PageBlock[PG.Blocks].Yscale=PG.PageBlock[0].Yscale; PG.PageBlock[PG.Blocks].PageOffset=0; PG.PageBlock[PG.Blocks++].Rotate=PG.PageBlock[0].Rotate; } if (PG.Blocks>=99) break; } if (PG.Blocks>=99) break; } break; case -9: if (!PG.Blocks) break; PG.Blocks=0; CurrentBlock=0; for (i=0;i<=RowLeadNum;i++) { for (j=0;j<=ColLeadNum;j++) { if (GetColWidth(j)-5.0f>Tmp1&& GetRowHeight(i)-5.0f>Tmp2) { PG.PageBlock[PG.Blocks].Xoffset=GetColOffset(j)+Tmp1; PG.PageBlock[PG.Blocks].Yoffset=GetRowOffset(i)+Tmp2; PG.PageBlock[PG.Blocks].Xscale=PG.PageBlock[0].Xscale; PG.PageBlock[PG.Blocks].Yscale=PG.PageBlock[0].Yscale; PG.PageBlock[PG.Blocks].PageOffset=0; PG.PageBlock[PG.Blocks++].Rotate=PG.PageBlock[0].Rotate; } if (PG.Blocks>=99) break; } if (PG.Blocks>=99) break; } break; } REFLASH; REFLASHADD; break; default: return(DialogDefaultProcedure(Window, Message, Param1, Param2)); } /* return(DialogDefaultProcedure(Window, Message, Param1, Param2)); */ return(TRUE); }