You are right
Works well,
The code can work in almost any situation, thanks again
I want to define a subfunction that does not return a value from the result
macro M2 is successful, macro M1 is not successful, how to fix it?
Macro M2
Macro M1
Works well,
The code can work in almost any situation, thanks again
I want to define a subfunction that does not return a value from the result
macro M2 is successful, macro M1 is not successful, how to fix it?
Macro M2
out
_s=
;using namespace Spire.Doc;
;using namespace Spire.Doc.Documents;
;
;function Main([string[]]$args)
;{
;,function D($p1)
;,{
;,,'{D}'
;,}
;}
;function A($p1, $p2)
;{
;,,'{A}'
;}
;
;function B($p1)
;{
;,,'{B}'
;}
;function C()
;{
;,,'{C}'
;}
out sub.mvmain(_s)
#sub mvmain
function'str str's2
_s=s2
str ss s; int iii i ii lines ec sline
foreach s _s
,if(s.beg("function Main"))
,,sline=i
,,ec=1
,,ii+1
,if(ii=1)
,,if(ec =0) break
,,ss.addline(s -1)
,,lines+1
,,if(findc(s '{')<>-1)
,,,iii+1
,,if(findc(s '}')<>-1)
,,,iii-1
,,,if iii=0
,,,,ec=0
,i+1
_s.RemoveLineN(sline lines)
ss- "[]"; ss.rtrim
_s.addline(ss -1)
_s.replacerx("(?:(?:(?!\n)\s)*\n){2,}" "[][]");;replace multiple blank lines to 1
ret _s
;out _s
Macro M1
out
_s=
;using namespace Spire.Doc;
;using namespace Spire.Doc.Documents;
;
;function Main([string[]]$args)
;{
;,function D($p1)
;,{
;,,'{D}'
;,}
;}
;function A($p1, $p2)
;{
;,,'{A}'
;}
;
;function B($p1)
;{
;,,'{B}'
;}
;function C()
;{
;,,'{C}'
;}
sub.mvmain(_s)
out _s
#sub mvmain
function &s2
_s=s2
str ss s; int iii i ii lines ec sline
foreach s _s
,if(s.beg("function Main"))
,,sline=i
,,ec=1
,,ii+1
,if(ii=1)
,,if(ec =0) break
,,ss.addline(s -1)
,,lines+1
,,if(findc(s '{')<>-1)
,,,iii+1
,,if(findc(s '}')<>-1)
,,,iii-1
,,,if iii=0
,,,,ec=0
,i+1
_s.RemoveLineN(sline lines)
ss- "[]"; ss.rtrim
_s.addline(ss -1)
_s.replacerx("(?:(?:(?!\n)\s)*\n){2,}" "[][]");;replace multiple blank lines to 1
s2=_s
;out _s