📄 pinsetform.cpp
字号:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "PinSetForm.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TPinSet *PinSet;
//---------------------------------------------------------------------------
__fastcall TPinSet::TPinSet(TComponent* Owner)
: TForm(Owner)
{
uSCL=0x01;
uSDI=0x02;
uSDO=0x04;
nSCL=0x01;
nSDI=0x02;
nSDO=0x04;
EPP_Port_Addr->AddItem("0x378",this);
Mode_SPP->Checked=TRUE;
SetDataBit(uSDI, uSDO,uSCL);//BYTE nsdo, BYTE nscl);
}
//---------------------------------------------------------------------------
void TPinSet::OnGetSDI(BYTE sdi)
{
uSDI=sdi;
return;
}
//---------------------------------------------------------------------------
void TPinSet::OnGetSDO(BYTE sdo)
{
uSDO=sdo;
return;
}
//---------------------------------------------------------------------------
void TPinSet::OnGetSCL(BYTE scl)
{
uSCL=scl;
return;
}
//---------------------------------------------------------------------------
BYTE TPinSet::OnGetSDI(void)
{
BYTE result;
result=uSDI ;
return result;
}
BYTE TPinSet::OnGetSDO(void)
{
BYTE result;
result=uSDO ;
return result;
}
//---------------------------------------------------------------------------
BYTE TPinSet::OnGetSCL(void)
{
BYTE result;
result=uSCL;
return result;
}
//---------------------------------------------------------------------------
void __fastcall TPinSet::CheckSCLBit(BYTE NO)
{
//TODO: Add your source code here
bool T=FALSE;
if(NO>0X80)
return;
if(NO==0x00)
{
T=SDO_D0->Checked|SDI_D0->Checked;
if(T)
{
SCL_D0->Checked=FALSE;
// CheckBit(BYTE NO
}
else
{
if(SCL_D0->Checked)
{
SCL_D1->Checked=FALSE;
SCL_D2->Checked=FALSE;
SCL_D3->Checked=FALSE;
SCL_D4->Checked=FALSE;
SCL_D5->Checked=FALSE;
SCL_D6->Checked=FALSE;
SCL_D7->Checked=FALSE;
nSCL=0x01;
}
}
}
else if(NO==0x01)
{
T=SDO_D1->Checked|SDI_D1->Checked;
if(T)
{
SCL_D1->Checked=FALSE;
}
else
{
if(SCL_D1->Checked)
{
SCL_D0->Checked=FALSE;
SCL_D2->Checked=FALSE;
SCL_D3->Checked=FALSE;
SCL_D4->Checked=FALSE;
SCL_D5->Checked=FALSE;
SCL_D6->Checked=FALSE;
SCL_D7->Checked=FALSE;
nSCL=0x02;
}
}
}
else if(NO==0x02)
{
T=SDO_D2->Checked|SDI_D2->Checked;
if(T)
{
SCL_D2->Checked=FALSE;
}
else
{
if(SCL_D2->Checked)
{
SCL_D0->Checked=FALSE;
SCL_D1->Checked=FALSE;
// SCL_D2->Checked=TRUE;
SCL_D3->Checked=FALSE;
SCL_D4->Checked=FALSE;
SCL_D5->Checked=FALSE;
SCL_D6->Checked=FALSE;
SCL_D7->Checked=FALSE;
nSCL=0x04;
}
}
}
else if(NO==0x03)
{
T=SDO_D3->Checked|SDI_D3->Checked;
if(T)
{
SCL_D3->Checked=FALSE;
}
else
{
if(SCL_D3->Checked)
{
SCL_D0->Checked=FALSE;
SCL_D1->Checked=FALSE;
SCL_D2->Checked=FALSE;
// SCL_D3->Checked=TRUE;
SCL_D4->Checked=FALSE;
SCL_D5->Checked=FALSE;
SCL_D6->Checked=FALSE;
SCL_D7->Checked=FALSE;
nSCL=0x08;
}
}
}
else if(NO==0x04)
{
T= SDO_D4->Checked|SDI_D4->Checked;
if(T)
{
SCL_D4->Checked=FALSE;
}
else
{
if(SCL_D4->Checked)
{
SCL_D0->Checked=FALSE;
SCL_D1->Checked=FALSE;
SCL_D2->Checked=FALSE;
SCL_D3->Checked=FALSE;
// SCL_D4->Checked=TRUE;
SCL_D5->Checked=FALSE;
SCL_D6->Checked=FALSE;
SCL_D7->Checked=FALSE;
nSCL=0x10;
}
}
}
else if(NO==0x05)
{
T=SDO_D5->Checked|SDI_D5->Checked;
if(T)
{
SCL_D5->Checked=FALSE;
}
else
{
if(SCL_D5->Checked)
{
SCL_D0->Checked=FALSE;
SCL_D1->Checked=FALSE;
SCL_D2->Checked=FALSE;
SCL_D3->Checked=FALSE;
SCL_D4->Checked=FALSE;
// SCL_D5->Checked=TRUE;
SCL_D6->Checked=FALSE;
SCL_D7->Checked=FALSE;
nSCL=0x20;
}
}
}
else if(NO==0x06)
{
T=SDO_D6->Checked|SDI_D6->Checked;
if(T)
{
SCL_D6->Checked=FALSE;
}
else
{
if(SCL_D6->Checked)
{
SCL_D0->Checked=FALSE;
SCL_D1->Checked=FALSE;
SCL_D2->Checked=FALSE;
SCL_D3->Checked=FALSE;
SCL_D4->Checked=FALSE;
SCL_D5->Checked=FALSE;
SCL_D7->Checked=FALSE;
nSCL=0x40;
}
}
}
else if(NO==0x07)
{
T=SDO_D7->Checked|SDI_D7->Checked ;
if(T)
{
SCL_D7->Checked=FALSE;
}
else
{
if(SCL_D7->Checked)
{
SCL_D0->Checked=FALSE;
SCL_D1->Checked=FALSE;
SCL_D2->Checked=FALSE;
SCL_D3->Checked=FALSE;
SCL_D4->Checked=FALSE;
SCL_D5->Checked=FALSE;
SCL_D6->Checked=FALSE;
// SCL_D7->Checked=TRUE; //使用该语句将出现死循环
nSCL=0x80;
}
}
}
while(T)
{
MessageBox(NULL,"Please select anoter bit",
"Warning",MB_OK|MB_TOPMOST);
T=FALSE;
break;
}
return;
}
//---------------------------------------------------------------------------
void __fastcall TPinSet::SCL_D0Click(TObject *Sender)
{
CheckSCLBit(0x00);
}
//---------------------------------------------------------------------------
void __fastcall TPinSet::SCL_D1Click(TObject *Sender)
{
CheckSCLBit(0x01);
}
//---------------------------------------------------------------------------
void __fastcall TPinSet::SCL_D2Click(TObject *Sender)
{
CheckSCLBit(0x02);
}
//---------------------------------------------------------------------------
void __fastcall TPinSet::SCL_D3Click(TObject *Sender)
{
CheckSCLBit(0x03);
}
//---------------------------------------------------------------------------
void __fastcall TPinSet::SCL_D4Click(TObject *Sender)
{
CheckSCLBit(0x04);
}
//---------------------------------------------------------------------------
void __fastcall TPinSet::SCL_D5Click(TObject *Sender)
{
CheckSCLBit(0x05);
}
//---------------------------------------------------------------------------
void __fastcall TPinSet::SCL_D6Click(TObject *Sender)
{
CheckSCLBit(0x06);
}
//---------------------------------------------------------------------------
void __fastcall TPinSet::SCL_D7Click(TObject *Sender)
{
CheckSCLBit(0x07);
}
//---------------------------------------------------------------------------
void __fastcall TPinSet::CheckSDIBit(BYTE NO)
{
//TODO: Add your source code here
bool T=FALSE;
if(NO>0X80)
return;
if(NO==0x00)
{
T=SDO_D0->Checked|SCL_D0->Checked;
if(T)
{
SDI_D0->Checked=FALSE;
}
else
{
if(SDI_D0->Checked)
{
SDI_D1->Checked=FALSE;
SDI_D2->Checked=FALSE;
SDI_D3->Checked=FALSE;
SDI_D4->Checked=FALSE;
SDI_D5->Checked=FALSE;
SDI_D6->Checked=FALSE;
SDI_D7->Checked=FALSE;
nSDI=0x01;
}
}
}
else if(NO==0x01)
{
T=SDO_D1->Checked|SCL_D1->Checked;
if(T)
{
SDI_D1->Checked=FALSE;
}
else
{
if(SDI_D1->Checked)
{
SDI_D0->Checked=FALSE;
SDI_D2->Checked=FALSE;
SDI_D3->Checked=FALSE;
SDI_D4->Checked=FALSE;
SDI_D5->Checked=FALSE;
SDI_D6->Checked=FALSE;
SDI_D7->Checked=FALSE;
nSDI=0x02;
}
}
}
else if(NO==0x02)
{
T=SDO_D2->Checked|SCL_D2->Checked;
if(T)
{
SDI_D2->Checked=FALSE;
}
else
{
if(SDI_D2->Checked)
{
SDI_D0->Checked=FALSE;
SDI_D1->Checked=FALSE;
SDI_D3->Checked=FALSE;
SDI_D4->Checked=FALSE;
SDI_D5->Checked=FALSE;
SDI_D6->Checked=FALSE;
SDI_D7->Checked=FALSE;
nSDI=0x04;
}
}
}
else if(NO==0x03)
{
T=SDO_D3->Checked|SCL_D3->Checked;
if(T)
{
SDI_D3->Checked=FALSE;
}
else
{
if(SDI_D3->Checked)
{
SDI_D0->Checked=FALSE;
SDI_D1->Checked=FALSE;
SDI_D2->Checked=FALSE;
SDI_D4->Checked=FALSE;
SDI_D5->Checked=FALSE;
SDI_D6->Checked=FALSE;
SDI_D7->Checked=FALSE;
nSDI=0x08;
}
}
}
else if(NO==0x04)
{
T= SDO_D4->Checked|SCL_D4->Checked;
if(T)
{
SDI_D4->Checked=FALSE;
}
else
{
if(SDI_D4->Checked)
{
SDI_D0->Checked=FALSE;
SDI_D1->Checked=FALSE;
SDI_D2->Checked=FALSE;
SDI_D3->Checked=FALSE;
SDI_D5->Checked=FALSE;
SDI_D6->Checked=FALSE;
SDI_D7->Checked=FALSE;
nSDI=0x10;
}
}
}
else if(NO==0x05)
{
T=SDO_D5->Checked|SCL_D5->Checked;
if(T)
{
SDI_D5->Checked=FALSE;
}
else
{
if(SDI_D5->Checked)
{
SDI_D0->Checked=FALSE;
SDI_D1->Checked=FALSE;
SDI_D2->Checked=FALSE;
SDI_D3->Checked=FALSE;
SDI_D4->Checked=FALSE;
SDI_D6->Checked=FALSE;
SDI_D7->Checked=FALSE;
nSDI=0x20;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -