第五章 工作流定义工具的设计与实现(四)_宪华_新浪博客.mht

来自「包括电子政务系统的架构设计、工作流引擎的设计与开发、工作流图形定义工具的设计与开」· MHT 代码 · 共 1,104 行 · 第 1/5 页

MHT
1,104
字号
{</P>
<P>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
&nbsp;<WBR>&nbsp;<WBR>=20
//=E5=AE=9A=E4=B9=89=E4=B8=B4=E6=97=B6=E6=95=B0=E7=BB=84<BR>&nbsp;<WBR>&n=
bsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WB=
R>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp=
;<WBR>=20
TransitionRecords temparray=3Dnew TransitionRecords();</P>
<P>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
&nbsp;<WBR>&nbsp;<WBR>=20
//=E9=81=8D=E5=8E=86=E8=BF=81=E7=A7=BB=E5=AF=B9=E8=B1=A1=E6=95=B0=E7=BB=84=
=EF=BC=8C=E6=89=BE=E5=87=BA=E7=AC=A6=E5=90=88=E6=9D=A1=E4=BB=B6=E7=9A=84=E8=
=BF=81=E7=A7=BB=E5=AF=B9=E8=B1=A1=E5=B9=B6=E6=B7=BB=E5=8A=A0=E5=88=B0=E4=B8=
=B4=E6=97=B6=E6=95=B0=E7=BB=84<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;=
<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&n=
bsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
&nbsp;<WBR>for(int=20
i=3D0;i&lt;TransitionList.Count;i++)<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<=
WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
{</P>
<P>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<=
WBR>=20
//=E5=88=A4=E6=96=AD=E8=BF=81=E7=A7=BB=E6=98=AF=E5=90=A6=E6=98=AF=E4=BB=8E=
=E7=BB=99=E5=AE=9A=E8=8A=82=E7=82=B9=E5=BC=95=E5=87=BA<BR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<=
WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
if(GetTransition(i).FromNode =3D=3D=20
nodename)<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp=
;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&=
nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<W=
BR>&nbsp;<WBR>=20
temparray.AddTransition(GetTransition(i));<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp=
;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&=
nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
}<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&n=
bsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WB=
R>&nbsp;<WBR>&nbsp;<WBR>=20
if(temparray.Count &gt;=3D=20
1)<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&=
nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<W=
BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
return=20
temparray;<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
else<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR=
>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;=
<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
&nbsp;<WBR>return=20
null;<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WB=
R>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
}</P>
<P>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
//=E8=8E=B7=E5=8F=96=E6=8C=87=E5=90=91=E7=BB=99=E5=AE=9A=E8=8A=82=E7=82=B9=
=E7=9A=84=E8=BF=81=E7=A7=BB=E5=AF=B9=E8=B1=A1=E9=9B=86=E5=90=88<BR>&nbsp;=
<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&n=
bsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>public=20
TransitionRecords GetToNodeTransition(string=20
nodename)<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp=
;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
{<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&n=
bsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WB=
R>&nbsp;<WBR>=20
TransitionRecords temparray=3Dnew TransitionRecords();</P>
<P>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
&nbsp;<WBR>=20
//=E9=81=8D=E5=8E=86=E8=BF=81=E7=A7=BB=E5=AF=B9=E8=B1=A1=E6=95=B0=E7=BB=84=
=EF=BC=8C=E6=89=BE=E5=87=BA=E7=AC=A6=E5=90=88=E6=9D=A1=E4=BB=B6=E7=9A=84=E8=
=BF=81=E7=A7=BB=E5=AF=B9=E8=B1=A1=E5=B9=B6=E6=B7=BB=E5=8A=A0=E5=88=B0=E4=B8=
=B4=E6=97=B6=E6=95=B0=E7=BB=84<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;=
<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&n=
bsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
for(int=20
i=3D0;i&lt;TransitionList.Count;i++)<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<=
WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
{</P>
<P>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
//=E5=88=A4=E6=96=AD=E8=BF=81=E7=A7=BB=E6=98=AF=E5=90=A6=E6=8C=87=E5=90=91=
=E7=BB=99=E5=AE=9A=E8=8A=82=E7=82=B9<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<=
WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nb=
sp;<WBR>&nbsp;<WBR>=20
if(GetTransition(i).ToNode =3D=3D=20
nodename)<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp=
;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&=
nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<W=
BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>temparray.AddTr=
ansition(GetTransition(i));<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WB=
R>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp=
;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
}<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&n=
bsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WB=
R>&nbsp;<WBR>=20
if(temparray.Count &gt;=3D=20
1)<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&=
nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<W=
BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
return=20
temparray;<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
&nbsp;<WBR>&nbsp;<WBR>=20
else<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR=
>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;=
<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
return=20
null;<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WB=
R>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
}<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&n=
bsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
//=E5=88=A4=E6=96=AD=E4=B8=A4=E4=B8=AA=E8=8A=82=E7=82=B9=E4=B9=8B=E9=97=B4=
=E6=98=AF=E5=90=A6=E5=B7=B2=E7=BB=8F=E5=AD=98=E5=9C=A8=E4=B8=80=E6=9D=A1=E8=
=BF=81=E7=A7=BB=EF=BC=88=E4=B8=A4=E4=B8=AA=E8=8A=82=E7=82=B9=E9=97=B4=E5=8F=
=AA=E8=83=BD=E5=AD=98=E5=9C=A8=E4=B8=80=E6=9D=A1=E8=BF=81=E7=A7=BB=EF=BC=89=
<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nb=
sp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>public=20
bool HasTransitionBetweenTwoN<WBR>odes(string node1,string=20
node2)<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<W=
BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
{</P>
<P>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
=20
//=E9=81=8D=E5=8E=86=E8=BF=81=E7=A7=BB=E6=95=B0=E7=BB=84=EF=BC=8C=E5=88=A4=
=E6=96=AD=E8=BF=81=E7=A7=BB=E6=98=AF=E5=90=A6=E6=98=AF=E8=BF=9E=E6=8E=A5=E7=
=BB=99=E5=AE=9A=E7=9A=84=E4=B8=A4=E4=B8=AA=E8=8A=82=E7=82=B9<BR>&nbsp;<WB=
R>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp=
;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
for(int=20
i=3D0;i&lt;TransitionList.Count;i++)<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<=
WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
{<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&n=
bsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WB=
R>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
if((GetTransition(i).ToNode =3D=3D node1 || GetTransition(i).ToNode =
=3D=3D node2)</P>
<P>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<=
WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
&amp; (GetTransition(i).FromNode =3D=3D node1 || =
GetTransition(i).FromNode</P>
<P>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<=
WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nb=
sp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
=3D=3D=20
node2))<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<=
WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nb=
sp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
return=20
true;<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WB=
R>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp=
;<WBR>&nbsp;<WBR>}<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<=
WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nb=
sp;<WBR>&nbsp;<WBR>=20
return=20
false;<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<W=
BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
}<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&n=
bsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
//=E4=BF=9D=E5=AD=98=E8=BF=81=E7=A7=BB<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WB=
R>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
public bool SaveTransitions(NodeRecords nodearray,int=20
processid)<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=20
{<BR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&n=
bsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WB=
R>=20
//=E5=A6=82=E6=9E=9C=E5=9C=A8=E7=94=BB=E5=9B=BE=E6=97=B6=E5=85=88=E6=B7=BB=
=E5=8A=A0=E4=BA=86=E8=BF=9E=E6=8E=A5=E8=8A=82=E7=82=B9=EF=BC=8C=E5=86=8D=E6=
=B7=BB=E5=8A=A0=E5=85=B6=E5=88=86=E6=94=AF=E4=BB=BB=E5=8A=A1=E8=8A=82=E7=82=
=B9=EF=BC=8C=E7=94=B1=E4=BA=8E=E5=A4=84=E7=90=86join=E8=8A=82=E7=82=B9=E6=
=97=B6=E5=B0=86=E8=BF=81=E7=A7=BB=E6=95=B0</P>
<P>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
=20
//=E7=BB=84=E4=B8=AD=E4=B8=8Ejoin=E8=8A=82=E7=82=B9=E5=85=B3=E8=81=94=E7=9A=
=84=E8=BF=81=E7=A7=BB=E6=94=B9=E4=B8=BA=E4=BA=86join=E8=8A=82=E7=82=B9=E5=
=89=8D=E5=90=8E=E7=9A=84=E4=B8=A4=E4=B8=AA=E4=BB=BB=E5=8A=A1=E8=8A=82=E7=82=
=B9=E7=9B=B8=E8=BF=9E=EF=BC=88=E5=90=8C=E6=97=B6=E8=AE=BE=E7=BD=AEjoin=E8=
=8A=82=E7=82=B9</P>
<P>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
=20
//=E5=90=8E=E7=BB=A7=E4=BB=BB=E5=8A=A1=E8=8A=82=E7=82=B9=E7=9A=84=E8=BF=87=
=E7=A8=8B=E9=80=BB=E8=BE=91=E5=B1=9E=E6=80=A7=EF=BC=8C=E4=BB=A5=E4=BB=A3=E6=
=9B=BFjoin=E8=8A=82=E7=82=B9=E7=9A=84=E8=BF=87=E7=A8=8B=E9=80=BB=E8=BE=91=
=E5=8A=9F=E8=83=BD=EF=BC=89=EF=BC=8C=E5=9B=A0=E6=AD=A4=E5=8F=AF=E8=83=BD=E9=
=80=A0=E6=88=90=E4=BF=9D=E5=AD=98=E4=BA=86</P>
<P>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
=20
//=E4=B8=A4=E4=B8=AA=E7=9B=B8=E5=90=8C=E7=9A=84=E8=BF=81=E7=A7=BB=E3=80=82=
=E4=B8=BA=E8=A7=A3=E5=86=B3=E8=BF=99=E4=B8=AA=E9=97=AE=E9=A2=98=EF=BC=8C=E4=
=B8=80=E4=B8=AA=E6=96=B9=E6=B3=95=E6=98=AF=E5=9C=A8=E4=BF=9D=E5=AD=98=E8=BF=
=81=E7=A7=BB=E6=95=B0=E7=BB=84=E5=88=B0=E6=95=B0=E6=8D=AE=E5=BA=93=E4=B9=8B=
=E5=89=8D,=E5=88=A0=E9=99=A4=E9=87=8D=E5=A4=8D</P>
<P>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
=20
//=E7=9A=84=E8=BF=81=E7=A7=BB;=E5=8F=A6=E4=B8=80=E4=B8=AA=E5=8A=9E=E6=B3=95=
=E6=98=AF=E5=9C=A8=E4=BF=AE=E6=94=B9=E8=BF=81=E7=A7=BB=E5=89=8D=E5=BA=94=E8=
=AF=A5=E9=80=9A=E8=BF=87=E6=96=B0=E5=BB=BA=E8=BF=81=E7=A7=BB=E5=AF=B9=E8=B1=
=A1=EF=BC=8C=E5=A4=8D=E5=88=B6=E8=BF=81=E7=A7=BB=E6=95=B0=E7=BB=84=E4=B8=AD=
=E7=9A=84=E5=AF=B9=E5=BA=94=E7=9A=84=E8=BF=81</P>
<P>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbs=
p;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>&nbsp;<WBR>=
=20

⌨️ 快捷键说明

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