void CFoxversionDlg::OnBtnDeal()
{
// TODO: Add your control notification handler code here
int dbfflag;
CString csFilePath,tempstr;
int filesum;
char pbuf[10];
CFile filename;
FileCount=0;
GetDlgItem(IDC_EDIT_PATH)->GetWindowText(csFilePath);
GetDetailFilePath(csFilePath);
if(FileCount==0) return;
for(filesum=0;filesum<FileCount;filesum++)
// AfxMessageBox(csProFileName[filesum]);
{
if(!filename.Open(csProFileName[filesum],CFile::modeRead))
{
AfxMessageBox(csProFileName[filesum]+"这个文件打开不成功!");
//filename.Close();
}
else
{
//AfxMessageBox(csProFileName[filesum]);
//tempstr=csProFileName[filesum];
//dbfflag=tempstr.Find(".dbf");
//if(dbfflag>0)
//{
filename.Read(pbuf,5);
if(pbuf[0]==0x30)
AfxMessageBox(csProFileName[filesum]+"这个文件是3.0版本!");
//}
filename.Close();
}
}
}
如果没有://AfxMessageBox(csProFileName[filesum]);
//tempstr=csProFileName[filesum];
//dbfflag=tempstr.Find(".dbf");
//if(dbfflag>0)
//{
那么可以显示出来!
请问为什么啊?
谢谢!
{
// TODO: Add your control notification handler code here
int dbfflag;
CString csFilePath,tempstr;
int filesum;
char pbuf[10];
CFile filename;
FileCount=0;
GetDlgItem(IDC_EDIT_PATH)->GetWindowText(csFilePath);
GetDetailFilePath(csFilePath);
if(FileCount==0) return;
for(filesum=0;filesum<FileCount;filesum++)
// AfxMessageBox(csProFileName[filesum]);
{
if(!filename.Open(csProFileName[filesum],CFile::modeRead))
{
AfxMessageBox(csProFileName[filesum]+"这个文件打开不成功!");
//filename.Close();
}
else
{
//AfxMessageBox(csProFileName[filesum]);
//tempstr=csProFileName[filesum];
//dbfflag=tempstr.Find(".dbf");
//if(dbfflag>0)
//{
filename.Read(pbuf,5);
if(pbuf[0]==0x30)
AfxMessageBox(csProFileName[filesum]+"这个文件是3.0版本!");
//}
filename.Close();
}
}
}
如果没有://AfxMessageBox(csProFileName[filesum]);
//tempstr=csProFileName[filesum];
//dbfflag=tempstr.Find(".dbf");
//if(dbfflag>0)
//{
那么可以显示出来!
请问为什么啊?
谢谢!
如果file name 没有.dbf或以.dbf开头,当然不会执行了.
另外如果file name是UNICODE,要转换.
或用dbfflag=tempstr.Find(_T(".dbf"));