📄 如何在加載操作權限后對數據庫記錄進行定位 (2001.txt
字号:
如何在加載操作權限后對數據庫記錄進行定位 (2001年3月1日)
网友更新 分类:系统 作者:ERP2@263.NET 推荐:ERP2@263.NET 阅读次数:393
(http://www.codesky.net)
--------------------------------------------------------------------------------
可在系統的公用單元中自定儀三表自古過稱
全局變量為﹕
FIELDVALUE:array[0..100] of Variant;
FIELDNAME:array[0..100] of String;
過程名﹕
PROCEDURE GETFIELDVALUE;OVERLOAD;
PROCEDURE GETFIELDNAME;OVERLOAD;
PROCEDURE GOTOCURRENTRECORD;OVERLOAD;
以下程序在delphi5.0下編譯通過
PROCEDURE GETFIELDVALUE;
VAR I,J:INTEGER;ISLOOKUPFIELD:BOOLEAN;
BEGIN
WITH CURRENTDATASET DO
BEGIN
IF ACTIVE=TRUE THEN
IF RECORDCOUNT>0 THEN
BEGIN
ISLOOKUPFIELD:=FALSE;
I:=0;
J:=0;
FOR I:=0 TO FieldCount-1 DO
BEGIN
IF FIELDS[I].LOOKUPDATASET=NIL THEN
BEGIN
ISLOOKUPFIELD:=FALSE;
FIELDVALUE[J]:=FIELDS[I].VALUE;
J:=J+1;
END
ELSE
BEGIN
ISLOOKUPFIELD:=TRUE;
END;
END;
END;
END;
END;
PROCEDURE GETFIELDNAME;
VAR I,J:INTEGER;ISLOOKUPFIELD:BOOLEAN;
BEGIN
LOOKUPFIELDCOUNT:=0;
WITH CURRENTDATASET DO
BEGIN
IF ACTIVE=TRUE THEN
BEGIN
ISLOOKUPFIELD:=FALSE;
I:=0;
J:=0;
FOR I:=0 TO FieldCount-1 DO
BEGIN
IF FIELDS[I].LOOKUPDATASET=NIL THEN
BEGIN
ISLOOKUPFIELD:=FALSE;
FIELDNAME[J]:=FIELDS[I].FIELDNAME;
IF J=0 THEN LOCATEFIELDNAMESTR:=FIELDS[0].FIELDNAME;
IF J>0 THEN LOCATEFIELDNAMESTR:=LOCATEFIELDNAMESTR+';'+FIELDS[I].FIELDNAME;
J:=J+1;
END
ELSE
BEGIN
ISLOOKUPFIELD:=TRUE;
LOOKUPFIELDCOUNT:=LOOKUPFIELDCOUNT+1;
END;
END;
END;
END;
END;
PROCEDURE GOTOCURRENTRECORD;
BEGIN
WITH CURRENTDATASET DO
BEGIN
IF ACTIVE=TRUE THEN
IF RECORDCOUNT>0 THEN
CASE FieldCount-1-LOOKUPFIELDCOUNT OF
0:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0]]),[]);
1:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1]]),[]);
2:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2]]),[]);
3:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3]]),[]);
4:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4]]),[]);
5:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5]]),[]);
6:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6]]),[]);
7:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7]]),[]);
8:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8]]),[]);
9:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9]]),[]);
10:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10]]),[]);
11:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11]]),[]);
12:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12]]),[]);
13:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13]]),[]);
14:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14]]),[]);
15:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14],FIELDVALUE[15]]),[]);
16:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14],FIELDVALUE[15],FIELDVALUE[16]]),[]);
17:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14],FIELDVALUE[15],FIELDVALUE[16],FIELDVALUE[17]]),[]);
18:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14],FIELDVALUE[15],FIELDVALUE[16],FIELDVALUE[17],FIELDVALUE[18]]),[]);
19:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14],FIELDVALUE[15],FIELDVALUE[16],FIELDVALUE[17],FIELDVALUE[18],FIELDVALUE[19]]),[]);
20:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14],FIELDVALUE[15],FIELDVALUE[16],FIELDVALUE[17],FIELDVALUE[18],FIELDVALUE[19],FIELDVALUE[20]]),[]);
21:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14],FIELDVALUE[15],FIELDVALUE[16],FIELDVALUE[17],FIELDVALUE[18],FIELDVALUE[19],FIELDVALUE[20],FIELDVALUE[21]]),[]);
22:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14],FIELDVALUE[15],FIELDVALUE[16],FIELDVALUE[17],FIELDVALUE[18],FIELDVALUE[19],FIELDVALUE[20],FIELDVALUE[21],FIELDVALUE[22]]),[]);
23:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14],FIELDVALUE[15],FIELDVALUE[16],FIELDVALUE[17],FIELDVALUE[18],FIELDVALUE[19],FIELDVALUE[20],FIELDVALUE[21],FIELDVALUE[22],FIELDVALUE[23]]),[]);
24:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14],FIELDVALUE[15],FIELDVALUE[16],FIELDVALUE[17],FIELDVALUE[18],FIELDVALUE[19],FIELDVALUE[20],FIELDVALUE[21],FIELDVALUE[22],FIELDVALUE[23],FIELDVALUE[24]]),[]);
25:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14],FIELDVALUE[15],FIELDVALUE[16],FIELDVALUE[17],FIELDVALUE[18],FIELDVALUE[19],FIELDVALUE[20],FIELDVALUE[21],FIELDVALUE[22],FIELDVALUE[23],FIELDVALUE[24],FIELDVALUE[25]]),[]);
26:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14],FIELDVALUE[15],FIELDVALUE[16],FIELDVALUE[17],FIELDVALUE[18],FIELDVALUE[19],FIELDVALUE[20],FIELDVALUE[21],FIELDVALUE[22],FIELDVALUE[23],FIELDVALUE[24],FIELDVALUE[25],FIELDVALUE[26]]),[]);
27:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14],FIELDVALUE[15],FIELDVALUE[16],FIELDVALUE[17],FIELDVALUE[18],FIELDVALUE[19],FIELDVALUE[20],FIELDVALUE[21],FIELDVALUE[22],FIELDVALUE[23],FIELDVALUE[24],FIELDVALUE[25],FIELDVALUE[26],FIELDVALUE[27]]),[]);
28:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14],FIELDVALUE[15],FIELDVALUE[16],FIELDVALUE[17],FIELDVALUE[18],FIELDVALUE[19],FIELDVALUE[20],FIELDVALUE[21],FIELDVALUE[22],FIELDVALUE[23],FIELDVALUE[24],FIELDVALUE[25],FIELDVALUE[26],FIELDVALUE[27],FIELDVALUE[28]]),[]);
29:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14],FIELDVALUE[15],FIELDVALUE[16],FIELDVALUE[17],FIELDVALUE[18],FIELDVALUE[19],FIELDVALUE[20],FIELDVALUE[21],FIELDVALUE[22],FIELDVALUE[23],FIELDVALUE[24],FIELDVALUE[25],FIELDVALUE[26],FIELDVALUE[27],FIELDVALUE[28],FIELDVALUE[29]]),[]);
30:LOCATE(LOCATEFIELDNAMESTR,VarArrayOf([FIELDVALUE[0],FIELDVALUE[1],FIELDVALUE[2],FIELDVALUE[3],FIELDVALUE[4],FIELDVALUE[5],FIELDVALUE[6],FIELDVALUE[7],FIELDVALUE[8],FIELDVALUE[9],FIELDVALUE[10],FIELDVALUE[11],FIELDVALUE[12],FIELDVALUE[13],FIELDVALUE[14],FIELDVALUE[15],FIELDVALUE[16],FIELDVALUE[17],FIELDVALUE[18],FIELDVALUE[19],FIELDVALUE[20],FIELDVALUE[21],FIELDVALUE[22],FIELDVALUE[23],FIELDVALUE[24],FIELDVALUE[25],FIELDVALUE[26],FIELDVALUE[27],FIELDVALUE[28],FIELDVALUE[29],FIELDVALUE[30]]),[]);
END;
END;
END;
調用方式﹕(注﹕CURRENTDATASET為自定儀的全局Tquery變量)
with CURRENTDATASET do
begin
GETFIELDVALUE;
GETFIELDNAME;
close;
RequestLive:=FALSE;
open;
GOTOCURRENTRECORD;
end;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -