📄 scannerdlg.cpp
字号:
CVocabulary bu;
int p=bu.GetCode(strToken);
return p;
}
int CScannerDlg::InsertId()
{
for(int i=0;i<50;i++)
{
if(strToken==Identifier[i])
{
strToken="";
break ;
}
if(Identifier[i]=="")
{
Identifier[i]=strToken;
strToken="";
break ;
}
}
return i;
}
int CScannerDlg::InsertConst() //常数
{
for(int i=0;i<50;i++)
{
if(Const[i]==strToken)
{
strToken="";
return i;
}
if(Const[i]=="")
{
Const[i]=strToken;
strToken="";
return i;
}
}
return i;
}
int CScannerDlg::InsertSymbol()
{
CVocabulary bu;
for(int i=51;i<87;i++)
{
if(ch==bu.Vocabulary[i])
{
Symbol[i-50]=1;
break;
}
}
return i;
}
void CScannerDlg::ShowOut()
{
m33=0; m10="1A";
m7=1; m11="14";
m8=2; m12="B3";
m9=3; m13="4C";
m18=0; m14=0;
m19=1; m15=10;
m20=2; m16=20;
m21=3; m17=30;
m22=10; m23=10; m26=0;
m24=10; m25=10; m28=6;
UpdateData(false);
m_result+="----(段0)关键字段----";
m_result+="\r\n";
CVocabulary bu;
int n1=0;
for(int i=1;i<39;i++)
{
if(PrimaryKey[i]==1)
{
m_result+=bu.Vocabulary[i];
n1+=1;
m_result+="\r\n";
}
}
m1=n1;
UpdateData(false);
m_result+="----(段1)符号段----";
m_result+="\r\n";
int n2=0;
for(i=51;i<86;i++)
{
if(Symbol[i-50]==1)
{
m_result+=bu.Vocabulary[i];
n2+=1;
m_result+="\r\n";
}
}
m2=n2;
UpdateData(false);
m_result+="----(段2)标识段-----";
m_result+="\r\n";
int n3=0;
for(i=0;i<50;i++)
{
if(Identifier[i]!="")
{
m_result+=Identifier[i];
n3+=1;
m_result+="\r\n";
}
}
m3=n3;
UpdateData(false);
m_result+="-----(段3)常数段----";
m_result+="\r\n";
int l=0;
int n4=0;
for(i=0;i<50;i++)
{
m_result+=Const[i];
n4=+1;
m_result+="\r\n";
}
m4=n4;
UpdateData(false);
}
void CScannerDlg::OnSave()
{
// TODO: Add your control notification handler code here
if(this->strToken.IsEmpty())
{
CFileDialog fd(false);
fd.m_ofn.lpstrTitle="请选择你要打开的文件"; //标题
fd.m_ofn.lpstrInitialDir="C:\Documents and Settings\Administrator\桌面:\\"; //初始目录
if(fd.DoModal())
{
strToken=fd.GetPathName();
}
}
CFile sf;
if(sf.Open(this->strToken,CFile::modeWrite|CFile::modeCreate))
{
UpdateData();
char buf[200]={0};
GetDlgItem(IDC_EDIT_SOURCE)->GetWindowText(buf,200);
sf.Write(buf,strlen(buf));
sf.Close();
MessageBox("保存成功","保存文件",MB_ICONINFORMATION);
}
}
void CScannerDlg::OnOpen()
{
// TODO: Add your control notification handler code here
CFileDialog fd(true);
fd.m_ofn.lpstrTitle="请选择你要打开的文件"; //标题
fd.m_ofn.lpstrInitialDir="C:\Documents and Settings\Administrator\桌面:\\"; //初始目录
if(fd.DoModal())
{
strToken=fd.GetPathName();
CStdioFile sf;
CString str;
if(sf.Open(strToken.GetBuffer(0),CFile::modeRead))
{
CString strTemp;
while(sf.ReadString(strTemp))
{
str+=strTemp;
str+="\r\n";
}
SetDlgItemText(IDC_EDIT_SOURCE,str);
sf.Close();
}
}
}
void CScannerDlg::OnButton1()
{
// TODO: Add your control notification handler code here
if(m33<m28)
{
UpdateData(true);
m32=m33+m26;
m36=m10;
UpdateData(false);
if(m32==m18) //查段表
{
if(m1<m22)
{
m27=m1+m14; //查页表
UpdateData(false);
}
else
MessageBox("页越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
if(m32==m19)
{
if(m1<m23)
{
m27=m1+m15;
UpdateData(false);
}
else
MessageBox("页越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
if(m32==m20)
{
if(m1<m24)
{
m27=m1+m16;
UpdateData(false);
}
else
MessageBox("页越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
if(m32==m21)
{
if(m1<m25)
{
m27=m1+m17;
UpdateData(false);
}
else
MessageBox("页越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
else
MessageBox("未找到!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
else
MessageBox("段越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
void CScannerDlg::OnButton2()
{
// TODO: Add your control notification handler code here
if(m7<m28)
{
UpdateData(true);
m333=m7+m26;
m37=m11;
UpdateData(false);
if(m333==m18)
{
if(m2<m22)
{
m29=m2+m14;
UpdateData(false);
}
else
MessageBox("页越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
if(m333==m19)
{
if(m2<m23)
{
m29=m2+m15;
UpdateData(false);
}
else
MessageBox("页越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
if(m333==m20)
{
if(m2<m24)
{
m29=m2+m16;
UpdateData(false);
}
else
MessageBox("页越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
if(m333==m21)
{
if(m2<m25)
{
m29=m2+m17;
UpdateData(false);
}
else
MessageBox("页越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
else
MessageBox("未找到!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
else
MessageBox("段越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
void CScannerDlg::OnButton3()
{
// TODO: Add your control notification handler code here
if(m8<m28)
{
UpdateData(true);
m34=m8+m26;
m38=m12;
UpdateData(false);
if(m34==m18)
{
if(m3<m22)
{
m30=m3+m14;
UpdateData(false);
}
else
MessageBox("页越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
if(m34==m19)
{
if(m3<m23)
{
m30=m3+m15;
UpdateData(false);
}
else
MessageBox("页越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
if(m34==m20)
{
if(m3<m24)
{
m30=m3+m16;
UpdateData(false);
}
else
MessageBox("页越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
if(m34==m21)
{
if(m3<m25)
{
m30=m3+m17;
UpdateData(false);
}
else
MessageBox("页越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
else
MessageBox("未找到!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
else
MessageBox("段越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
void CScannerDlg::OnButton4()
{
// TODO: Add your control notification handler code here
if(m9<m28)
{
UpdateData(true);
m35=m9+m26;
m39=m13;
UpdateData(false);
if(m35==m18)
{
if(m4<m22)
{
m31=m4+m14;
UpdateData(false);
}
else
MessageBox("页越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
if(m35==m19)
{
if(m4<m23)
{
m31=m4+m15;
UpdateData(false);
}
else
MessageBox("页越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
if(m35==m20)
{
if(m4<m24)
{
m31=m4+m16;
UpdateData(false);
}
else
MessageBox("页越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
if(m35==m21)
{
if(m4<m25)
{
m31=m4+m17;
UpdateData(false);
}
else
MessageBox("页越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
else
MessageBox("未找到!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
else
MessageBox("段越界!!!","越界中断",MB_ICONEXCLAMATION);
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -