?? ucommon.~pas
字號(hào):
unit uCommon;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,mmSystem,
StdCtrls, Buttons, ExtCtrls, Grids, DBGrids, ComCtrls, Db, DBTables,inifiles,Nb30,
Winsock,WiniNet;
//設(shè)定ShowModal窗體初始位置
procedure SetWindowPosition(aForm:TForm);
function iif(TJ:Bool;ResultA,ResultB:Variant):Variant;
function fDatestr(dat:Tdate;i:integer):string;
//取網(wǎng)卡地址(MAC)列表
procedure NBGetMac(Strings: TStrings);
//取第一個(gè)非零的網(wǎng)卡地址
function NBGetFirstMac: String;
//判斷指定網(wǎng)卡地址是否存在
function NBIsMacInList(Mac: String): Boolean;
function Decode(ADest: string): string;
function Encode(ASour: string): string;
var
GG_SpellCode:String;
GG_WBCode:String;
GG_StaffID:integer; //員工ID
GG_StaffNO:String; //員工工號(hào)
GG_StaffName:string; //員工姓名
GG_LoginMiMa:string; //員工登錄密碼
GG_StaffClass:string; //員工權(quán)限
GG_MachineNo:String; //機(jī)器號(hào)
GG_NetMAC:string; //加密號(hào)
//ini
pDBIniFile:TIniFile;
gg_IniFilePath:string;
Form_MediInStock_Flags:bool; //藥品入庫窗體標(biāo)示
const
FKey='dddddddgdshagdhswwwwwdgfsgafdgsafdg'; //密嗎
SysTemImeName='中文 (簡體) - 美式鍵盤'; //系統(tǒng)默認(rèn)輸入法
cc_IniFileName='Clothes.ini'; //配置文件名
Normal_Status='01'; //正常
Discard_Status='02'; //作廢
Suspend_Status='03'; //掛單
Invoice_Status='07'; //已經(jīng)打過發(fā)票的
implementation
procedure SetWindowPosition(aForm:TForm);
begin
{height:533; width:655; left:144; top:39 }
with aForm do
begin
//Height:=533;
//Top:=655;
Left:=144;
Top:=39;
end;
end;
function iif(TJ:Bool;ResultA,ResultB:Variant):Variant;
begin
if TJ then
Result:=ResultA
else
Result:=ResultB;
end;
function fDatestr(dat:Tdate;i:integer):string;
var y,m,d:word;
begin
decodedate(dat,y,m,d);
case i of
1: //yyyy/mm/dd
fDatestr:=formatdatetime('yyyy"/"mm"/"dd',dat);
2: //YYYY年MM月DD
fDatestr:=formatdatetime('yyyy"年"mm"月"dd"日"',dat);
3: //YYYYMMDD
fDatestr:=formatdatetime('yyyymmdd',dat);
4: //YYMMDD
fDatestr:=formatdatetime('yymmdd',dat);
5: //YYYY-MM-DD
fDatestr:=formatdatetime('yyyy"-"mm"-"dd',dat);
6:
fDatestr:=formatdatetime('yyyy"-"mm"-"dd',dat)+' 00:00:00';
7:
fDatestr:=formatdatetime('yyyy"-"mm"-"dd',dat)+' 23:59:59';
end;
end;
function NBGetFirstMac: String;
var
Strings: TStringList;
I, J: Integer;
begin
Result := '';
Strings := TStringList.Create;
try
NBGetMac(Strings);
for I := 0 to Strings.Count - 1 do
begin
for J := 1 to Length(Strings.Strings[I]) do
if (Strings.Strings[I][J] <> '0') and
(Strings.Strings[I][J] <> '-') then
begin
Result := Strings.Strings[I];
Break;
end;
if Result <> '' then Break;
end;
finally
Strings.Free;
end;
end;
procedure NBGetMac(Strings: TStrings);
function HexBL(by: Byte): String;
begin
Result := Format('%x', [by]);
if Length(Result) < 2 then
Result := '0' + Result;
end;
var
NCB: TNCB;
Adapter: TAdapterStatus;
LanaEnum: TLanaEnum;
I, J: Integer;
Str: String;
begin
Strings.Clear;
ZeroMemory(@NCB,SizeOf(NCB));
NCB.ncb_command := Chr(NCBENUM);
NetBios(@NCB);
NCB.ncb_buffer := @LanaEnum;
NCB.ncb_length := SizeOf(LanaEnum);
NCB.ncb_command := Chr(NCBENUM);
NetBios(@NCB);
for I := 0 to Ord(LanaEnum.length) - 1 do
begin
ZeroMemory(@NCB,SizeOf(NCB));
NCB.ncb_command := Chr(NCBRESET);
NCB.ncb_lana_num := LanaEnum.lana[I];
NetBios(@NCB);
ZeroMemory(@NCB,SizeOf(NCB));
NCB.ncb_command := Chr(NCBASTAT);
NCB.ncb_lana_num := LanaEnum.lana[I];
StrPCopy(NCB.ncb_callname,'*');
NCB.ncb_buffer := @Adapter;
NCB.ncb_length := SizeOf(Adapter);
NetBios(@NCB);
Str := '';
for J := 0 to 5 do
begin
if J > 0 then Str := Str + '-';
Str := Str + HexBL(Byte(Adapter.adapter_address[J]));
end;
Strings.Add(Str);
end;
end;
function NBIsMacInList(Mac: String): Boolean;
var
Strings: TStringList;
I: Integer;
begin
Result := False;
Strings := TStringList.Create;
try
NBGetMac(Strings);
for I := 0 to Strings.Count - 1 do
begin
if Strings.Strings[I] = Mac then
begin
Result := True;
Break;
end;
end;
finally
Strings.Free;
end;
end;
function Decode(ADest: string): string;
var
I: Integer;
ASour: string;
begin
Result := '';
if Length(ADest) > Length(FKey) then Exit;
ASour := '';
for I:= 1 to Length(ADest) do
begin
ASour := ASour + chr(ord(ADest[I]) xor ord(FKey[I]));
end;
Result := ASour;
end;
function Encode(ASour: string): string;
var
I: Integer;
ADest: string;
begin
Result := '';
if Length(ASour) > Length(FKey) then Exit;
ADest := '';
for I := 1 to Length(ASour) do
ADest:= ADest + chr(ord(ASour[I]) xor ord(FKey[I]));
Result:=ADest;
end;
initialization
{try
gg_IniFilePath:=ExtractFilePath(ParamStr(0))+cc_IniFileName;
if FileExists(gg_IniFilePath) then
begin
pDBIniFile:=TIniFile.Create(gg_IniFilePath);
try
GG_MachineNo:=pDBIniFile.ReadString('Setup','Machine_HAO','01');
GG_NetMAC:=pDBIniFile.ReadString('Setup','Machine','01000000');
finally
pDBIniFile.Free;
end;
end
else begin
ShowMessage('File Not Find!');
Application.Terminate;
end;
finally
end; }
end.
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -