U_public.pas
上传用户:szruida
上传日期:2007-06-01
资源大小:6518k
文件大小:3k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit U_public;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  5.   ExtCtrls, StdCtrls,DBGrids, DBClient, DB, Registry, winsock;
  6. //定义表中通用的公共变量
  7. function GetNodeLevel(sFormat,sCode:string):integer;//获得节点层数
  8. function TimeNOw():string;//获取当前时间
  9. function YearNow():string;//获取当前的年份
  10. function Encrypt(S:string):string;//加密函数
  11. //*****************************************************************************
  12. var
  13.   user_dm,user_password,user_name:string;//用户代码,密码,用户名
  14.   user_GRoupDm:string;//用户组代码
  15.   psIndexName:string ;
  16.   plAsCend:Boolean;
  17.   Format:string;//编码格式应该是变量
  18.   MaxLevel:integer;//最大编码层次(树节点)应该是变量
  19.   level:integer;//树的层次
  20.   gnodeid:string;//树节点ID
  21.   //gnode:TTreenode;//当前节点
  22.   gnodelevel:integer;//树节点层次
  23.   frm_name,frm_name2:string;
  24.  //系统设置
  25.   sUserID, sUserPwd: string[32];
  26.   sysAdmin: Boolean = false;
  27.   sTopic, bgStr, sPath: string;
  28.   //-----------
  29.   Computer_Ip,rz_nr:string;
  30.   Sys_Time,Sys_tem:string;//系统登陆时间
  31.   implementation
  32. uses mainfrms;
  33. //*****************************************************************************
  34. //获取当前年份
  35. function YearNow():string;
  36. var year,month,day:word;
  37. begin
  38.    decodedate(date,year,month,day);
  39.    result:=intToStr(year);
  40. end;
  41. //参数sFormat传递科目代码结构;
  42. //参数sCode传递某一科目代码
  43. function GetNodeLevel(sFormat,sCode:string):integer;
  44. var
  45.   i,level,ilen:integer;
  46. begin
  47.   level:=-1;
  48.   ilen:=0;
  49.   if (sFormat<>'')and(sCode<>'') then
  50.   begin
  51.      for i:=1 to length(sFormat) do
  52.      //分析编码格式找出当前当前代码层次
  53.       begin
  54.         ilen:=ilen+strtoInt(sFormat[i]);
  55.         if length(sCode)=ilen then
  56.          begin
  57.           level:=i;
  58.           break;
  59.          end;
  60.       end;
  61.      result:=level;
  62.   end;
  63. end; //改函数用于返回某一代码的级数
  64. //以下函数位返回当前时间
  65. function TimeNOw():string;
  66. var
  67.   nowStr,wdStr: string;
  68. begin
  69.   case DayOfWeek(Date()) of
  70.     1: wdStr := '星期日';
  71.     2: wdStr := '星期一';
  72.     3: wdStr := '星期二';
  73.     4: wdStr := '星期三';
  74.     5: wdStr := '星期四';
  75.     6: wdStr := '星期五';
  76.     7: wdStr := '星期六';
  77.   end;
  78.   nowStr:= FormatDateTime('yyyy''年''mm''月''dd''日''hh''时''nn''分''ss''秒''',Now())+'[' + wdStr + ']';
  79.   result:=nowstr;
  80. end;
  81. //加密函数
  82. function Encrypt(S:string):string;
  83. var
  84.   I:integer;
  85.   j:integer;
  86.   Key:Word;
  87. begin
  88.   Result:=S;
  89.   for I:=1 to length(S) do
  90.     begin
  91.     Result[I]:=char(byte(S[I])xor(Key shr 8));
  92.     Key:=(byte(Result[I])+Key)*45678+56789;
  93.     end;
  94.   S:=Result;
  95.   Result:='';
  96.   for i:=1 to length(S) do
  97.     begin
  98.     j:=integer(s[i]);
  99.     Result:=Result+Char(65+(j div 26))+char(65+(j mod 26));
  100.     end;
  101. end;
  102. end.