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

📄 clibench.cpp

📁 一个硬件测试工具的源代码
💻 CPP
📖 第 1 页 / 共 4 页
字号:
			i=0;
			unsigned int pruef;
			while ((i<la)&&(fi.ReadString(buf,13))&&(buf[0]!='x')&&(buf[0]!='x') && (buf[0]!=char(0)) && (buf[0]!='\n'))
			{	
				marks[0][i][0][0]=buf[0];
				marks[0][i+1][0][0]=char(0);
				marks[0][i+1][1][0]=char(0);
				int j=0;
				while (j<10) 
				{
					marks[0][i][1][j]=buf[j+1];
				++j;
				}
				pruef=atoi(marks[0][i][1]);
				if ((char(65+pruef%9))!=(buf[11]))
				{
					break;
				}
				++i;
			}
			//if (buf[0]='x')
			//			{
							CDescDlg descDlg(this);
							i=0;
							fi.ReadString(descBuf);
							while ((descBuf[0]=='x') || (descBuf[0]==char(0)) || (descBuf[0]=='\n') )
							{
								fi.ReadString(descBuf);
							}
							while (i<14)
							{
								sprintf(descDlg.descs[0][i],descBuf);
								if (i!=13)
								{
									fi.ReadString(descBuf);
								}
								++i;
							}
							while (fi.ReadString(descBuf))
							{	
								driveno=int(descBuf[0])-67;
								if ((driveno>=0)&&(driveno<=24))
								{
									sprintf(descDlg.drives[0][driveno][0],descBuf);
									fi.ReadString(descBuf);
									sprintf(descDlg.drives[0][driveno][1],descBuf);
									fi.ReadString(descBuf);
									sprintf(descDlg.drives[0][driveno][2],descBuf);
									fi.ReadString(descBuf);
									sprintf(descDlg.drives[0][driveno][3],descBuf);
								}
								else
								{
									AfxMessageBox("This is not a CliBench Mk III file!",MB_OK|MB_ICONSTOP);
									delete mDateiWahl;
									updateBuffer();
									RedrawWindow();
									InvalidateRect(NULL, FALSE);
									UpdateWindow();
									fi.Close();
									return;
								}
							}
						//	fi.ReadString(descBuf);
						//	descDlg.drives[0][0][0][0]='C';
						//	sprintf(descDlg.drives[0][0][2],"%u",int(descBuf[0]));
							delete mDateiWahl;
							updateBuffer();
							RedrawWindow();
							InvalidateRect(NULL, FALSE);
							UpdateWindow();
							fi.Close();
							return;
					/*	}
						else
						{
							AfxMessageBox("This is not a CliBench Mk III file!",MB_OK|MB_ICONSTOP);
							delete mDateiWahl;
							updateBuffer();
							RedrawWindow();
							InvalidateRect(NULL, FALSE);
							UpdateWindow();
							fi.Close();
							return;
						}*/
		/*		}
			++i;
			}*/
			//while (i<la) {buffer[i][0]=char(0);++i;};
			fi.Close();
		}
	}
	delete mDateiWahl;
	updateBuffer();
	RedrawWindow();
	InvalidateRect(NULL, FALSE);
	UpdateWindow();
}

void CMainWindow::OnFileCompare()
{
	sPos=0;
	CString szFilter="CliBench Files Mk III Files (*.cb3) |*.cb3| CliBench Mk II Files (*.cbf) |*.cbf| All files (*.*)|*.*||";
	CString defName="*.cb3";
	CString descBuf;
	int driveno;
	CStdioFile fi;
	CString sFileName;
	char buf[13];
	CFileDialog *mDateiWahl;
	int i=0;
	while (i<la)
	{
		marks[1][i][0][0]=char(0);
		marks[1][i][1][0]=char(0);
		++i;
	}
	mDateiWahl=new CFileDialog(TRUE,NULL,defName,OFN_HIDEREADONLY,szFilter);
	mDateiWahl->m_ofn.lpstrTitle="CliBench open comparison file...";
	if (mDateiWahl->DoModal()==IDOK)
	{
		sFileName=mDateiWahl->GetPathName();
		if(!fi.Open(sFileName,CFile::modeRead))
		{
			AfxMessageBox("Can't open file!",MB_OK|MB_ICONSTOP);
		}
		else
		{
		//Datei einlesen
			i=0;
			unsigned int pruef;
			while ((i<la)&&(fi.ReadString(buf,13))&&(buf[0]!='x')&&(buf[0]!='x') && (buf[0]!=char(0)) && (buf[0]!='\n'))
			{	
				marks[1][i][0][0]=buf[0];
				marks[1][i+1][0][0]=char(0);
				marks[1][i+1][1][0]=char(0);
				int j=0;
				while (j<10) 
				{
					marks[1][i][1][j]=buf[j+1];
				++j;
				}
				pruef=atoi(marks[1][i][1]);
				if ((char(65+pruef%9))!=(buf[11]))
				{
					break;
				}
				++i;
			}
			//if (buf[0]='x')
			//			{
							CDescDlg descDlg(this);
							i=0;
							fi.ReadString(descBuf);
							while ((descBuf[0]=='x') || (descBuf[0]==char(0)) || (descBuf[0]=='\n') )
							{
								fi.ReadString(descBuf);
							}
							while (i<14)
							{
								sprintf(descDlg.descs[1][i],descBuf);
								if (i!=13)
								{
									fi.ReadString(descBuf);
								}
								++i;
							}
							while (fi.ReadString(descBuf))
							{	
								driveno=int(descBuf[0])-67;
								if ((driveno>=0)&&(driveno<=24))
								{
									sprintf(descDlg.drives[1][driveno][0],descBuf);
									fi.ReadString(descBuf);
									sprintf(descDlg.drives[1][driveno][1],descBuf);
									fi.ReadString(descBuf);
									sprintf(descDlg.drives[1][driveno][2],descBuf);
									fi.ReadString(descBuf);
									sprintf(descDlg.drives[1][driveno][3],descBuf);
								}
								else
								{
									AfxMessageBox("This is not a CliBench Mk III file!",MB_OK|MB_ICONSTOP);
									delete mDateiWahl;
									updateBuffer();
									RedrawWindow();
									InvalidateRect(NULL, FALSE);
									UpdateWindow();
									fi.Close();
									return;
								}
							}
						//	fi.ReadString(descBuf);
						//	descDlg.drives[0][0][0][0]='C';
						//	sprintf(descDlg.drives[0][0][2],"%u",int(descBuf[0]));
							delete mDateiWahl;
							updateBuffer();
							RedrawWindow();
							InvalidateRect(NULL, FALSE);
							UpdateWindow();
							fi.Close();
							return;
					/*	}
						else
						{
							AfxMessageBox("This is not a CliBench Mk III file!",MB_OK|MB_ICONSTOP);
							delete mDateiWahl;
							updateBuffer();
							RedrawWindow();
							InvalidateRect(NULL, FALSE);
							UpdateWindow();
							fi.Close();
							return;
						}*/
		/*		}
			++i;
			}*/
			//while (i<la) {buffer[i][0]=char(0);++i;};
			fi.Close();
		}
	}
	delete mDateiWahl;
	updateBuffer();
	RedrawWindow();
	InvalidateRect(NULL, FALSE);
	UpdateWindow();
}

/*void CMainWindow::OnFileImport()
{
	CString szFilter="Text files (*.txt) |*.txt| All files (*.*)|*.*||";
	CString defName="*.txt";
	CStdioFile fi;
	CString sFileName;
	CString buf;
	CFileDialog *mDateiWahl;

	mDateiWahl=new CFileDialog(TRUE,NULL,defName,OFN_HIDEREADONLY,szFilter);
	mDateiWahl->m_ofn.lpstrTitle="CliBench open file...";
	if (mDateiWahl->DoModal()==IDOK)
	{
		sFileName=mDateiWahl->GetPathName();
		if(!fi.Open(sFileName,CFile::modeRead))
		{
			AfxMessageBox("Couldn't open file!",MB_OK|MB_ICONSTOP);
		}
		else
		{
		//Datei einlesen
			int i=0;
			while ((i<la)&&(fi.ReadString(buf)))
			{	
				int j=0;
				while ((j<255)&&(buf[j]!=0))
				{
					buffer[i][j]=buf[j];
				++j;
				}
				while (j<255)  //der rest des strings wird gel鰏cht
				{
					buffer[i][j]=' ';
				++j;
				}

			++i;
			}
			while (i<la) {buffer[i][0]=char(0);++i;};
			fi.Close();
		}
	}
	delete mDateiWahl;
	InvalidateRect(NULL, FALSE);
	UpdateWindow();
}*/

void CMainWindow::OnFileExport()
{
	CString szFilter="Text Files (*.txt) |*.txt| All files (*.*)|*.*||";
	CString defName="*.txt";
	CStdioFile fi;
	CString sFileName;
	CFileDialog *mDateiWahl;

	mDateiWahl=new CFileDialog(FALSE,NULL,defName,OFN_HIDEREADONLY,szFilter);
	mDateiWahl->m_ofn.lpstrTitle="CliBench export file...";
	if (mDateiWahl->DoModal()==IDOK)
	{
		sFileName=mDateiWahl->GetPathName();
		if(!fi.Open(sFileName,CFile::modeCreate|CFile::modeWrite|CFile::typeText)) 
		{
			AfxMessageBox("Cannot save file!",MB_OK|MB_ICONSTOP);
		}
		else
		{
			int i=0;
			while ((i<la)&&(buffer[i][0]!=char(0)))
			{	
				char buf[256];
				int j=0;
				while ((j<255)&&(buffer[i][j]!=char(0))) 
				{
					buf[j]=buffer[i][j]; 
				++j;
				}
				buf[j]='\n';
				buf[j+1]=char(0);
				fi.WriteString(buf);
			++i;
			}
			fi.Close();
		}
	}
	delete mDateiWahl;
}

void CMainWindow::OnFileSave()
{
	CString szFilter="CliBench Mk III Files (*.cb3) |*.cb3||";
	CString defName="*.cb3";
	CStdioFile fi;
	CString sFileName;
	CFileDialog *mDateiWahl;

	mDateiWahl=new CFileDialog(FALSE,NULL,defName,OFN_HIDEREADONLY,szFilter);
	mDateiWahl->m_ofn.lpstrTitle="CliBench save file...";
	if (mDateiWahl->DoModal()==IDOK)
	{
		sFileName=mDateiWahl->GetPathName();
		if(!fi.Open(sFileName,CFile::modeCreate|CFile::modeWrite|CFile::typeText)) 
		{
			AfxMessageBox("Cannot save file!",MB_OK|MB_ICONSTOP);
		}
		else
		{
			int i=0;
			char buf[15];
			while ((i<la)&&(marks[0][i][0][0]!=char(0)))
			{				
				int pruef;
				buf[0]=marks[0][i][0][0];
				int j=0;
				pruef=0;
				while ((j<12)&&(marks[0][i][1][j]!=char(0))) 
				{
					buf[j+1]=marks[0][i][1][j];
				++j;
				}
				if ((marks[0][i][0][0]!=char(0)))
				{
					pruef=atoi(marks[0][i][1]);
					buf[j+1]=char(65+pruef%9);
					buf[j+2]=char(0);
					fi.WriteString(buf);
				}
			++i;
			}
			//buf[0]=char(0);
			buf[0]='\n';
			buf[1]='x';
			fi.WriteString(buf);
			CDescDlg descDlg(this);
			i=0;
			//fi.WriteString(buf);
			while (i<14)
			{
				fi.WriteString("\n");
				fi.WriteString(descDlg.descs[0][i]);
				++i;
			}
			i=0;
			while (i<24)
			{
				if (descDlg.drives[0][i][0][0]==char(i+67))
				{
					fi.WriteString("\n");
					fi.WriteString(descDlg.drives[0][i][0]);
					fi.WriteString("\n");
					fi.WriteString(descDlg.drives[0][i][1]);
					fi.WriteString("\n");
					fi.WriteString(descDlg.drives[0][i][2]);
					fi.WriteString("\n");
					fi.WriteString(descDlg.drives[0][i][3]);
				}
				++i;
			}
			fi.Close();
		}
	}
	delete mDateiWahl;
}

void CMainWindow::OnAppAbout()
{
	//AfxMessageBox("          CliBench Mk II v0.99z2        \n          (c) 1997 Marcel M. Weber            ",MB_OK|MB_ICONQUESTION);
	AppAboutDlg aboutDlg(this);
	aboutDlg.DoModal();
}
	
void CMainWindow::OnShowDesc()
{
	showDesc=!showDesc;
	if (!showDesc) 
	{
		updateBuffer();
		RedrawWindow();
		InvalidateRect(NULL, FALSE);
		UpdateWindow();
		return;
	}
	int i=0;
	while (i<la)
	{ 
		buffer[i][0]=char(0);
		++i;
	}
	CDescDlg descDlg(this);
	sprintf(buffer[2],"Number of threads: %-35s  %-35s",descDlg.descs[0][12],descDlg.descs[1][12]);
	sprintf(buffer[4],"Brand           :  %-35s  %-35s",descDlg.descs[0][0],descDlg.descs[1][0]);
	sprintf(buffer[5],"Model           :  %-35s  %-35s",descDlg.descs[0][1],descDlg.descs[1][1]);
	sprintf(buffer[6],"Motherboard     :  %-35s  %-35s",descDlg.descs[0][2],descDlg.descs[1][2]);
	sprintf(buffer[7],"CPU             :  %-35s  %-35s",descDlg.descs[0][3],descDlg.descs[1][3]);
	sprintf(buffer[8],"Number of CPUs  :  %-35s  %-35s",descDlg.descs[0][13],descDlg.descs[1][13]);
	sprintf(buffer[10],"Internal clock  :  %-35s  %-35s",descDlg.descs[0][4],descDlg.descs[1][4]);
	sprintf(buffer[11],"External clock  :  %-35s  %-35s",descDlg.descs[0][5],descDlg.descs[1][5]);
	sprintf(buffer[12],"Cache size      :  %-35s  %-35s",descDlg.descs[0][6],descDlg.descs[1][6]);
	sprintf(buffer[13],"Cache type      :  %-35s  %-35s",descDlg.descs[0][7],descDlg.descs[1][7]);
	sprintf(buffer[14],"RAM size        :  %-35s  %-35s",descDlg.descs[0][8],descDlg.descs[1][8]);
	sprintf(buffer[15],"RAM type        :  %-35s  %-35s",descDlg.descs[0][9],descDlg.descs[1][9]);
	sprintf(buffer[16],"RAM speed       :  %-35s  %-35s",descDlg.descs[0][10],descDlg.descs[1][10]);
	sprintf(buffer[18],"OS              :  %-35s  %-35s",descDlg.descs[0][11],descDlg.descs[1][11]);
	i=0;
	int j=0;
	int z=20;
	while ((i<24)||(j<24))
	{
		while ((i<24)&&(descDlg.drives[0][i][0][0]!=char(i+67)))
		{	
			++i;
		}
		while ((j<24)&&(descDlg.drives[1][j][0][0]!=char(j+67)))
		{
			++j;
		}
		if ((i<24)&&(j<24))
		{
			sprintf(buffer[z],"Driveletter     :  %-35s  %-35s",descDlg.drives[0][i][0],descDlg.drives[1][j][0]);++z;
			sprintf(buffer[z],"Harddisk        :  %-35s  %-35s",descDlg.drives[0][i][1],descDlg.drives[1][j][1]);++z;
			sprintf(buffer[z],"Controller      :  %-35s  %-35s",descDlg.drives[0][i][2],descDlg.drives[1][j][2]);++z;
			sprintf(buffer[z],"Driver          :  %-35s  %-35s",descDlg.drives[0][i][3],descDlg.drives[1][j][3]);++z;
			++z;
			++i;++j;
		}
		if ((i<24)&&(j>=24))
		{
			sprintf(buffer[z],"Driveletter     :  %-35s",descDlg.drives[0][i][0]);++z;
			sprintf(buffer[z],"Harddisk        :  %-35s",descDlg.drives[0][i][1]);++z;
			sprintf(buffer[z],"Controller      :  %-35s",descDlg.drives[0][i][2]);++z;
			sprintf(buffer[z],"Driver          :  %-35s",descDlg.drives[0][i][3]);++z;
			++z;
			++i;
		}
		if ((i>=24)&&(j<24))
		{
			sprintf(buffer[z],"Driveletter     :                                       %-35s",descDlg.drives[1][j][0]);++z;
			sprintf(buffer[z],"Harddisk        :                                       %-35s",descDlg.drives[1][j][1]);++z;

⌨️ 快捷键说明

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