哪位好心人帮这个EPP程序中加点注解,真心的谢谢了
哪位好心人帮这个EPP程序中加点注解,真心的谢谢了
真的感谢了
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "Unit2.h"
#include "WinIO.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
#pragma link "WinIo_bc.lib"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
bWinIoInitOK = InitializeWinIo();
if(!bWinIoInitOK)
{
Application->MessageBox("不能装载 WinIO 程序!","错误信",MB_OK|MB_ICONSTOP);
Application->Terminate();
}
InitPortFuncs();
wParallelPortAddr = 0x378;
}
//---------------------------------------------------------------------------
__fastcall TForm1::~TForm1()
{
if(bWinIoInitOK)
ShutdownWinIo();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Edit9DblClick(TObject *Sender)
{
CheckBoxStatusPortRead->Checked = false;
if( ((TEdit *)(Sender))->Text == 1)
((TEdit *)(Sender))->Text = 0;
else
((TEdit *)(Sender))->Text = 1;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtnDataPortWriteClick(TObject *Sender)
{
unsigned char ucData; //ucdata为待传送的字节数据
CheckBoxStatusPortRead->Checked = false;
outportb(wParallelPortAddr + 2,0x04); //EPP 控制端口
outportb(wParallelPortAddr + 4,ucData); //EPP Data Port
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CH_Paint(TObject *Sender)
{
unsigned char ucData;
//EPP data
//data port
if(CheckBoxStatusPortRead->Checked)
{
outportb(wParallelPortAddr + 2,0x24); //EPP 控制端口
ucData = inportb(WORD(wParallelPortAddr + 4)); //EPP 数据端口
}
//status port
ucData = inportb(WORD(wParallelPortAddr + 1));
// control port
ucData = inportb(WORD(wParallelPortAddr + 2));
}
//---------------------------------------------------------------------------
void __fastcall TForm1::BitBtnControlPortWriteClick(TObject *Sender)
{
unsigned char ucData;
CheckBoxStatusPortRead->Checked = false;
ucData = (BYTE(!bool(Edit21->Text.ToInt()))) * 8 +
Edit22->Text.ToInt() * 4 +
(BYTE(!bool(Edit23->Text.ToInt()))) * 2 +
(BYTE(!bool(Edit24->Text.ToInt())));
outportb(WORD(wParallelPortAddr + 2),ucData);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CheckBoxStatusPortReadClick(TObject *Sender)
{
//BitBtnStatusPortRead->Enabled = !CheckBoxStatusPortRead->Checked;
unsigned char ucData;
if(CheckBoxStatusPortRead->Checked)
{
outportb(wParallelPortAddr + 2,0x04); //EPP 控制端口
ucData = 0xff;
outportb(wParallelPortAddr + 4,ucData); //EPP Data Port
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
ComboBoxLPT->ItemIndex = 0;
unsigned char ucData;
if(CheckBoxStatusPortRead->Checked)
{
outportb(wParallelPortAddr + 2,0x04); //EPP 控制端口
ucData = 0xff;
outportb(wParallelPortAddr + 4,ucData); //EPP Data Port
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ComboBoxLPTChange(TObject *Sender)
{
switch(ComboBoxLPT->ItemIndex)
{
case 0:
wParallelPortAddr = 0x378;
break;
case 1:
wParallelPortAddr = 0x278;
break;
case 2:
wParallelPortAddr = 0x3bc;
break;
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::TimerStatusPortReadTimer(TObject *Sender)
{
unsigned char ucData;
TimerStatusPortRead->Enabled = false;
CH_Paint(this);
TimerStatusPortRead->Enabled = true;
}