📄 yddmsz.~cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "YDdmsz.h"
#include "YDdatam.h"
#include "YDmain.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TFpqdm *Fpqdm;
TTreeNode * Node0,*Node1,*j;
//---------------------------------------------------------------------------
__fastcall TFpqdm::TFpqdm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TFpqdm::FormCreate(TObject *Sender)
{
YDData->TBpqdm->Open();
YDData->TBhsdw->Open();
AnsiString bmgs=YDData->TBhsdw->FieldByName("XT_PQBM")->AsString;
Label2->Caption=bmgs;
Narefresh();
Refreshtree();
}
//---------------------------------------------------------------------------
void __fastcall TFpqdm::SpeedButton5Click(TObject *Sender)
{
if (SpeedButton5->Caption=="新增")
{
DBEdit1->SetFocus();
YDData->TBpqdm->Append();
Modify();
}
else
{
AnsiString gs=YDData->TBhsdw->FieldByName("XT_PQBM")->AsString;
int c1,c2,c3,c4;
c1=StrToInt(gs.SubString(1,1));
c2=StrToInt(gs.SubString(3,1));
c3=StrToInt(gs.SubString(5,1));
c4=StrToInt(gs.SubString(7,1));
if (Trim(DBEdit1->Text).Length()==c1||Trim(DBEdit1->Text).Length()==c1+c2||
Trim(DBEdit1->Text).Length()==c1+c2+c3||Trim(DBEdit1->Text).Length()==c1+c2+c3+c4)
{
try
{
YDData->TBpqdm->Post();
YDData->TBpqdm->Close();
YDData->TBpqdm->Open();
Refreshtree();
Browse();
}
catch (...)
{
MessageBox(NULL,"片区代码重复或名称为空,请重新输入!","提示",MB_OK|MB_ICONWARNING);
return;
}
}
else
{
MessageBox(NULL,"片区代码长度不符合预定格式,请重新出入!","提示",MB_OK|MB_ICONWARNING);
DBEdit1->Text="";
return;
}
}
}
//---------------------------------------------------------------------------
void __fastcall TFpqdm::FormClose(TObject *Sender, TCloseAction &Action)
{
delete Node0,Node1,j;
Fmain->gnjs(Fmain->tcjc);
YDData->TBpqdm->Close();
YDData->TBhsdw->Close();
// Action = caFree;
}
//---------------------------------------------------------------------------
void TFpqdm::Modify()
{
//TODO: Add your source code here
SpeedButton5->Caption="保存";
SpeedButton6->Caption="还原";
SpeedButton5->Glyph->LoadFromFile("c:\\ydgl_c\\bmps\\save.bmp");
SpeedButton6->Glyph->LoadFromFile("c:\\ydgl_c\\bmps\\Undo.bmp");
SpeedButton1->Enabled=false;
SpeedButton2->Enabled=false;
SpeedButton3->Enabled=false;
SpeedButton4->Enabled=false;
SpeedButton7->Enabled=false;
SpeedButton8->Enabled=false;
SpeedButton9->Enabled=false;
SpeedButton10->Enabled=false;
TreeView1->Enabled=false;
DBGrid1->Enabled=false;
DBEdit1->ReadOnly=false;
DBEdit2->ReadOnly=false;
DBMemo1->ReadOnly=false;
}
void TFpqdm::Browse()
{
//TODO: Add your source code here
SpeedButton5->Caption="新增";
SpeedButton6->Caption="修改";
SpeedButton5->Glyph->LoadFromFile("c:\\ydgl_c\\bmps\\add.bmp");
SpeedButton6->Glyph->LoadFromFile("c:\\ydgl_c\\bmps\\wzedit.bmp");
SpeedButton1->Enabled=true;
SpeedButton2->Enabled=true;
SpeedButton3->Enabled=true;
SpeedButton4->Enabled=true;
SpeedButton7->Enabled=true;
SpeedButton8->Enabled=true;
SpeedButton9->Enabled=true;
SpeedButton10->Enabled=true;
TreeView1->Enabled=true;
DBGrid1->Enabled=true;
DBEdit1->ReadOnly=true;
DBEdit2->ReadOnly=true;
DBMemo1->ReadOnly=true;
}
void TFpqdm::Narefresh()
{
SpeedButton1->Enabled=!YDData->TBpqdm->Bof;
SpeedButton2->Enabled=!YDData->TBpqdm->Bof;
SpeedButton3->Enabled=!YDData->TBpqdm->Eof;
SpeedButton4->Enabled=!YDData->TBpqdm->Eof;
if(YDData->TBpqdm->Eof&&YDData->TBpqdm->Bof)
{
SpeedButton1->Enabled=false;
SpeedButton2->Enabled=false;
SpeedButton3->Enabled=false;
SpeedButton4->Enabled=false;
SpeedButton7->Enabled=false;
SpeedButton8->Enabled=false;
};
}
//---------
void __fastcall TFpqdm::SpeedButton2Click(TObject *Sender)
{
YDData->TBpqdm->Prior();
Narefresh();
}
//---------------------------------------------------------------------------
void __fastcall TFpqdm::SpeedButton1Click(TObject *Sender)
{
YDData->TBpqdm->First();
Narefresh();
}
//---------------------------------------------------------------------------
void __fastcall TFpqdm::SpeedButton3Click(TObject *Sender)
{
YDData->TBpqdm->Next();
Narefresh();
}
//---------------------------------------------------------------------------
void __fastcall TFpqdm::SpeedButton4Click(TObject *Sender)
{
YDData->TBpqdm->Last();
Narefresh();
}
//---------------------------------------------------------------------------
void __fastcall TFpqdm::SpeedButton6Click(TObject *Sender)
{
if (SpeedButton6->Caption=="修改")
{
YDData->TBpqdm->Edit();
Modify();
}
else
{
YDData->TBpqdm->Cancel();
Browse();
}
}
//---------------------------------------------------------------------------
void __fastcall TFpqdm::SpeedButton7Click(TObject *Sender)
{
if ( Application->MessageBox("真的要删除当前片区吗?","提示", MB_YESNO|MB_ICONQUESTION)==IDYES)
{
YDData->TBpqdm->Delete();
Refreshtree();
};
}
//---------------------------------------------------------------------------
void __fastcall TFpqdm::SpeedButton10Click(TObject *Sender)
{
Close();
}
//---------------------------------------------------------------------------
void __fastcall TFpqdm::TreeView1Click(TObject *Sender)
{
int zzz;
zzz=TreeView1->Selected->Text.AnsiPos(":");
AnsiString jdmc=TreeView1->Selected->Text.SubString(1,zzz-1);
YDData->TBpqdm->First();
while (!YDData->TBpqdm->Eof)
{
if (YDData->TBpqdm->FieldByName("pqdm")->AsString==jdmc)break;
YDData->TBpqdm->Next();
}
}
//------------------------------------------------
bool TFpqdm::bljd(AnsiString jdmc)
{
bool y=false;
j=TreeView1->Items->GetFirstNode();
while(j)
{
if (j->Text.SubString(1,j->Text.AnsiPos(":")-1)==jdmc)
{
j->Selected=true;
y=true;
return y;
}
j=j->GetNext();
}
return y;
}
//---------------------------------------------------------------------------
void TFpqdm::Refreshtree()
{
//
if (YDData->TBpqdm->RecordCount==0)return;
TreeView1->Items->Clear();
Node0=TreeView1->Items->Add(NULL,"全部片区");
AnsiString pqdm;
AnsiString pqmc;
AnsiString gs=YDData->TBhsdw->FieldByName("XT_PQBM")->AsString;
int c1,c2,c3,c4;
c1=StrToInt(gs.SubString(1,1));
c2=StrToInt(gs.SubString(3,1));
c3=StrToInt(gs.SubString(5,1));
c4=StrToInt(gs.SubString(7,1));
YDData->TBpqdm->First();
while (!YDData->TBpqdm->Eof)
{
pqdm=Trim(YDData->TBpqdm->FieldByName("pqdm")->AsString);
pqmc=Trim(YDData->TBpqdm->FieldByName("pqmc")->AsString);
if (pqdm.Length()==c1)
{
Node1=TreeView1->Items->AddChild(Node0,pqdm+":"+pqmc);
}
YDData->TBpqdm->Next();
}
YDData->TBpqdm->First();
while (!YDData->TBpqdm->Eof)
{
pqdm=Trim(YDData->TBpqdm->FieldByName("pqdm")->AsString);
pqmc=Trim(YDData->TBpqdm->FieldByName("pqmc")->AsString);
if (pqdm.Length()==c1+c2&&bljd(pqdm.SubString(1,c1)))
{
Node1=TreeView1->Selected;
TreeView1->Items->AddChild(Node1,pqdm+":"+pqmc);
}
YDData->TBpqdm->Next();
}
YDData->TBpqdm->First();
while (!YDData->TBpqdm->Eof)
{
pqdm=Trim(YDData->TBpqdm->FieldByName("pqdm")->AsString);
pqmc=Trim(YDData->TBpqdm->FieldByName("pqmc")->AsString);
if (pqdm.Length()==c1+c2+c3&&bljd(pqdm.SubString(1,c1+c2)))
{
Node1=TreeView1->Selected;
TreeView1->Items->AddChild(Node1,pqdm+":"+pqmc);
}
YDData->TBpqdm->Next();
}
YDData->TBpqdm->First();
while (!YDData->TBpqdm->Eof)
{
pqdm=Trim(YDData->TBpqdm->FieldByName("pqdm")->AsString);
pqmc=Trim(YDData->TBpqdm->FieldByName("pqmc")->AsString);
if (pqdm.Length()==c1+c2+c3+c4&&bljd(pqdm.SubString(1,c1+c2+c3)))
{
Node1=TreeView1->Selected;
TreeView1->Items->AddChild(Node1,pqdm+":"+pqmc);
}
YDData->TBpqdm->Next();
}
TreeView1->FullExpand();
TreeView1->AlphaSort();
}
//--------------------------------------
void __fastcall TFpqdm::FormKeyPress(TObject *Sender, char &Key)
{
if(Key==VK_RETURN)
{
SendMessage(this->Handle,WM_NEXTDLGCTL,0,0);
Key=0;
}
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -