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

📄 reschildfrm.pas

📁 制造技术资源管理的一个模块
💻 PAS
📖 第 1 页 / 共 5 页
字号:
  except
    begin
      ShowMessage('对不起,文件下载到本地浏览失败,请检查是否与文件服务器建立了连接,文件服务器机器名是否正确,网络是否正常!');
      Exit;
    end;
  end;
  LocalFileName:=sLocal;

  with TShowFiles.Create(Application) do
  try
    ShowModal;
  finally
    Free;
  end;
end;

procedure TResChild.cdsResQueryAfterScroll(DataSet: TDataSet);
begin
  if FileExsist=True then
  begin
    if cdsResQuery.FieldByName(sFileField).AsString<>'' then
    begin
       MainForm.acShowFile.Enabled:=True;
       MainForm.acUpLoadFile.Enabled:=True;
       MainForm.acKillFile.Enabled:=True;
       MainForm.acDownLoadFile.Enabled:=True;
    end
    else
    begin
       MainForm.acShowFile.Enabled:=False;
       MainForm.acUpLoadFile.Enabled:=True;
       MainForm.acKillFile.Enabled:=False;
       MainForm.acDownLoadFile.Enabled:=False;
    end;
  end
  else
  begin
    MainForm.acShowFile.Enabled:=False;
    MainForm.acUpLoadFile.Enabled:=False;
    MainForm.acKillFile.Enabled:=False;
    MainForm.acDownLoadFile.Enabled:=False;
  end;
  if Edit1.Visible then
  begin
    try
      Edit1.text:=inttostr(wwDBNavigator1.DataSource.DataSet.recordcount);
    except
      exit;
    end;
  end;
end;

procedure TResChild.Button2Click(Sender: TObject);
var
  s,sRemote,sLocal:String;
begin
  Screen.Cursor:=crHourGlass;
  if OpenDialog1.Execute then
  begin
    sLocal:=OpenDialog1.FileName;
    s:=GetFileName(sLocal);
    s:=tablename+cdsResQuery.fieldbyname('flngenterresid').AsString+'.'+s;
    sRemote:='\\'+MainForm.fuwuqi+'\E$\PDMServer\res';
    if not DirectoryExists(sRemote) then
    begin
      ShowMessage('对不起,文件上传失败,请检查是否与文件服务器建立了连接,文件服务器机器名是否正确,网络是否正常!');
      Screen.Cursor:=crDefault;
      Exit;
    end;

    sRemote:=sRemote+'\'+s;
    try
      CopyFile(pchar(sLocal),pchar(sRemote),False);
    except
      begin
        ShowMessage('对不起,文件上传失败,请检查是否与文件服务器建立了连接,文件服务器机器名是否正确,网络是否正常!');
        Screen.Cursor:=crDefault;
        Exit;
      end;
    end;
    with cdsResQuery do
    begin
      edit;
      fieldbyname('epicfile').AsString:=s;
      Post;
      ApplyUpdates(-1);
    end;
  end;
  Screen.Cursor:=crDefault;
end;


procedure TResChild.Button3Click(Sender: TObject);
var
  s,sRemote:String;
begin
  if (Application.MessageBox(Pchar('你正在删除服务器的文件!'+#13+'确定么?'),
               Pchar('删除文件'),MB_OKCANCEL +MB_ICONQUESTION)= IDOK) then
  begin
    s:=cdsResQuery.fieldbyname('epicfile').AsString;
    sRemote:='\\'+MainForm.fuwuqi+'\E$\PDMServer\res';
    if not DirectoryExists(sRemote) then
    begin
      ShowMessage('对不起,文件删除失败,请检查是否与文件服务器建立了连接,文件服务器机器名是否正确,网络是否正常!');
      Exit;
    end;
    sRemote:=sRemote+'\'+s;
    if not fileExists(sRemote) then
    begin
      ShowMessage('对不起,文件删除失败,请检查是否与文件服务器建立了连接,文件服务器机器名是否正确,网络是否正常,否则,文件服务器上该文件已经不存在!');
      if (MessageDlg('如果已经与文件服务器建立了连接,文件服务器机器名正确,网络正常,是否将记录标示为服务器上无文件',mtConfirmation, [mbYes, mbNo], 0) = mrYes) then
      begin
        with cdsResQuery do
        begin
          edit;
          fieldbyname('epicfile').AsString:='';
          post;
          ApplyUpdates(-1);
        end;
      end;
      Exit;
    end;
    try
      deletefile(sRemote);
    except
      begin
        ShowMessage('对不起,文件删除失败,请检查是否与文件服务器建立了连接,文件服务器机器名是否正确,网络是否正常!');
        Exit;
      end;
    end;

    with cdsResQuery do
    begin
      edit;
      fieldbyname('epicfile').AsString:='';
      post;
      ApplyUpdates(-1);
    end;
  end;
end;

procedure TResChild.Button4Click(Sender: TObject);
var
  S1,s,sRemote,sLocal:String;
  k:integer;
begin
  Screen.Cursor:=crHourGlass;
  s:=cdsResQuery.fieldbyname(sFileField).AsString;
  S1:=s;
  While True do
  begin
    if Length(S1)<1 then Break;
    k:= Pos('.', S1);
    if k>0 then
    begin
      S1:= Copy(S1, k+1, Length(S1)-k);
    end
    else Break;
  end;
    //取不出后缀
  if S1=s then
  begin
    showmessage('对不起,该文档类型无法确定!');
    Screen.Cursor:=crDefault;
    exit;
  end;
  sRemote:='\\'+MainForm.fuwuqi+'\E$\PDMServer\res';
  if not DirectoryExists(sRemote) then
  begin
    ShowMessage('对不起,文件下载失败,请检查是否与文件服务器建立了连接,文件服务器机器名是否正确,网络是否正常!');
    Screen.Cursor:=crDefault;
    Exit;
  end;
  sRemote:=sRemote+'\'+s;
  if not fileExists(sRemote) then
  begin
    ShowMessage('对不起,文件下载失败,请检查是否与文件服务器建立了连接,文件服务器机器名是否正确,网络是否正常,否则,文件服务器上该文件已经不存在!');
    Screen.Cursor:=crDefault;
    Exit;
  end;
  SaveDialog1.Options := [ofReadOnly,ofFileMustExist];
  SaveDialog1.Filter := S1+' files(*.'+S1+')|*.'+S1;
//  SaveDialog1.Filter := 'Word files (*.doc)|*.doc|excel files (*.xls)|*.xls|AutoCAD files (*.dwg)|*.dwg|All files (*.*)|*.*';
  SaveDialog1.FilterIndex := 1;
  if SaveDialog1.Execute then
  begin
    sLocal:=SaveDialog1.FileName;
  end
  else
  begin
    Screen.Cursor:=crDefault;
    exit;
  end;
  sLocal:=sLocal+'.'+ S1;
  try
    CopyFile(pchar(sRemote),pchar(sLocal),False);
  except
    begin
      ShowMessage('对不起,文件下载失败,请检查是否与文件服务器建立了连接,文件服务器机器名是否正确,网络是否正常!');
      Screen.Cursor:=crDefault;
      Exit;
    end;
  end;
  Screen.Cursor:=crDefault;
end;
{var
  s,sRemote,sLocal:String;
  Oldcur:tcursor;
begin

  s:=cdsResQuery.fieldbyname(sFileField).AsString;

  sRemote:='\\'+MainForm.fuwuqi+'\E$\PDMServer\res';
  sRemote:=sRemote+'\'+s;

  sLocal:='E:\Projects\Capp\Files';
  sLocal:=sLocal+'\'+s;

  if (Application.MessageBox(Pchar('文件将被下载到E:\Projects\Capp\Files\'+#13+'文件名为'+s),
               Pchar('下载提示'),MB_OKCANCEL +MB_ICONQUESTION)= IDOK) then
  begin
    Oldcur:=Screen.Cursor;
    Screen.Cursor:=crHourGlass;
    CopyFile(pchar(sRemote),pchar(sLocal),False);
  end;
  Screen.Cursor:=OldCur;
end;}

procedure TResChild.Save;
begin
  Screen.Cursor:= crHourGlass;
  try
    with cdsResQuery do
    begin
      if ChangeCount>0 then
      begin
        CheckBrowseMode;
//        ApplyUpdates(-1);
      end;
    end;
  finally
    Screen.Cursor:=crDefault;
  end;              
end;

procedure TResChild.Find;
begin
  with TfrmResQuery.CreateQuery(Self) do
  try
    ShowModal;
  finally
    Free;
  end;
end;

procedure TResChild.FormActivate(Sender: TObject);
begin
  MainForm.acFind.Enabled:= True;
end;

procedure TResChild.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
const
  sMsg = '保存%s(是/否)?';
begin
{
  with cdsResQuery do
  begin
    CheckBrowseMode;
    if ChangeCount>0 then
    begin
      Case MessageBox(Handle, PChar(Format(sMsg, [Caption])), PChar(Caption), MB_YESNOCANCEL+MB_ICONWARNING) of
        mrYes:
          begin
            ApplyUpdates(-1);
            CanClose:= True;
          end;
        mrNo: CanClose:= True;
        mrCancel: CanClose:= False;
      end;
    end;
  end;
}  
end;

procedure TResChild.btnFilteredClick(Sender: TObject);
begin
  Label1.Visible:=false;
  Label2.Visible:=false;
  Edit1.Visible:=false;
  cdsResQuery.PacketRecords:=30;
  if sHistoryCondition='' then
    btnFiltered.Down:= False
  else
  begin
    sHistoryCondition:= '';
    RunQuery('');
  end;
end;

procedure TResChild.wwDBGrid1TitleButtonClick(Sender: TObject;
  AFieldName: String);
begin
  Screen.Cursor:=crHourGlass;

  cdsResQuery.IndexFieldNames:=AFieldName;
  Screen.Cursor:=crDefault;
end;

procedure TResChild.btnAppEquipHlpClick(Sender: TObject);
begin
  Screen.Cursor:=crHourGlass;
  frmAppEquipHlp.Notebook1.PageIndex:=0;
  frmAppEquipHlp.Show;
  Screen.Cursor:=crDefault;
end;


procedure TResChild.btnAppEquipCodeClick(Sender: TObject);
begin
  screen.cursor:=crHourGlass;
  with TfrmAppEquip.Create(Application) do
  try
    //********新建专用工装**************
    if (UpperCase(trim(ResDesc.editTableName.Text))=UpperCase('AppEquip'))
    or(UpperCase(trim(ResDesc.editTableName.Text))=UpperCase('Appequipcopy'))  then
    begin
      dmRes.cdsWORKSTRU.active:=false;
      dmRes.cdsWORKSTRU.commandtext:='select * from WORKSTRU';
      dmRes.cdsWORKSTRU.active:=true;

      dmRes.cdsAppEquip.active:=false;
      dmRes.cdsAppEquip.commandtext:='select * from AppEquip';
      dmRes.cdsAppEquip.active:=true;
      Notebook1.pageindex:=0;
      caption:='专用工装录入窗口';
      ShowModal;
    end
    //********新建工艺规程用专用工装**************
    else
    if UpperCase(trim(ResDesc.editTableName.Text))=UpperCase('AppEquipList') then
    begin
      dmRes.cdsAppEquipList.active:=false;
      dmRes.cdsAppEquipList.commandtext:='select * from AppEquipList';
      dmRes.cdsAppEquipList.active:=true;
      Notebook1.pageindex:=1;
      caption:='工艺规程用专用工装录入窗口';
      ShowModal;
    end
    //********新建工艺规程用借用工装**************
    else
    if UpperCase(trim(ResDesc.editTableName.Text))=UpperCase('BowEquip')  then
    begin
      dmRes.cdsBowEquip.active:=false;
      dmRes.cdsBowEquip.commandtext:='select * from BowEquip';
      dmRes.cdsBowEquip.active:=true;
      Notebook1.pageindex:=2;
      caption:='工艺规程用借用工装录入窗口';
      ShowModal;
    end
    //********新建工艺规程用通用工装**************
    else
    if UpperCase(trim(ResDesc.editTableName.Text))=UpperCase('GenEquip')  then
    begin
      dmRes.cdsGenEquip.active:=false;
      dmRes.cdsGenEquip.commandtext:='select * from GenEquip';
      dmRes.cdsGenEquip.active:=true;
      Notebook1.pageindex:=3;
      caption:='工艺规程用通用工装录入窗口';
      ShowModal;
    end
    //********新建工艺规程用标准工具**************
    else
    if UpperCase(trim(ResDesc.editTableName.Text))=UpperCase('StaEquip')  then
    begin
      dmRes.cdsStaEquip.active:=false;
      dmRes.cdsStaEquip.commandtext:='select * from StaEquip';
      dmRes.cdsStaEquip.active:=true;
      Notebook1.pageindex:=4;
      caption:='工艺规程用标准工具录入窗口';
      ShowModal;
    end
    //********新建工艺规程用工艺标准件**************
    else
    if UpperCase(trim(ResDesc.editTableName.Text))=UpperCase('Sta2Equip')  then
    begin
      dmRes.cdsSta2Equip.active:=false;

⌨️ 快捷键说明

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