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

📄 mainform.pas

📁 用delphi做的一个可以计算sql运行时间的系统,大家可以参考一下.
💻 PAS
📖 第 1 页 / 共 2 页
字号:

  ProcessAnimator.Visible:=False;

  result:=true;
end;

////////////////////////////////////////////////////////

procedure TfrmMainForm.UseSQLFileClick(Sender: TObject);
const
  EnabledColor: array[Boolean] of TColor = (clBtnFace, clWindow);
begin
  edSQLFile.Enabled := UseSQLFile.Checked;
  edSQLFile.Color := EnabledColor[edSQLFile.Enabled];
  btSelectSQLFile.Enabled := edSQLFile.Enabled;

  edSQLEdit.Enabled := UseSQLEdit.Checked;
  edSQLEdit.Color := EnabledColor[edSQLEdit.Enabled];

  if edSQLFile.Enabled then
    ActiveControl := edSQLFile
  else
    ActiveControl := edSQLEdit;
end;

procedure TfrmMainForm.UseSQLEditClick(Sender: TObject);
const
  EnabledColor: array[Boolean] of TColor = (clBtnFace, clWindow);
begin
  edSQLFile.Enabled := UseSQLFile.Checked;
  edSQLFile.Color := EnabledColor[edSQLFile.Enabled];
  btSelectSQLFile.Enabled := edSQLFile.Enabled;

  edSQLEdit.Enabled := UseSQLEdit.Checked;
  edSQLEdit.Color := EnabledColor[edSQLEdit.Enabled];

  if edSQLFile.Enabled then
    ActiveControl := edSQLFile
  else
    ActiveControl := edSQLEdit;
end;

procedure TfrmMainForm.btSelectSQLFileClick(Sender: TObject);
begin
  if OpenSQLFileDlg.Execute then
    edSQLFile.Text:=OpenSQLFileDlg.FileName;
end;

//////////////////////////////////////////////////

procedure TfrmMainForm.ClearMsg;
begin
  MsgImage.Visible:=False;
  MsgText.Visible:=False;
end;

procedure TfrmMainForm.ShowMsg(State:integer);
begin
  MsgImageList.GetIcon(State,MsgImage.Picture.Icon);

  if State = SUCCESS then
  begin
    MsgText.Caption:='执行完毕!';
  end;
  if State = STOP then
  begin
    MsgText.Caption:='你已终止执行!';
  end;
  if State = FAILURE then
  begin
    MsgText.Caption:='执行失败!';
  end;

  MsgImage.Visible:=True;
  MsgText.Visible:=True;
end;

////////////////////////////////////////////////////////

function TfrmMainForm.EnterUserNamePwd:Boolean;
var
  Login:TfrmLogin;
begin
  result:=False;
  
  if (UserName <> '') or (Pwd <> '') then
  begin
    result:=True;
    Exit;
  end;
    
  Login:=TfrmLogin.Create(self);

  if Login.ShowModal = mrOK then
    result:=True;
  UserName:=Login.UserName;
  Pwd:=Login.Pwd;
  
  Login.Free;
end;

procedure TfrmMainForm.ClearUserNamePwd;
begin
  UserName:='';
  Pwd:='';
end;

/////////////////////////////////////////////////////

procedure TfrmMainForm.SaveConnectionString;
var
  ConnectionString:String;
  SaveFile:String;
  SaveFileHandle:TextFile;
begin
  ConnectionString:=edConnectionString.Text;

  SaveFile:=ExtractFileDir(Application.ExeName)+'\'+ CONNECTIONSTRING_FILE_NAME;

  AssignFile(SaveFileHandle, SaveFile);
  Rewrite(SaveFileHandle);
  Writeln(SaveFileHandle,ConnectionString);
  CloseFile(SaveFileHandle);
end;

procedure TfrmMainForm.SaveConnectionFile;
var
  ConnectionFile:String;
  SaveFile:String;
  SaveFileHandle:TextFile;
begin
  ConnectionFile:=edDataLinkFile.Text;

  SaveFile:=ExtractFileDir(Application.ExeName)+'\'+ CONNECTIONFILE_FILE_NAME;

  AssignFile(SaveFileHandle, SaveFile);
  Rewrite(SaveFileHandle);
  Writeln(SaveFileHandle,ConnectionFile);
  CloseFile(SaveFileHandle);
end;

procedure TfrmMainForm.SaveSQLString;
var
  SaveFile:String;
begin
  SaveFile:=ExtractFileDir(Application.ExeName)+'\'+ SQL_FILE_NAME;

  edSQLEdit.Lines.SaveToFile(SaveFile);
end;

procedure TfrmMainForm.SaveUserNamePwd;
var
  SaveFile:String;
  SaveFileHandle:TextFile;
begin
  SaveFile:=ExtractFileDir(Application.ExeName)+'\'+ USERNAMEPWD_FILE_NAME;

  AssignFile(SaveFileHandle, SaveFile);
  Rewrite(SaveFileHandle);
  Writeln(SaveFileHandle,UserName);
  Writeln(SaveFileHandle,Pwd);
  CloseFile(SaveFileHandle);
end;

procedure TfrmMainForm.SaveInformation;
begin
  SaveConnectionString;
  SaveConnectionFile;

  SaveSQLString;
  SaveUserNamePwd;
end;

///////////////////////////////////////////////////

procedure TfrmMainForm.LoadConnectionString;
var
  ConnectionString:String;
  LoadFile:String;
  LoadFileHandle:TextFile;
begin
  LoadFile:=ExtractFileDir(Application.ExeName)+'\'+ CONNECTIONSTRING_FILE_NAME;

  if not FileExists(LoadFile) then
    Exit;

  AssignFile(LoadFileHandle, LoadFile);
  Reset(LoadFileHandle);
  Readln(LoadFileHandle,ConnectionString);
  CloseFile(LoadFileHandle);

  edConnectionString.Text:=ConnectionString;
  OldConnectionString:=ConnectionString;
end;

procedure TfrmMainForm.LoadConnectionFile;
var
  ConnectionFile:String;
  LoadFile:String;
  LoadFileHandle:TextFile;
begin
  LoadFile:=ExtractFileDir(Application.ExeName)+'\'+ CONNECTIONFILE_FILE_NAME;

  if not FileExists(LoadFile) then
    Exit;

  AssignFile(LoadFileHandle, LoadFile);
  Reset(LoadFileHandle);
  Readln(LoadFileHandle,ConnectionFile);
  CloseFile(LoadFileHandle);

  edDataLinkFile.Text:=ConnectionFile;
  OldConnectionFile:=ConnectionFile;
end;

procedure TfrmMainForm.LoadSQLString;
var
  LoadFile:String;
begin
  LoadFile:=ExtractFileDir(Application.ExeName)+'\'+ SQL_FILE_NAME;

  if not FileExists(LoadFile) then
    Exit;

  edSQLEdit.Lines.LoadFromFile(LoadFile);
end;

procedure TfrmMainForm.LoadInformation;
begin
  LoadConnectionString;
  LoadConnectionFile;

  LoadSQLString;
end;

////////////////////////////////////////////////////

procedure TfrmMainForm.AddRunTimeToMemo;
var
  AddString:String;
begin
  //计算运行时间
  RunTime:=EndTime-StartTime;
  Times:=Times+1;

  AddString:=inttostr(Times)+'.开始执行时间:'+TimeToStr(StartTime)+'     '+'执行时间:'+TimeToStr(RunTime);
  RunTimeList.Lines.Add(AddString);
end;

procedure TfrmMainForm.SetControlEnabled(Enable: Boolean);
begin
  btRun.Enabled:=Enable;
  btClose.Enabled:=Enable;
  btUserNamePwdClear.Enabled:=Enable;

  UseDataLinkFile.Enabled:=Enable;
  if Enable then
    edDataLinkFile.Enabled:=UseDataLinkFile.Checked
  else
    edDataLinkFile.Enabled:=Enable;

  UseConnectionString.Enabled:=Enable;
  if Enable then
    edConnectionString.Enabled:=UseConnectionString.Checked
  else
    edConnectionString.Enabled:=Enable;

  UseSQLFile.Enabled:=Enable;
  if Enable then
    edSQLFile.Enabled:=UseSQLFile.Checked
  else
    edSQLFile.Enabled:=Enable;

  UseSQLEdit.Enabled:=Enable;
  if Enable then
    edSQLEdit.Enabled:=UseSQLEdit.Checked
  else
    edSQLEdit.Enabled:=Enable;

  edLoopTimes.Enabled:=Enable;
  edIntervalTime.Enabled:=Enable;

  {
  if Enable then
    Imagelist.GetBitmap(0,btRun.Glyph)
  else
    Imagelist.GetBitmap(1,btRun.Glyph);
  }
end;

procedure TfrmMainForm.FormCreate(Sender: TObject);
begin
  LoadInformation;

  {
  Imagelist.GetBitmap(0,btRun.Glyph);
  ImageList.GetBitmap(2,btStop.Glyph);
  ImageList.GetBitmap(3,btClose.Glyph);
  ImageList.GetBitmap(4,btClear.Glyph);
  ImageList.GetBitmap(5,btSave.Glyph);
  }

  ClearMsg;

  RunTimeList.Lines.Clear;
  RunTimeList.Lines.Add('SQL运行时间');

  Times:=0;
  IsStop:=False;
  UserName:='';
  Pwd:='';
end;

procedure TfrmMainForm.btRunClick(Sender: TObject);
begin
  SetControlEnabled(False);
  IsStop:=False;

  application.ProcessMessages;

  ClearMsg;

  if not ExecuteSQL then
  begin
    //显示消息
    ShowMsg(FAILURE);

    SetControlEnabled(True);

    Exit;
  end;
  if IsStop then
  begin
    //显示消息
    ShowMsg(STOP);

    SetControlEnabled(True);

    Exit;
  end;
    
  SaveInformation;
  AddRunTimeToMemo;

  //显示消息
  ShowMsg(SUCCESS);

  SetControlEnabled(True);
end;

procedure TfrmMainForm.btCloseClick(Sender: TObject);
begin
  Self.Close;
end;

procedure TfrmMainForm.btClearClick(Sender: TObject);
begin
  Times:=0;

  RunTimeList.Lines.Clear;
  RunTimeList.Lines.Add('SQL运行时间');
end;

procedure TfrmMainForm.btStopClick(Sender: TObject);
begin
  IsStop:=True;
end;

procedure TfrmMainForm.btSaveClick(Sender: TObject);
begin
  if SaveRunTimeListDlg.Execute then
    RunTimeList.Lines.SaveToFile(SaveRunTimeListDlg.FileName);
end;

procedure TfrmMainForm.btUserNamePwdClearClick(Sender: TObject);
begin
  ClearUserNamePwd;
end;

end.

⌨️ 快捷键说明

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