sfadd.cpp
来自「管理光盘的程序」· C++ 代码 · 共 88 行
CPP
88 行
//---------------------------------------------------------------------------
// 学韬电子光盘册 版本: 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]='\0';
GetLogicalDriveStrings(32,tmpDir[0]); //取系统所有驱动器符号
unsigned long RetVal,a,b;
char VolName[256],str1[256];
for(i=0;i<256;i++) { str1[i]='\0'; VolName[i]='\0';}
//查找序列号对应的光盘或硬盘,初始化打开文件对话框目录
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();
}
//---------------------------------------------------------------------------
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?