SFAdd.cpp
资源名称:cd_man.zip [点击查看]
上传用户:deyixm
上传日期:2007-01-06
资源大小:43k
文件大小:3k
源码类别:
行业应用
开发平台:
Visual C++
- //---------------------------------------------------------------------------
- // 学韬电子光盘册 版本: 1.0.2
- // 作者:颜承 时间:2000.1.17
- // 主要构件: TListView ,TTreeView ,TClientDataSet ,TList等
- // API函数: GetVolumeInformation,ShellExecute,GetDriveType,GetLogicDriveStrings
- // 自定义类: TSerchDisk 递归方法搜索整个磁盘目录文件结构
- // 此为添加软件实现文件
- //---------------------------------------------------------------------------
- // 版权所有(C)2000 颜 承
- // 这一程序是自由软件,
- // 你可以遵照自由软件基金会出版的GNU通用公共许可证条款来修改和重新发布这一程序。
- // 发布这一程序的目的是希望它有用,但没有任何担保。甚至没有适合特定目的的隐含的担保。
- // 更详细的情况请参阅GNU通用公共许可证。
- // 你应该已经和程序一起收到一份GNU通用公共许可证的副本。
- // 我的联系方式:桂林集琦药业股份有限公司技术部(541004)
- // E-Mail: ycshowtop@sohu.com
- //-------------------------------------------------------------------------------
- #include <vcl.h>
- #pragma hdrstop
- #include "SFAdd.h"
- #include "main.h"
- //---------------------------------------------------------------------------
- #pragma package(smart_init)
- #pragma resource "*.dfm"
- TForm4 *Form4;
- extern AnsiString TheCDSeriNo;
- //---------------------------------------------------------------------------
- __fastcall TForm4::TForm4(TComponent* Owner)
- : TForm(Owner)
- {
- }
- //---------------------------------------------------------------------------
- //浏览文件
- void __fastcall TForm4::btBrowseClick(TObject *Sender)
- {
- char tmpDir[8][4];
- int i,j;
- for(i=0;i<8;i++) for(j=0;j<4;j++) tmpDir[i][j]=' ';
- GetLogicalDriveStrings(32,tmpDir[0]); //取系统所有驱动器符号
- unsigned long RetVal,a,b;
- char VolName[256],str1[256];
- for(i=0;i<256;i++) { str1[i]=' '; VolName[i]=' ';}
- //查找序列号对应的光盘或硬盘,初始化打开文件对话框目录
- for(i=0;i<8;i++) {
- if(GetDriveType(tmpDir[i])==DRIVE_REMOVABLE) continue; //不支持软盘
- GetVolumeInformation(tmpDir[i], VolName,256,&RetVal,&a,&b,str1,256);
- if(AnsiString(RetVal)==Form1->ClientDataSet1->FieldValues["CDSeriNo"]) {
- OpenDialog1->InitialDir=AnsiString(tmpDir[i]);
- break;
- }
- }
- if(i==9) { //没找到
- Application->MessageBox("请先插入此光盘,稍后再试!","提示",MB_OK);
- return;
- }
- if( OpenDialog1->Execute() ) {
- edFileName->Text=OpenDialog1->FileName;
- }
- }
- //---------------------------------------------------------------------------
- //不允许没有文件名
- void __fastcall TForm4::edFileNameChange(TObject *Sender)
- {
- if(edFileName->Text=="") btOK->Enabled=false;
- else btOK->Enabled=true;
- }
- //---------------------------------------------------------------------------
- //确定,添加记录
- void __fastcall TForm4::btOKClick(TObject *Sender)
- {
- Form1->ClientDataSet2->Append();
- Form1->ClientDataSet2->FieldByName("CDSeriNo")->AsString=TheCDSeriNo;
- Form1->ClientDataSet2->FieldByName("SWName")->AsString=edSoftName->Text;
- Form1->ClientDataSet2->FieldByName("SWDirFile")->AsString=edFileName->Text;
- Form1->ClientDataSet2->FieldByName("SWDescription")->AsString=edDescription->Text;
- Form1->TreeView1Change(Form1->TreeView1,Form1->TreeView1->Selected);
- Form1->itemFindSoft->Enabled=true;
- Close();
- }
- //---------------------------------------------------------------------------