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

📄 mainform.pas

📁 学籍管理
💻 PAS
📖 第 1 页 / 共 2 页
字号:
var
  SaveRecordFileName:String;
begin
  if ServerLinked then
  begin
  begin
  if SaveDlgSaveRecord.Execute then
  begin                                                     //***********
    //SaveDlgSaveRecord.Options:=[ofShowHelp,ofReadOnly];   //覆盖的问题*****
    if SaveDlgSaveRecord.FileName<>'' then                //*************
    SaveRecordFileName:=SaveDlgSaveRecord.FileName+'.txt';
    with DataModule1 do
    begin
      ClientDataSet1.SaveToFile(SaveRecordFileName);//XML文件不能正确保存
    end;
  end;
  end;
  end;
end;
procedure NewRecord;
begin
  if ServerLinked then
  begin
    with DataModule1 do
    begin
       ClientDataSet1.Last;
       ClientDataSet1.Insert;
    end;
  end;
end;
procedure DeleteRecord;
begin
  if ServerLinked then
  begin
    with DataModule1 do
    begin
      ClientDataSet1.Delete;
    end;
  end;
end;
procedure ShowInformationInStatusBar(Information:String);
begin
  ClientMainForm.StatusBar1.Panels[1].Text:='  提示信息: '+Information;
end;
procedure HideInformationInStatusBar;
begin
  ClientMainForm.StatusBar1.Panels[1].Text:='';
end;




procedure TClientMainForm.sbGetServerInformationClick(Sender: TObject);
begin
  if ServerLinked then
    DataModule1.ClientDataSet1.Active:=True
  else
    MessageDlg(NoGetupMessage,mtInformation,[mbOK],0);
end;

procedure TClientMainForm.SpeedButton3Click(Sender: TObject);
begin
  NewRecord;
end;

procedure TClientMainForm.SpeedButton6Click(Sender: TObject);
begin
  DeleteRecord;
end;

procedure TClientMainForm.SpeedButton13Click(Sender: TObject);
begin

 // StatusBar1.Panels[1].Text:='laksjdfsajf lsd你好啊'; //测试用语句
end;

procedure TClientMainForm.sbHelpAndTegetherHintShowMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  if Sender is TSpeedButton then
   ShowInformationInStatusBar((Sender as TSpeedButton).Hint)
  else
   HideInformationInStatusBar;
end;

procedure TClientMainForm.SpeedButton1Click(Sender: TObject);                //如何实现字符 ' ?
var
  SearchStr:OleVariant;
  ISentSQL:ISchoolMTSDisp;
begin
  if ServerLinked and DataModule1.ClientDataSet1.Active then
  begin
    try
    DataModule1.ClientDataSet1.Active:=False;
    SearchStr:='SELECT * FROM '+GetTableForQuery+' WHERE '+
           GetFieldForQuery+'='+''''+edtInput.Text+'''';
    //SearchStr:=Edit1.Text;
    //DataModule1.DCOMConnection1.AppServer.SearchRecord(SearchStr);
    ISentSQL:=ISchoolMTSDisp(IDispatch(DataModule1.SocketConnection1.Appserver));
    ISentSQL.SearchRecord(SearchStr);
    DataModule1.ClientDataSet1.Active:=True;
    MessageBox(ClientMainForm.Handle,PChar('共搜索到数据:'+
         (IntToStr(DataModule1.ClientDataSet1.RecordCount))+' 笔!'),
            '搜索结果',MB_ICONINFORMATION);
    except on E:Exception do
      MessageDlg('请先选择要查询的表和字段!',mtInformation,[mbOK],0);
    end;
  end;
end;

procedure TClientMainForm.spFirstClick(Sender: TObject);
begin
  if ServerLinked then
  DataModule1.ClientDataSet1.First;
end;

procedure TClientMainForm.spPriorClick(Sender: TObject);
begin
  if ServerLinked then
  DataModule1.ClientDataSet1.Prior;
end;

procedure TClientMainForm.spNextClick(Sender: TObject);
begin
  if ServerLinked then
  DataModule1.ClientDataSet1.Next;
end;

procedure TClientMainForm.spNPClick(Sender: TObject);
//var
  //TimeStart,TimeEnd:Integer;
  //BK:TBookMark;
begin
 { if ServerLinked then
  begin
    TimeStart:=GetTickCount;
    try
      if (not TrueEOF) then
      begin
        try
          BK:=DataModule1.ClientDataSet1.GetBookmark;
          if (DataModule1.ClientDataSet1.GetNextPacket<
             DataModule1.ClientDataSet1.PacketRecords)
          then
          begin
            TrueEOF:=True;
            DataModule1.ClientDataSet1.Last;
            VOwnerData:=DataModule1.ClientDataSet1.FieldByName('系号').value;
            DataModule1.ClientDataSet1.GotoBookmark(BK);
            DataModule1.ClientDataSet1.Next;
          end;
        finally
          DataModule1.ClientDataSet1.FreeBookmark(BK);
        end;
      end;
    except on Exception do;
    end;
    StatusBar1.Panels[2].Text:=' 总数据笔数:'+
         IntToStr(DataModule1.ClientDataSet1.RecordCount)+'笔!';
    TimeEnd:=GetTickCount;
    MessageDlg('本次下载用时:'+FloatToStr((TimeEnd-TimeStart)/1000.0)+'秒!',mtInformation,[mbOK],0);
  end;  }
  if ServerLinked and (DataModule1.ClientDataSet1.Active=True)then
  with DataModule1 do
  begin
    ClientDataSet1.PacketRecords:=DesignPacketSize;
  if ClientDataset1.GetNextPacket<DesignPacketSize then
    MessageBox(ClientMainForm.Handle,'表中所有记录都已下载完毕!','完成信息',MB_ICONINFORMATION);
  end;

end;
procedure TClientMainForm.UseManagerClick(Sender: TObject);
begin
  try
    fmDesign:=TfmDesign.Create(Application);
    fmDesign.ShowModal;
  finally
    fmDesign.Free;
  end;  
end;

procedure TClientMainForm.SpeedButton11Click(Sender: TObject);
//var
  //PrintData:MultiTreadPrint;
begin
  if ServerLinked and (DataModule1.ClientDataSet1.Active) then
  begin
    try
      SinglePrintDBGridData;
      //PrintData.Create(False);
    except on E:Exception do
    begin
    MessageBox(ClientMainForm.Handle,'打印机未准备好或默认的打印机并不存在!',
      '错误信息',MB_ICONWARNING);
    end;
    end;
  end  
  else
    MessageBox(ClientMainForm.Handle,'请先连接服务器,并打开数据表!',
       '提示信息',MB_ICONINFORMATION);
end;

procedure TClientMainForm.ServerTableListBoxDblClick(Sender: TObject);
var
  ListTableName:String;
  SearchStrWithTable:OleVariant;
  IGetTableData:ISchoolMTSDisp;
begin
  if ServerLinked then
  begin
    DataModule1.ClientDataSet1.Active:=False;
    ListTableName:=ServerTableListBox.Items[ServerTableListbox.ItemIndex];
    SearchStrWithTable:='SELECT * FROM '+ListTableName;
    IGetTableData:=ISchoolMTSDisp(IDispatch(DataModule1.SocketConnection1.AppServer));
    IGetTableData.SearchRecord(SearchStrWithTable);
    
    DataModule1.ClientDataSet1.Active:=True;
    DataModule1.ClientDataSet1.GetFieldNames(ComboBox1.Items);
    ComBobox1.SetFocus;
  end;
end;

procedure TClientMainForm.ServerTableListBoxMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  if ServerLinked then
  StatusBar1.Panels[1].Text:=' 双击鼠标左键打开选中表中的记录!';
end;

procedure TClientMainForm.mbSystemMouseMove(Sender: TObject;
  Shift: TShiftState; X, Y: Integer);
begin
  if ServerLinked then
  Statusbar1.Panels[1].Text:=' 你所连接的服务器的相关信息!';
end;

procedure TClientMainForm.N13Click(Sender: TObject);
begin
  if ServerLinked then
  begin
    try
      fmHint:=TfmHint.Create(Application);
      fmHint.ShowModal;
    finally
      fmHint.Free;
    end;
  end
  else
    MessageBox(ClientMainForm.Handle,'尚未连接到服务器,请先连接到服务器!','',MB_ICONASTERISK);
end;

procedure TClientMainForm.N8Click(Sender: TObject);
begin
  try
    fmPassword:=TfmPassword.Create(Application);
    fmPassword.ShowModal;
  finally
    fmPassword.Free;
  end;
end;

procedure TClientMainForm.N26Click(Sender: TObject);
begin
  if ServerLinked and DataModule1.ClientDataSet1.Active then
  begin
    try
      fmBring:=TfmBring.Create(Application);
      fmBring.ShowModal;
    finally
      fmBring.Free;
    end;
  end
  else
    MessageBox(ClientMainForm.Handle,'请先连接服务器并选择相应的表!','',MB_ICONASTERISK);
end;

procedure TClientMainForm.N23Click(Sender: TObject);
begin
  if ServerLinked then
  with DataModule1 do
  ClientDataSet1.Last;
end;

procedure TClientMainForm.edtInputEnter(Sender: TObject);
var
  SearchStr:OleVariant;
  ISentSQL:ISchoolMTSDisp;
begin
  if ServerLinked then
  begin
    try
    DataModule1.ClientDataSet1.Active:=False;
    SearchStr:='SELECT * FROM '+GetTableForQuery+' WHERE '+
           GetFieldForQuery+'='+''''+edtInput.Text+'''';
    //SearchStr:=Edit1.Text;
    //DataModule1.DCOMConnection1.AppServer.SearchRecord(SearchStr);
    ISentSQL:=ISchoolMTSDisp(IDispatch(DataModule1.SocketConnection1.Appserver));
    ISentSQL.SearchRecord(SearchStr);
    DataModule1.ClientDataSet1.Active:=True;
    except on E:Exception do
    MessageDlg('请先选择要查询的表和字段!',mtInformation,[mbOK],0);
    end;
  end;
end;

procedure TClientMainForm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  WriteIniFile('MainFormFormat','Top',top);
  WriteIniFile('MainFormFormat','Left',left);
  WriteIniFile('MainFormFormat','Width',width);
  WriteIniFile('MainFormFormat','Height',height);
end;

procedure TClientMainForm.FormCreate(Sender: TObject);
begin
  DesignPacketSize:=ReadIniFile('SysDesign','PacketSize',100);
  AutoLinked:=ReadIniFile('SysDesign','AutoLinked',False);
  ShowTime:=ReadIniFile('SysDesign','ShowTime',False);
  Top:=ReadIniFile('MainFormFormat','Top',top);
  Left:=ReadIniFile('MainFormForamt','Left',left);
  Width:=ReadIniFile('MainFormFormat','Width',width);
  Height:=ReadIniFile('MainFormFormat','Height',height);

  DBGrid1.Font.Color:=ReadIniFile('Color','ClientMainForm.DBGrid1.Font.Color', $00575757);
  DBGrid1.Color:=ReadIniFile('Color','ClientMainForm.DBGrid1.Color',clWhite);
  ServerTableListBox.Font.Color:=ReadIniFile('Color','ClientMainForm.ServerTableListBox.Font.Color',$00696969);
  ServerTableListBox.Color:=ReadIniFile('Color','ClientMainForm.ServerTableListBox.Color',clWhite);
  mbSystem.Font.Color:=ReadIniFile('Color','ClientMainForm.mbSystem.Font.Color',$00696969);
  mbSystem.Color:=ReadIniFile('Color','ClientMainForm.mbSystem.Color',clWindow);
  Font.Name:=ReadIniFile('Color','ClientMainForm.Font.Name','宋体');
  
end;

procedure TClientMainForm.Timer1Timer(Sender: TObject);
begin
  StatusBar1.Panels[2].Text:=DateTimeToStr(Now);
end;

procedure TClientMainForm.FormShow(Sender: TObject);
begin
  //if fmLogin.ShowModal=mrOK then
  fmLogin.Hide;
  if ShowTime then
  Timer1.Enabled:=True;
  if AutoLinked then
  N4Click(Sender);
end;

procedure TClientMainForm.N10Click(Sender: TObject);
begin
  try
    fmAbout:=TfmAbout.Create(Application);
    fmAbout.ShowModal;
  finally
    fmAbout.Free;
  end;
end;

procedure TClientMainForm.N15Click(Sender: TObject);
begin
  try
    fmMIDASManager:=TfmMIDASManager.Create(Application);
    fmMIDASManager.ShowModal;
  finally
    fmMIDASManager.Free;
  end;
end;

procedure TClientMainForm.FormPaint(Sender: TObject);
begin
  //fmLogin.Hide;
end;

procedure TClientMainForm.FormActivate(Sender: TObject);
begin
  //fmLogin.Visible:=False;
end;

procedure TClientMainForm.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);           //2002.4.1 贺广兵
var
  IShutLink:ISchoolMTSDisp;
begin
  if ServerLinked and DataModule1.ClientDataSet1.Active then
  begin
    if DataModule1.ClientDataSet1.RecordCount=0 then
    begin
      DataModule1.ClientDataSet1.Close;
      IShutLink:=ISchoolMTSDisp(IDispatch(DataModule1.SocketConnection1.Appserver));
      IShutLink.ClearLink;       //切断服务器端连接
    end;
  end;
end;

procedure TClientMainForm.FormCanResize(Sender: TObject; var NewWidth,
  NewHeight: Integer; var Resize: Boolean);
begin
    //fmLogin.Hide;
end;

procedure TClientMainForm.edtInputKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if key=13 then
  SpeedButton1Click(Sender);
end;

procedure TClientMainForm.ComboBox1Click(Sender: TObject);
begin
  edtInput.SetFocus;
end;

procedure TClientMainForm.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key=13 then
  sbUpdatesClick(Sender);
end;

end.

⌨️ 快捷键说明

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