⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ebarmegademomain.cpp

📁 胜天进销存源码,国产优秀的进销存
💻 CPP
📖 第 1 页 / 共 3 页
字号:
//---------------------------------------------------------------------------

void __fastcall TEBarMegaDemoMainForm::dxCityComboChange(TObject *Sender)
{
  SetFilter();
}
//---------------------------------------------------------------------------

void __fastcall TEBarMegaDemoMainForm::SetFilter(void)
{
const
  String PaymentStr[] = {"CASH", "VISA", "MASTER", "AMEX"};

  AnsiString Filter, S;
  int i;

  Filter = "";

  if (dxCityCombo->Text != "")
    if (dxCityCombo->SelectedNode->Count == 0) Filter = "City = '"+dxCityCombo->Text+"'";
   else
     {
       for( i= 0; i < dxCityCombo->SelectedNode->Count; i++)
         if (Filter == "") Filter = Filter + "( City = '" + dxCityCombo->SelectedNode->Item[i]->Text+"' )";
         else Filter = Filter + " or ( City = '" + dxCityCombo->SelectedNode->Item[i]->Text+"' )";
     };

 if (Filter != "") Filter = "(" + Filter + ")";

 if (dxProductsCombo->Text != "")
   if (Filter == "") Filter = "( ProductID = " +EBarMegaDemoMainDM->tblProducts->FieldByName("ID")->AsString + ")";
   else Filter = Filter + " and ( ProductID = " +EBarMegaDemoMainDM->tblProducts->FieldByName("ID")->AsString + ")";


 if (dxDate->Text != "")
   if (Filter == "") Filter = "( PurchaseDate = '" + DateToStr(dxDate->Date) + "')";
   else Filter = Filter + " and ( PurchaseDate = '" + DateToStr(dxDate->Date) + "')";

 if (dxTypeCombo->Text != "")
   if (Filter == "") Filter = "( PaymentType = '" + PaymentStr[dxTypeCombo->ItemIndex] + "')";
   else Filter = Filter + " and ( PaymentType = '" + PaymentStr[dxTypeCombo->ItemIndex] + "')";

 EBarMegaDemoMainDM->tblContacts->Filter = Filter;
 EBarMegaDemoMainDM->tblContacts->Filtered = true;

};

void __fastcall TEBarMegaDemoMainForm::dxClearBtnClick(TObject *Sender)
{
 dxCityCombo->Text = "";
 dxProductsCombo->KeyValue = NULL;
 dxProductsCombo->Text = "";
 dxDate->Text = "";
 dxTypeCombo->ItemIndex = -1;
 EBarMegaDemoMainDM->tblContacts->Filter = "";
 EBarMegaDemoMainDM->tblContacts->Filtered = false;
}
//---------------------------------------------------------------------------

void __fastcall TEBarMegaDemoMainForm::dxOptionsClick(TObject *Sender)
{
 EBarMegaDemoOptionsForm->Show();
}
//---------------------------------------------------------------------------

void __fastcall TEBarMegaDemoMainForm::ProgressChange(TObject *Sender,
      long Progress, long ProgressMax)
{
  dxBarProgress->Max = ProgressMax;
  dxBarProgress->Position = Progress;
}
//---------------------------------------------------------------------------


void __fastcall TEBarMegaDemoMainForm::FindDialogFind(TObject *Sender)
{

  TFindDialog *ADialog = ((TFindDialog*) Sender);
  int StartPos, FindLength, FoundAt;
  TSearchTypes Flags;
  TPoint P;
  RECT R, CaretR, IntersectR;

  if (ADialog->Options.Contains(frDown))
  {
    if (Editor->SelLength == 0) StartPos = Editor->SelStart;
    else StartPos = Editor->SelStart + Editor->SelLength;
    FindLength = Editor->Text.Length() - StartPos;
  }
  else
  {
    StartPos = Editor->SelStart;
    FindLength = -StartPos;
  }
  Flags.Clear();
  if (ADialog->Options.Contains(frMatchCase)) Flags << stMatchCase;
  if (ADialog->Options.Contains(frWholeWord)) Flags << stWholeWord;
  Screen->Cursor = crHourGlass;
  FoundAt = Editor->FindText(ADialog->FindText, StartPos, FindLength, Flags);
  if (!(ADialog->Options.Contains(frReplaceAll))) Screen->Cursor = crDefault;
  if (FoundAt > -1)
    if (ADialog->Options.Contains(frReplaceAll))
    {
      Editor->SelStart = FoundAt;
      Editor->SelLength = ADialog->FindText.Length();
    }
    else
    {
      Editor->SetFocus();
      Editor->SelStart = FoundAt;
      Editor->SelLength = ADialog->FindText.Length();

      GetCaretPos(&P);
      P = Editor->ClientToScreen(P);
      CaretR = Rect(P.x, P.y, P.x + 2, P.y + 20);
      GetWindowRect(Editor->Handle, &R);
      if (IntersectRect(&IntersectR, &CaretR, &R))
        if (P.y < Screen->Height / 2)
          ADialog->Top = P.y + 40;
        else
          ADialog->Top = P.y - (R.bottom - R.top + 20);
      if (ADialog->Top < 0) ADialog->Top = 0;    
    }
  else
    if (!(ADialog->Options.Contains(frReplaceAll)))
      Application->MessageBox(sRichEditTextNotFound,
        sRichEditFoundResultCaption, MB_ICONINFORMATION);
}
//---------------------------------------------------------------------------

void __fastcall TEBarMegaDemoMainForm::ReplaceDialogReplace(TObject *Sender)
{
  TReplaceDialog *ADialog = ((TReplaceDialog*) Sender);
  int ReplacedCount, OldSelStart, PrevSelStart;
  AnsiString S;

  ReplacedCount = 0;
  OldSelStart = Editor->SelStart;
  if (ADialog->Options.Contains(frReplaceAll)) Screen->Cursor = crHourGlass;
  do
  {
    if ((Editor->SelLength > 0) && ((Editor->SelText == ADialog->FindText) ||
      (!(ADialog->Options.Contains(frMatchCase)) &&
       (AnsiUpperCase(Editor->SelText) == AnsiUpperCase(ADialog->FindText)))))
    {
      Editor->SelText = ADialog->ReplaceText;
      ReplacedCount++;
    }
    PrevSelStart = Editor->SelStart;
    FindDialogFind(Sender);
  }
  while (!(!(ADialog->Options.Contains(frReplaceAll)) || (Editor->SelStart == PrevSelStart)));
  if (ADialog->Options.Contains(frReplaceAll))
  {
    Screen->Cursor = crDefault;
    if (ReplacedCount == 0) S = sRichEditTextNotFound;
    else
    {
      Editor->SelStart = OldSelStart;
      S = Format(sRichEditReplaceAllResult, ARRAYOFCONST((ReplacedCount)));
    }
    Application->MessageBox(S.c_str(), sRichEditFoundResultCaption,
      MB_ICONINFORMATION);
  }
}
//---------------------------------------------------------------------------

void __fastcall TEBarMegaDemoMainForm::DocumentComplete(TObject *Sender, LPDISPATCH pDisp,
    #if (__BORLANDC__ == 0x540) && (__BORLANDC__ < 0x550)  // BCB = 4
      void
    #endif
    #if (__BORLANDC__ >= 0x550) && (__BORLANDC__ < 0x560) // BCB = 5
      TVariant
    #endif
    #if __BORLANDC__ >= 0x560 // BCB = 6
    tagVARIANT
    #endif
    * URL)
{
   dxBarProgress->Position = 0;
}

//---------------------------------------------------------------------------
void __fastcall TEBarMegaDemoMainForm::BeforeNavigate(TObject *Sender, LPDISPATCH pDisp,
    #if (__BORLANDC__ >= 0x550) && (__BORLANDC__ < 0x560) // BCB = 5
    TVariant* URL, TVariant* Flags, TVariant* TargetFrameName, TVariant* PostData, TVariant* Headers, TOLEBOOL* Cancel
    #elif (__BORLANDC__ == 0x540) && (__BORLANDC__ < 0x550)  // BCB = 4
    void* URL, void* Flags, void* TargetFrameName, void* PostData, void* Headers, void* Cancel
    #else
    tagVARIANT* URL, tagVARIANT* Flags, tagVARIANT* TargetFrameName, tagVARIANT* PostData, tagVARIANT* Headers, short* Cancel
    #endif
    )
{
  int NewIndex, i;
  AnsiString NAddress;
  TdxBarItemLink *AItemLink;
  #if __BORLANDC__  > 0x530   // BCB version > 3
  TVariant* AURL = (TVariant*)URL;
  #else
  Variant AURL = *URL;
  #endif

  #if __BORLANDC__  > 0x530   // BCB version > 3
  NAddress = *AURL;
  #else
  NAddress = AURL;
  #endif
  if (NAddress == "") NAddress = Address;
  if (NAddress == "") return;

  NewIndex = HistoryList->IndexOf(NAddress);
  if (NewIndex == -1) {
    HistoryList->Add(NAddress);
    NewIndex = HistoryList->IndexOf(NAddress);
  };

  UpdateCombo = false;
  dxAddressCombo->Text = NAddress;
  UpdateCombo = true;


  ForwardPopupMenu->ItemLinks->Clear();
  for( i = HistoryList->Count - 1; i >= NewIndex + 1; i--) {
       AItemLink = ForwardPopupMenu->ItemLinks->Add();
       AItemLink->Index = 0;
       AItemLink->Item = dxBarHistory;
       AItemLink->UserCaption = HistoryList->Strings[i];
     };

  BackPopupMenu->ItemLinks->Clear();
  for( i = 0; i< NewIndex; i++) {
       AItemLink = BackPopupMenu->ItemLinks->Add();
       AItemLink->Index = 0;
       AItemLink->Item = dxBarHistory;
       AItemLink->UserCaption = HistoryList->Strings[i];
     }

  HistoryIndex = NewIndex;

  if (HistoryIndex == 0) {
    dxBackBtn->Enabled = false;
    dxIEBackBtn->Enabled = false;
  }
  else
  {
    dxBackBtn->Enabled = true;
    dxIEBackBtn->Enabled = true;
  };

  if (HistoryIndex == HistoryList->Count - 1) {
    dxForwardBtn->Enabled = false;
    dxIEForwardBtn->Enabled = false;
  }
  else
  {
    dxForwardBtn->Enabled = true;
    dxIEForwardBtn->Enabled = true;
  };
}

void __fastcall TEBarMegaDemoMainForm::StatusTextChange(TObject * Sender, BSTR Text)
{
  if ((String)Text == "")
    dxBSIEStatus->Caption = "Done";
  else
    dxBSIEStatus->Caption = TCaption(Text);

}

void __fastcall TEBarMegaDemoMainForm::TitleChange(TObject * Sender, BSTR Text)
{
    Caption = (TCaption)Text;
}

void __fastcall TEBarMegaDemoMainForm::dxBarComboFontSizeChange(TObject *Sender)
{
  if (! FUpdating)
    Editor->SelAttributes->Size = StrToInt(dxBarComboFontSize->Text);
}
//---------------------------------------------------------------------------

void __fastcall TEBarMegaDemoMainForm::dxBarComboFontSizeClick(TObject *Sender)
{
  FontDialog->Font->Assign(Editor->SelAttributes);
  if (FontDialog->Execute())
    Editor->SelAttributes->Assign(FontDialog->Font);
}
//---------------------------------------------------------------------------


void __fastcall TEBarMegaDemoMainForm::tContactsCalcFields(TDataSet *DataSet)
{
  DataSet->FieldByName("CustName")->AsString = DataSet->FieldByName("FirstName")->AsString +
    " " + DataSet->FieldByName("LastName")->AsString;
}
//---------------------------------------------------------------------------

void __fastcall TEBarMegaDemoMainForm::dxProductsComboChange(
      TObject *Sender)
{
  SetFilter();
}
//---------------------------------------------------------------------------
void __fastcall TEBarMegaDemoMainForm::dxDateChange(TObject *Sender)
{
  SetFilter();
}
//---------------------------------------------------------------------------

void __fastcall TEBarMegaDemoMainForm::dxTypeComboChange(TObject *Sender)
{
  SetFilter();
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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