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

📄 newspas.pas

📁 DELPHI 编写个人工作计划事务管理软件
💻 PAS
字号:
unit Newspas;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, Buttons, ComCtrls;

type
  TNewsForm = class(TForm)
    NewInputPanel: TPanel;
    IsokBut: TBitBtn;
    CancelBut: TBitBtn;
    UseNameLabel: TLabel;
    ED_UseName: TEdit;
    EndDateLabel: TLabel;
    EndDatePick: TDateTimePicker;
    PlanNameLabel: TLabel;
    LevelStateLabel: TLabel;
    CB_LevelState: TComboBox;
    PlanDescriptLabel: TLabel;
    DescriptMemo: TMemo;
    ShowImage: TImage;
    ED_PlanName: TComboBox;
    AppcmdBut: TBitBtn;
    PlanStatueLabel: TLabel;
    CB_PlanStatue: TComboBox;
    procedure FormCreate(Sender: TObject);
    procedure ED_UseNameChange(Sender: TObject);
    procedure EndDatePickChange(Sender: TObject);
    procedure EndDatePickUserInput(Sender: TObject;
      const UserString: String; var DateAndTime: TDateTime;
      var AllowChange: Boolean);
    procedure ED_PlanNameChange(Sender: TObject);
    procedure IsokButClick(Sender: TObject);
    procedure CB_LevelStateChange(Sender: TObject);
    procedure AppcmdButClick(Sender: TObject);
    procedure CB_PlanStatueChange(Sender: TObject);
    procedure DescriptMemoEnter(Sender: TObject);
    procedure DescriptMemoChange(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  NewsForm: TNewsForm;
  IDCountTag : Integer;

implementation

uses Share_Date;
{$R *.dfm}

procedure TNewsForm.FormCreate(Sender: TObject);
var FC_CheckOk : Boolean;
    FC_Dir : String;
    FC_Str : TStringList;
begin
  //==== 窗体创建时的过程代码 ====//
  IDCountTag := Share_DateCount;               //--- 总数输入给标记值 ----//

  ED_UseName.Text := Share_LogName;
  EndDatePick.Date := Date();
  CB_LevelState.ItemIndex := 0;
  CB_PlanStatue.ItemIndex := 0;

  {----------------- 加入历史计划任务 ---------------}
  FC_Dir := ExtractFilePath(Application.ExeName);
  if FC_Dir[Length(FC_Dir)] <> '\' then FC_Dir := FC_Dir + '\';
  ED_PlanName.Clear;

  FC_Str := TStringList.Create;
  Try
    FC_CheckOk := ReadParteFile(FC_Dir + SHAREINIFILE, FC_Str);
    if FC_CheckOk = TRUE then ED_PlanName.Items.AddStrings(FC_Str);
  Finally
    FC_Str.Free;
  end;
  ED_PlanName.ItemIndex := -1;
  //DescriptMemo.Clear;
  IsokBut.Enabled := FALSE;
  AppcmdBut.Enabled := FALSE;
end;

procedure TNewsForm.ED_UseNameChange(Sender: TObject);
begin
  //==== 控件改变时的代码 ====//
  IsokBut.Enabled := TRUE;
  AppcmdBut.Enabled := TRUE;
end;

procedure TNewsForm.EndDatePickChange(Sender: TObject);
begin
  //==== 控件改变时的代码 ====//
  IsokBut.Enabled := TRUE;
  AppcmdBut.Enabled := TRUE;
end;

procedure TNewsForm.EndDatePickUserInput(Sender: TObject;
  const UserString: String; var DateAndTime: TDateTime;
  var AllowChange: Boolean);
begin
  AllowChange := TRUE;
end;

procedure TNewsForm.CB_LevelStateChange(Sender: TObject);
begin
  //==== 任务缓急改变时 ====//
  IsokBut.Enabled := TRUE;
  AppcmdBut.Enabled := TRUE;
end;

procedure TNewsForm.ED_PlanNameChange(Sender: TObject);
begin
  //==== 控件改变时的代码 ====//
  IsokBut.Enabled := TRUE;
  AppcmdBut.Enabled := TRUE;
end;

procedure TNewsForm.CB_PlanStatueChange(Sender: TObject);
begin
  IsokBut.Enabled := TRUE;
  AppcmdBut.Enabled := TRUE;
end;

procedure TNewsForm.IsokButClick(Sender: TObject);
begin
  //==== 提取插入数据库查询语句 ====//
  if AppcmdBut.Enabled = TRUE then AppcmdButClick(AppcmdBut);
end;

procedure TNewsForm.AppcmdButClick(Sender: TObject);
var ABC_SqlStr : String;
    TempStr : String;
begin
  //==== 用户按运用设置就得到字串 ====//
  Inc(IDCountTag);
  AppcmdBut.Enabled := FALSE;

  TempStr := GetStantLenStr(IDCountTag,4);
  TempStr := TempStr + ';' + FormatDateTime('ddd', Date());
  ABC_SqlStr := 'INSERT INTO JihuaTable (ID,JihuaName,JihuaMain,CreateDate,';
  ABC_SqlStr := ABC_SqlStr + 'EndDate,LevelStatus,JihuaStatus,';
  ABC_SqlStr := ABC_SqlStr + 'FinishDate,JihuaRemark) VALUES(''';

  ABC_SqlStr := ABC_SqlStr + GetStantLenStr(IDCountTag,4) + ''',''';
  if Trim(ED_UseName.Text) <> '' then begin
    TempStr := TempStr + ';' + Trim(ED_UseName.Text);
    ABC_SqlStr := ABC_SqlStr + Trim(ED_UseName.Text) + ''',''';
  end else begin
    TempStr := TempStr + ';无名虾';
    ABC_SqlStr := ABC_SqlStr + '无名虾' + ''',''';
  end;
  if Trim(ED_PlanName.Text) <> '' then begin
    TempStr := TempStr + ';' + Trim(ED_PlanName.Text);
    ABC_SqlStr := ABC_SqlStr + Trim(ED_PlanName.Text) + ''',''';
  end else begin
    TempStr := TempStr + ';' + Trim(ED_UseName.Text) + '新任务计划';
    ABC_SqlStr := ABC_SqlStr + Trim(ED_UseName.Text) + '新任务计划' + ''',''';
  end;
  TempStr := TempStr + ';' + FormatDateTime('yyyy-MM-dd hh:mm:ss',Now());
  ABC_SqlStr := ABC_SqlStr + FormatDateTime('yyyy-MM-dd hh:mm:ss',Now()) + ''',''';
  if CompareText('完成', Trim(CB_PlanStatue.Text)) = 0 then begin
    TempStr := TempStr + ';' + FormatDateTime('yyyy-MM-dd', Date());
    ABC_SqlStr := ABC_SqlStr + FormatDateTime('yyyy-MM-dd', Date()) + ''',''';
  end else begin
    TempStr := TempStr + ';' + FormatDateTime('yyyy-MM-dd', EndDatePick.Date);
    ABC_SqlStr := ABC_SqlStr + FormatDateTime('yyyy-MM-dd', EndDatePick.Date) + ''',''';
  end;
  TempStr := TempStr + ';' + GetLevelString(CB_LevelState.ItemIndex + 1);
  ABC_SqlStr := ABC_SqlStr + IntToStr(CB_LevelState.ItemIndex + 1) + ''',''';

  TempStr := TempStr + ';' + Trim(CB_PlanStatue.Text);
  ABC_SqlStr := ABC_SqlStr + Trim(CB_PlanStatue.Text) + ''',''';

  if CompareText('完成', Trim(CB_PlanStatue.Text)) = 0 then begin
    TempStr := TempStr + ';' + FormatDateTime('yyyy-MM-dd', Date());
    ABC_SqlStr := ABC_SqlStr + FormatDateTime('yyyy-MM-dd', Date()) + ''',''';
  end else begin
    TempStr := TempStr + ';' + '';
    ABC_SqlStr := ABC_SqlStr + ''',''';
  end;

  //---- 创建时的计划说明之用 ----//

  if (Pos(';', Trim(DescriptMemo.Text))> 0)OR(Pos(':=', Trim(DescriptMemo.Text))> 0)then begin
    Application.MessageBox('计划说明中含有不可用字符 ; 或 :=', '提示', MB_OK);
    DescriptMemo.SetFocus;
    exit;
  end;
  TempStr := TempStr + ';' + Trim(DescriptMemo.Text);
  ABC_SqlStr := ABC_SqlStr + Trim(DescriptMemo.Text) + ''')';

  TempStr := TempStr + ';' + '';              //---- 用于增加一列空列 ----//

  Share_Str.Add(ABC_SqlStr);                  //---- 保存一条查询记录 ----//
  if Share_SqlStr <> '' then Share_SqlStr := Share_SqlStr + ':=' + TempStr
  else Share_SqlStr := TempStr;

  ED_UseName.Text := Share_LogName;
  EndDatePick.Date := Date();
  ED_PlanName.ItemIndex := -1;
  DescriptMemo.Clear;
  CB_LevelState.ItemIndex := 0;
  CB_PlanStatue.ItemIndex := 0;
end;

procedure TNewsForm.DescriptMemoEnter(Sender: TObject);
begin
  DescriptMemo.Clear;
end;

procedure TNewsForm.DescriptMemoChange(Sender: TObject);
begin
  //==== 计划说明改变时的代码 ====//
  AppcmdBut.Enabled := TRUE;
  IsokBut.Enabled := TRUE;
end;

end.

⌨️ 快捷键说明

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