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

📄 easy_gasmain.pas

📁 EasyGasDpr 瓶装液化气 钢瓶 SQL,用户名:SYSTEM 密码:空
💻 PAS
📖 第 1 页 / 共 3 页
字号:
  With TPNT_SET.Create(Application) do
  Begin
    try
      FMT_PNT.Open;
      if Not FMT_PNT.Locate('NAME',Obj_Name,[]) then
      With FMT_PNT do
      Begin
        Append;
        Edit;
        Fieldbyname('NAME').asstring:=Obj_Name;
      end;
      if showmodal=mrok then
      With FMT_PNT do
      Begin
        Edit;
        Post;
      end else FMT_PNT.Cancel;
    finally
      free;
    end;
  end;
end;

Function ExistsMDI(Const MDIMAIN:TForm;MDINAME:String):Boolean;
var MDI_INX:Integer;
Begin
  Result:=False;
  For MDI_INX:=0 to MDIMAIN.MDIChildCount-1 do
  Begin
    if MDIMAIN.MDIChildren[MDI_INX].Name=MDINAME then Result:=True;
  end;
end;


Procedure CTick(BUTTLENO:LongInt;IsBack:Boolean=False);
Begin
  With TMANGTICK.create(Application) do
  Begin
    try
    BOTTLE_NO:=BUTTLENO;
    MANGTICK.open;
    MANGTYPE.Open;
    YH.Open;
    MANGTICK.Append;
    With MANGTICK do
    if showmodal=mrok then
    Begin
      //保存数据
      Edit;Post;
      //如果是退单
      if IsBack then
      Begin
      COMM.commandtext:=format('UPDATE GAS_MANAGE SET 操作值 = - ABS(操作值),有效天数 = - ABS(有效天数) WHERE (票号 = %d)',[Fieldbyname('票号').asInteger]);
      COMM.execute;
      end;
      Refresh;
      B1.open;
      if B1.locate('编码',BUTTLENO,[]) then
      Begin

      //托管日期更改
      if MANGTick.FieldByName('归属').AsString='托管' then
      Begin
        B1.edit;
        if B1.Fieldbyname('托管到期').IsNull then
        B1.FieldByName('托管到期').AsDateTime:=TDate(B1.FieldByName('出厂时间').AsDateTime)+MANGTICK.fieldbyname('有效天数').asInteger else
        B1.FieldByName('托管到期').AsDateTime:=TDate(B1.FieldByName('托管到期').AsDateTime)+MANGTICK.fieldbyname('有效天数').asInteger;
        B1.Post;
      end;
      //年审日期更改
      if MANGTick.FieldByName('归属').AsString='年审' then
      Begin
        B1.edit;
        if B1.Fieldbyname('年审到期').IsNull then
        B1.FieldByName('年审到期').AsDateTime:=TDate(B1.FieldByName('出厂时间').AsDateTime)+MANGTICK.fieldbyname('有效天数').asInteger else
        B1.FieldByName('年审到期').AsDateTime:=TDate(B1.FieldByName('年审到期').AsDateTime)+MANGTICK.fieldbyname('有效天数').asInteger;
        B1.Post;
      end;
      //写入押金信息
      if MANGTick.FieldByName('归属').AsString='押金' then
      With BUTTLE do
      Begin
        Open;
        if Locate('编码',BUTTLENO,[]) then
        Begin
          Edit;
          Fieldbyname('押金').AsCurrency:=Fieldbyname('押金').AsCurrency+MANGTICK.fieldbyname('操作值').AsCurrency;
          Post;
        end;
      end;
      b1.close;
      end;

    end else Cancel;
    finally

    free;
    end;
  end;
end;

Procedure GridExport(Grid:TDBGridEH);
var ExpClass:TDBGridEhExportClass;
    Ext:String;
begin
  With MAINFORM do
  With Grid do
  begin
    SaveD.FileName := 'file1';
    if SaveD.Execute then
    begin
    case SaveD.FilterIndex of
    1: begin ExpClass := TDBGridEhExportAsText; Ext := 'txt'; end;
    2: begin ExpClass := TDBGridEhExportAsCSV; Ext := 'csv'; end;
    3: begin ExpClass := TDBGridEhExportAsHTML; Ext := 'htm'; end;
    4: begin ExpClass := TDBGridEhExportAsRTF; Ext := 'rtf'; end;
    5: begin ExpClass := TDBGridEhExportAsXLS; Ext := 'xls'; end;
    else ExpClass := nil; Ext := '';
    end;
    if ExpClass <> nil then
    begin
    if UpperCase(Copy(SaveD.FileName,Length(SaveD.FileName)-2,3)) <>
    UpperCase(Ext) then
    SaveD.FileName := SaveD.FileName + '.' + Ext;
    SaveDBGridEhToExportFile(ExpClass,Grid,SaveD.FileName,True);
    end;
    end;
  end;
end;

Procedure GridFind(Grid:TDBGridEH);
var SelText:string;
begin
//  inherited;
  SelText:=GRID.DataSource.DataSet.FieldByName(GRID.Columns[GRID.SelectedIndex].FieldName).AsString;
  ExecuteDBGridEhFindDialogProc(GRID,SelText,'',nil,GRID.IsFindDialogShowAsModal);
end;

procedure GridTitleClick(Sender: TObject; ACol: Integer;  Column: TColumnEh);
var sortstring:string;
begin
with Column do
begin
  if FieldName = '' then Exit;
  case Title.SortMarker of
  smNoneEh:
  begin
    Title.SortMarker := smDownEh;
    sortstring := Column.FieldName + ' ASC';
  end;
  smDownEh: sortstring := Column.FieldName + ' ASC';
  smUpEh: sortstring := Column.FieldName + ' DESC';
end;
try
TADODataset(TDBGridEH(Sender).DataSource.DataSet).Sort := sortstring;
except
end;
end;
end;

Function GetCountFormName(NameS:String):Real;
Begin
  With MAINFORM.BTT do
  Begin
  Result:=0;
  Open;
  try
  if Locate('钢瓶类型',Names,[]) then
  Begin
    Result:=Fieldbyname('灌装规格').asFloat;
  end;
  finally
  Close;
  end;
  end;
end;

Function SelArea:TArea;
var Stream:TStream;
begin
  With TAREADlg.create(Application) do
  Begin
    Stream:=ReadBlob('区域设置');
    TV.LoadFromStream(Stream);
    try
    if showmodal=mrok then
    Begin
      Result.AREA:=TV.Selected.Parent.Text;
      Result.SUB_AREA:=TV.Selected.Text;
    end;
    finally
    Stream.free;
    free;
    end;
  end;
end;

Function GetFull(TreeView:TTreeView;Node:TTreeNode):String;
var I:Integer;
    TEMP:TTreenode;
Begin
  Temp:=Node;
  Result:='';
  With TreeView do
  For I:=0 to Node.Level  do
  Begin
    if TEMP<>nil then
    Result:=Result+'<='+Temp.Text;
    Temp:=Temp.Parent;
  end;
  Result:=Copy(Result,3,Length(Result));
end;

Function ReadBool(SName:String):Boolean;
Begin
  Result:=False;
  With MAINFORM.SYS_VALUES do
  Begin
    Open;
    try
      if Locate('名称',SName,[]) then Result:=Fieldbyname('VAR_BOOL').asBoolean;
    finally
    close;
    end;
  end;
end;

Function ReadFloat(SName:String):Real;
Begin
  Result:=0;
  With MAINFORM.SYS_VALUES do
  Begin
    Open;
    try
      if Locate('名称',SName,[]) then Result:=Fieldbyname('VAR_FLOAT').asFloat;
    finally
    close;
    end;
  end;
end;

Function ReadStr(SName:String):String;
Begin
  With MAINFORM.SYS_VALUES do
  Begin
    Open;
    try
      if Locate('名称',SName,[]) then Result:=Fieldbyname('VAR_STR').asString;
    finally
    close;
    end;
  end;
end;

Function ReadBlob(SName:String):TStream;
Begin
  With MAINFORM.SYS_VALUES do
  Begin
    Result:=TMemoryStream.Create;
    Open;
    try
      if Locate('名称',SName,[]) then TBlobField(Fieldbyname('VAR_BLOB')).SaveToStream(Result);
      Result.Position:=0;
    finally
    close;
    end;
  end;
end;

Function Readtext(SName:String):TStrings;
Begin
  With MAINFORM.SYS_VALUES do
  Begin
    Result:=TStringList.Create;
    Open;
    try
      if Locate('名称',SName,[]) then Result.assign(TBlobField(Fieldbyname('VAR_TEXT')));
    finally
    close;
    end;
  end;
end;

Procedure WriteStr(SName:String;Value:String);
Begin
  With MAINFORM.SYS_VALUES do
  Begin
    Open;
    try
      if Not Locate('名称',SName,[]) then
      Append;
      Edit;
      Fieldbyname('名称').AsString:=SName;
      Fieldbyname('VAR_STR').AsString:=Value;
      Post;
    finally
    close;
    end;
  end;
end;

Procedure WriteBool(SName:String;Value:Boolean);
Begin
  With MAINFORM.SYS_VALUES do
  Begin
    Open;
    try
      if Not Locate('名称',SName,[]) then
      Append;
      Edit;
      Fieldbyname('名称').AsString:=SName;
      Fieldbyname('VAR_Bool').AsBoolean:=Value;
      Post;
    finally
    close;
    end;
  end;
end;

Procedure WriteFloat(SName:String;Value:Real);
Begin
  With MAINFORM.SYS_VALUES do
  Begin
    Open;
    try
      if Not Locate('名称',SName,[]) then
      Append;
      Edit;
      Fieldbyname('名称').AsString:=SName;
      Fieldbyname('VAR_FLOAT').AsFloat:=Value;
      Post;
    finally
    close;
    end;
  end;
end;

Procedure WriteTEXT(SName:String;var TEXT:TStrings);
Begin
  With MAINFORM.SYS_VALUES do
  Begin
    Open;
    try
      if Not Locate('名称',SName,[]) then
      Append;
      Edit;
      Fieldbyname('名称').AsString:=SName;
      TBlobField(Fieldbyname('VAR_TEXT')).Assign(Text);
      Post;
    finally
    close;
    end;
  end;
end;

Procedure WriteBLOB(SName:String;var BLOB:TStream);
Begin
  With MAINFORM.SYS_VALUES do
  Begin
    Open;
    try
      if Not Locate('名称',SName,[]) then Append;
      Edit;
      Fieldbyname('名称').AsString:=SName;
      TBlobField(Fieldbyname('VAR_BLOB')).LoadFromStream(BLOB);
      Post;
    finally
    close;
    end;
  end;
end;

Function ClientDir:String;
var TempStr:String;
Begin
TempStr:=ExtractFileDir(Application.Exename);
if Copy(TempStr,Length(TempStr),1)='\' then Result:=TempStr else Result:=TempStr+'\';
end;

Function PCName:String;
var pcComputer:PChar;
    dwCSize:DWORD;
begin
   dwCSize := MAX_COMPUTERNAME_LENGTH+1;
   result:='';
   GetMem(pcComputer,dwCSize);
   try
   if Windows.GetComputerName(pcComputer,dwCSize) then Result:=pcComputer;
   finally
      FreeMem(pcComputer);
   end;
end;

procedure TMAINFORM.AREA_SETExecute(Sender: TObject);
var Stream:TStream;
begin
  With TAREADlg.create(Application) do
  Begin
    Stream:=ReadBlob('区域设置');
    Editing:=True;
    TV.LoadFromStream(Stream);
    Stream.Free;
    Stream:=TMemoryStream.Create;
    try
    if showmodal=mrok then
    Begin
      TV.saveToStream(Stream);
      Stream.Position:=0;
      WriteBlob('区域设置',Stream);
    end;
    finally
    Stream.free;
    free;
    end;
  end;
end;

procedure TMAINFORM.BOTTLE_TYPEExecute(Sender: TObject);
begin
  With TBOTTLETYPE.create(Application) do
  Begin
    try
    TYPES.open;
    if showmodal=mrok then
    Begin
      TYPES.edit;
      TYPES.post;
    end else TYPES.cancel;
    finally
    free;
    end;
  end;
end;



procedure TMAINFORM.SaveDataAccept(Sender: TObject);
begin
  DeleteFile(Savedata.Dialog.FileName);
  ADOCOMM.commandtext:='BACKUP DATABASE EASYPOS TO DISK = '+#39+SaveData.Dialog.FileName+#39;
  ADOCOMM.Execute;

⌨️ 快捷键说明

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