

Procedure TForm21.suiButton1Click (Sender: TObject);
var yhm,filename,relativfp,f1,f2,f3:string;
begin
yhm:=trim(copy(trim(form1.StatusBar1.Panels[0].text),14,length(trim(form1.StatusBar1.
Panels[0].text)))); //獲取當前操作用戶(hù)的用戶(hù)名
filename:=PChar(ExtractFilePath(ParamStr(0)))+‘教學(xué)知識庫\‘+yhm+‘\‘+ trim(leibie.Text)+
‘\‘+ datetostr(Date())+‘\‘+trim(edit1.text); //獲取絕對路徑
relativfp:= ExtractRelativePath(PChar(ExtractFilePath(ParamStr(0))),filename);//相對路徑
if fileexists(filename) then //判斷文件名是否存在
begin
SHOWMESSAGE(‘該文件已經(jīng)存在,文件名不能重復!請檢查錯誤!‘);
filename:=‘‘;
if filename=‘‘ then //如果文件名存在,則退出
begin
showmessage(‘保存教案信息出錯!‘);
DM.jiaoan.Cancel;
close;
end
else //如果文件名不存在,進(jìn)行下面操作
begin
f1:= PChar(ExtractFilePath(ParamStr(0)))+‘教學(xué)知識庫\‘+yhm;
if not DirectoryExists(f1) then
CreateDirectory(pchar(f1),nil); //創(chuàng )建用戶(hù)名文件夾
f2:=f1+‘\‘+trim(leibie.Text);
if not DirectoryExists(f2) then
CreateDirectory(pchar(f2),nil); //創(chuàng )建類(lèi)別文件夾
f3:=f2+‘\‘+datetostr(Date());
if not DirectoryExists(f3) then
CreateDirectory(pchar(f3),nil); //創(chuàng )建日期文件夾,分日期保存個(gè)人文件
dm.JIAOAN.fieldbyname(‘url‘).Value:=relativfp; //將相對路徑寫(xiě)入數據庫對應的字段
……
DM.jiaoan.Post;
FileCopy(edit1.Text, filename); //拷貝文件到指定目錄
showmessage(‘保存教案成功!‘);
end;
Procedure TForm21.FileCopy( Const sourcefilename, targetfilename: String );
Var S, T: TFileStream;
Begin
S := TFileStream.Create( sourcefilename, fmOpenRead );
try
T := TFileStream.Create( targetfilename,fmOpenWrite or fmCreate);
try
T.CopyFrom(S, S.Size ) ;
finally
T.Free;
end;
finally
S.Free;
end;
聯(lián)系客服