nbquery.cpp

来自「一个以前收集的基于C/S架构的ERP客户端源代码」· C++ 代码 · 共 150 行

CPP
150
字号
//---------------------------------------------------------------------------
#include <vcl.h>
#include "NbQuery.h"

//---------------------------------------------------------------------------
#pragma hdrstop
#pragma package(smart_init)
#pragma link "fpanel"
#pragma link "SDComboBox"
#pragma resource "*.dfm"

TfrmNbQuery *frmNbQuery;
TComResultSet *nbRst;
//---------------------------------------------------------------------------

__fastcall TfrmNbQuery::TfrmNbQuery(TComponent* Owner)
        : TStdBaseForm(Owner)
{
    m_RetStatus="";
    m_RetNoteBookCode="";
    m_RetNoteBookName="";
    m_RetStatus="Cancel";
    try
    {
      nbRst=new  TComResultSet(Handle,g_ClientHandle);
      FillGridClass();
      if(sgClass->RowCount>1)
        sgClass->Row=1;
    }
    catch(...)
    {
      Close();
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmNbQuery::FormShow(TObject *Sender)
{
edNoteBookCode->Text="";
}
//---------------------------------------------------------------------------

void __fastcall TfrmNbQuery::btOKClick(TObject *Sender)
{
  int iRow;
  iRow=sgNoteBook->Row;
  if(Trim(edNoteBookCode->Text).IsEmpty())
    Close();
  m_RetNoteBookCode=sgNoteBook->Cells[0][iRow];
    m_RetNoteBookName=sgNoteBook->Cells[1][iRow];
    m_RetStatus="OK";
  Close();
}
//---------------------------------------------------------------------------


void __fastcall TfrmNbQuery::sgNoteBookSelectCell(TObject *Sender,
      int ACol, int ARow, bool &CanSelect)
{
    int iRow;
    iRow=ARow;
    if(iRow>0)
    {
      m_RetNoteBookCode=sgNoteBook->Cells[0][iRow];
      m_RetNoteBookName=sgNoteBook->Cells[1][iRow];
      edNoteBookCode->Text=m_RetNoteBookCode;
    }
}
//---------------------------------------------------------------------------
__fastcall TfrmNbQuery::~TfrmNbQuery()
{
  if(nbRst) delete nbRst;
}

void __fastcall TfrmNbQuery::FillGridClass()
{
 AnsiString ItemStr;
 int i;
    try
    {
      nbRst->Close();
      nbRst->Open("select memo=ClassName+'-'+ClassId,ClassId from sdClass where classid in (select distinct notebookclassid from sdnotebook) order by ClassId","");
      nbRst->MoveFirst();
      sgClass->RowCount=1;
      i=0;
      while(nbRst->Eof == 0)
      {
        ++i;
        ItemStr=IntToStr(i)+"."+nbRst->FieldByName("memo")+"\t"+nbRst->FieldByName("classid");
        sgClass->AddItem(ItemStr);
        nbRst->MoveNext();
      }
    }
    __finally
    {
      nbRst->Close();
    }
}
void __fastcall TfrmNbQuery::sgClassClick(TObject *Sender)
{
    AnsiString ItemStr;
    try
    {
      nbRst->Close();
      nbRst->Open(" select NoteBookCode,NoteBookText from sdNoteBook where NoteBookClassID= '"+
        sgClass->TextMatrix[sgClass->Row][1] +"' order by NoteBookCode ","");
      nbRst->MoveFirst();
      sgNoteBook->RowCount=1;
      while(nbRst->Eof == 0)
      {
        ItemStr=nbRst->FieldByName("NoteBookCode")+"\t"+
                nbRst->FieldByName("NoteBookText");
        sgNoteBook->AddItem(ItemStr);
        nbRst->MoveNext();
      }
    }
    __finally
    {
      nbRst->Close();
    }
}
//---------------------------------------------------------------------------

void __fastcall TfrmNbQuery::edNoteBookCodeKeyPress(TObject *Sender,
      char &Key)
{
  if(Key!=13)
    return;
  //从数所集里查
    try
    {
      sgNoteBook->LocateGrid(0,Trim(edNoteBookCode->Text));
      nbRst->Close();
      nbRst->Open(" select NoteBookCode,NoteBookText from sdNoteBook where NoteBookCode= "+QuotedStr(Trim(edNoteBookCode->Text)),"");
      if(nbRst->RecordCount>0)
      {
        m_RetNoteBookCode=nbRst->FieldByName("NoteBookCode");
        m_RetNoteBookName=nbRst->FieldByName("NoteBookText");
      }
    }
    __finally
    {
      nbRst->Close();
    }


}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?