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

📄 upublic.pas

📁 制衣管理系统程序+源码,编译通过还不错啊,可以
💻 PAS
字号:
//***************************************
{公共单元:定义公共变量,常量;公共方法过程.
罗朝旺,2002-10-5
l 当生成过程中将一个不可改变的静态记录值赋值给一个记录时,可以使用一个frVariables,就象这样:
frVariables['Reporting Period'] := 'January';
frReport1.ShowReport;
l 当生成过程中将一个可改变的记录值赋值给一个记录时,你可以使用数据字典或TfrReport.OnGetValue事件处理,就象这样:
procedure TForm1.frReport1GetValue(const ParName: String; var ParValue: Variant);
begin
  if AnsiCompareText(ParName, 'Reported Period') = 0 then
    ParValue := Table1OtchPeriod.Value;
end;
l 也可以通过编程为一个变量列表赋值:
with frReport1.Dictionary do
begin
  Variables['Number'] := 1;
  Variables['Sum'] := '0.2 * Table1."Summa"';
  Variables['Date'] := '''' + 'January' + '''';
end;
(在这个例子中需要另外说明的是要定义一个字符常量)。
FastReport中指定给数据字典中的变量的字符串,可以作为一个表达式被计算。常常用来使用一个没有在数据字典中定义的变量。
必须记住的是如果你从frVariables列表中使用变量或者你通过OnGetValue事件遍历它们,它们不能放进数据字典。
}

//***************************************
//单元名称
unit uPublic;

//单元接口
interface

uses
  Windows, Classes, DBGrids, Controls, SysUtils, forms;

const

  csEmail = 'EMail:itluo@hotmail.com';
  csHomePage = 'http://www.itluo.sohu.com';
  csUpdateDate = '2004.05.29';
  iwidth = 20;
  iheight = 130;
  iTop = 102;
  iLeft = 10;


resourcestring
  sdelinfo='删除记录吗? ';
  sclose='欢迎再次使用,退出吗?';
  sformNoOne = '有其他窗体打开,请关闭!';
  //SQuestion='确认吗?';
  //sinfo='提示';
  serror='错误';
  sconnetE = '服务器已关闭,请稍后再连接或选择其他服务器试试!';
  sinitsave = '请确认所有的数据已经保存,退出吗?';
  sexcelerror = '请安装Excel!';
  sOldPassE = '旧密码不正确!';
  sNewPassE = '两次输入的新密码不一致!';
  sDateE = '日期不能为空!';
  sdFromDToE = '开始日期应该小于结束日期!';
  sDelError = '该产品已经发生业务,不能删除!';


  procedure InfoWnd(Msg: String);
  procedure ErrorWnd(Msg: string);
  function QueryWnd(Msg: string): Boolean;
  procedure dbgridnext(sender: Tobject; t: boolean);
  procedure gettime(ddate: Tdatetime);
  procedure runone;
  function xToD(num: real): string;

var
  yea,mon,day,ick:word;
  dqtime:Tdatetime;//当前凭证日期
  path,codeUser,user,cGroup:string;

//实现部分
implementation

uses
   uGlobal;

//application run one
procedure runone;
var
  ZAppName: array[0..127] of char;
  Hold: String;
  Found: HWND;
begin
  Hold := Application.Title;
  Application.Title := 'OnlyOne'
     + IntToStr(HInstance); // 暂时修改窗口标题
  StrPCopy(ZAppName, Hold); // 原窗口标题
  Found := FindWindow(nil, ZAppName); // 查找窗口
  Application.Title := Hold; // 恢复窗口标题
  if Found<>0 then
  begin// 若找到则激活已运行的程序并结束自身
    ShowWindow(Found, SW_SHOW);
    Application.Terminate;
  end;
end;

//gettime
procedure gettime(ddate: Tdatetime);
begin
  dqtime:=ddate;
  DecodeDate(dqtime,yea,mon,day);
end;
//enter代TAB键
procedure dbgridnext(sender: Tobject; t: boolean);
begin
  with TDBgrid(sender) do
  begin
    if selectedindex<fieldcount-1 then
      selectedindex:=selectedindex+1
    else
      begin
        if not DataSource.DataSet.Eof then
          DataSource.DataSet.next
        else
        if t then
          DataSource.DataSet.Append;
          selectedindex:=0;
      end;
  end;
end;
//显示提示窗口
procedure InfoWnd(Msg: String);
begin
  Application.MessageBox(Pchar(Msg), '提示', MB_OK + MB_ICONINFORMATION);
end;

//显示错误窗口
procedure ErrorWnd(Msg: string);
begin
  Application.MessageBox(PChar(Msg), '错误', MB_OK + MB_ICONSTOP);
end;

//显示查询是否窗口
function QueryWnd(Msg: string): Boolean;
begin
  Result := Application.MessageBox(PChar(Msg), '确认吗?',
    MB_YESNO + MB_ICONQUESTION) = IDYES;
end;

function xToD(num: real): string;
const
     d='零壹贰叁肆伍陆柒捌玖分角元拾佰仟万拾佰仟亿';
var
   m,k:string;
   j:integer;
begin
     k:='';
     if num>=0 then
        m:=floattostr(int(num*100+0.01))
     else
        m:=floatToStr(int(-num*100+0.01));

     for j:=length(m) downto 1 do
        k:=k+d[(strtoint(m[Length(m)-j+1])+1)*2-1]+
        d[(strtoint(m[Length(m)-j+1])+1)*2]+d[(10+j)*2-1]+d[(10+j)*2];

     if num>=0 then result:=k
     else result:='负数 '+k;

end;

//END结束单元
end.

⌨️ 快捷键说明

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