放到 ... public { Public declarations } // 全局变量 end;var Form1: Form1; ...
就如 kdg2000(天涯) 所说: 可以新建一个 public unit每个需要用到全局函数/变量的只要uses这个单元即可
tglong(Dragon): public段并不是全局的。
private { Private declarations } function matchit(str:string):boolean; function fullmatch(str:string):boolean; public { Public declarations } end;var Form1: TForm1; m_strSZXB:array of string;
可以新建一个 public unit 这个办法比较好些!可有些函数在unit中无法使用。 如while i < strlen(pystring) do放在unit后报错。 代码如下: function getpy(hzchar: string):char; var HzcharWord:Word; begin HzcharWord:=WORD(hzchar[1]) shl 8 + WORD(hzchar[2]); case HzcharWord of $B0A1..$B0C4: Result:='A'; $B0C5..$B2C0: Result:='B'; $B2C1..$B4ED: Result:='C'; $B4EE..$B6E9: Result:='D'; $B6EA..$B7A1: Result:='E'; $B7A2..$B8C0: Result:='F'; $B8C1..$B9FD: Result:='G'; $B9FE..$BBF6: Result:='H'; $BBF7..$BFA5: Result:='J'; $BFA6..$C0AB: Result:='K'; $C0AC..$C2E7: Result:='L'; $C2E8..$C4C2: Result:='M'; $C4C3..$C5B5: Result:='N'; $C5B6..$C5BD: Result:='O'; $C5BE..$C6D9: Result:='P'; $C6DA..$C8BA: Result:='Q'; $C8BB..$C8F5: Result:='R'; $C8F6..$CBF9: Result:='S'; $CBFA..$CDD9: Result:='T'; $CDDA..$CEF3: Result:='W'; $CEF4..$D1B8: Result:='X'; $D1B9..$D4D0: Result:='Y'; $D4D1..$D7F9: Result:='Z'; else result:=char(0); end end;function convert_py(pystring:String):String; var i:Integer; tmpStr:String; begin i:=1; Result:=''; while i < strlen(pystring) do begin tmpStr:=getpy(Copy(pystring,i,2)); if tmpStr <> Char(0) then begin Result:=Result+tmpStr; i:=i + 2; end else begin Result:=Result+copy(pystring,i,1); i:=i + 1; end; end end;
为什么这段代码加在close事件中没有起到作用,不论是选yes还是no都会退出。 i:=Application.MessageBox('是否要退出?','提示',1); If i=7 Then exit else begin ADOConnection1.Close; Application.Terminate; end
楼上: var i: integer; begin i := Application.MessageBox('是否要退出?', '提示', MB_OKCANCEL); if i = IDOK then // close the form else begin ShowMessage('Form not closed'); Action := caNone; end; end;你干吗非得用什么1,7的硬编码?
Form1: TForm1;
//这里
implementation
implementation是对本单元有效!~~~
...
public
{ Public declarations }
// 全局变量
end;var
Form1: Form1;
...
可以新建一个 public unit每个需要用到全局函数/变量的只要uses这个单元即可
public段并不是全局的。
{ Private declarations }
function matchit(str:string):boolean;
function fullmatch(str:string):boolean;
public
{ Public declarations }
end;var
Form1: TForm1;
m_strSZXB:array of string;
这个办法比较好些!可有些函数在unit中无法使用。
如while i < strlen(pystring) do放在unit后报错。
代码如下:
function getpy(hzchar: string):char;
var
HzcharWord:Word;
begin
HzcharWord:=WORD(hzchar[1]) shl 8 + WORD(hzchar[2]);
case HzcharWord of
$B0A1..$B0C4: Result:='A'; $B0C5..$B2C0: Result:='B';
$B2C1..$B4ED: Result:='C'; $B4EE..$B6E9: Result:='D';
$B6EA..$B7A1: Result:='E'; $B7A2..$B8C0: Result:='F';
$B8C1..$B9FD: Result:='G'; $B9FE..$BBF6: Result:='H';
$BBF7..$BFA5: Result:='J'; $BFA6..$C0AB: Result:='K';
$C0AC..$C2E7: Result:='L'; $C2E8..$C4C2: Result:='M';
$C4C3..$C5B5: Result:='N'; $C5B6..$C5BD: Result:='O';
$C5BE..$C6D9: Result:='P'; $C6DA..$C8BA: Result:='Q';
$C8BB..$C8F5: Result:='R'; $C8F6..$CBF9: Result:='S';
$CBFA..$CDD9: Result:='T'; $CDDA..$CEF3: Result:='W';
$CEF4..$D1B8: Result:='X'; $D1B9..$D4D0: Result:='Y';
$D4D1..$D7F9: Result:='Z';
else
result:=char(0);
end
end;function convert_py(pystring:String):String;
var
i:Integer;
tmpStr:String;
begin
i:=1;
Result:='';
while i < strlen(pystring) do
begin
tmpStr:=getpy(Copy(pystring,i,2));
if tmpStr <> Char(0) then
begin
Result:=Result+tmpStr;
i:=i + 2;
end
else
begin
Result:=Result+copy(pystring,i,1);
i:=i + 1;
end;
end
end;
i:=Application.MessageBox('是否要退出?','提示',1);
If i=7 Then
exit
else
begin
ADOConnection1.Close;
Application.Terminate;
end
var
i: integer;
begin
i := Application.MessageBox('是否要退出?', '提示', MB_OKCANCEL);
if i = IDOK then
// close the form
else begin
ShowMessage('Form not closed');
Action := caNone;
end;
end;你干吗非得用什么1,7的硬编码?