does AutoIT support recursion?
"Jim Owens" <[email protected]> Fri, 25 Jan 2008 14:58:05 -0000
| Newsgroups | gmane.comp.windows.autoit.user |
|---|---|
| Message-ID | <[email protected]> |
--pCMjGwWuz32-KWFS9llh6LaZ1w232WaW2YhsEQ6
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Some languages I've used, such as Rexx, make a fuss abour supporting
recursion. I have a small project that does require recursion, but I'd
prefer to write it in AutoIT. Can I do it?
The project involves pulling apart or "bursting" some nested XML
nodes, as in:
<concept>
<concept>
<concept>
</concept>
<concept>
</concept>=20
</concept>
<concept>
One way I could do it is with this pseudocode:
Do until end of file
If you find a concept
call function PROCESS_CONCEPT
End
Function PROCESS_CONCEPT
Do until end of concept
If you find another concept=20
/* call this function recursively */
call function PROCESS_CONCEPT
End
End
Save the concept as a file
End=20
I'm also interested in doing this using XML instead of line
processing. I'm looking into _XMLDOMwrapper. Can it be done that way?
--pCMjGwWuz32-KWFS9llh6LaZ1w232WaW2YhsEQ6
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
</head>
<body style="background-color: #ffffff;">
<!--~-|**|PrettyHtmlStartT|**|-~-->
<div id="ygrp-mlmsg" style="width:655px; position:relative;">
<div id="ygrp-msg" style="width: 490px; padding: 0 15px 0 0; float:left; z-index:1;">
<!--~-|**|PrettyHtmlEndT|**|-~-->
<div id="ygrp-text">
<p>Some languages I've used, such as Rexx, make a fuss abour supporting<br>
recursion. I have a small project that does require recursion, but I'd<br>
prefer to write it in AutoIT. Can I do it?<br>
<br>
The project involves pulling apart or "bursting" some nested XML<br>
nodes, as in:<br>
<br>
<concept><br>
<br>
<concept><br>
<br>
<concept><br>
</concept><br>
<br>
<concept><br>
</concept> <br>
<br>
</concept><br>
<br>
<concept><br>
<br>
One way I could do it is with this pseudocode:<br>
<br>
Do until end of file<br>
If you find a concept<br>
call function PROCESS_CONCEPT<br>
End<br>
<br>
Function PROCESS_CONCEPT<br>
Do until end of concept<br>
If you find another concept <br>
/* call this function recursively */<br>
call function PROCESS_CONCEPT<br>
End<br>
End<br>
Save the concept as a file<br>
End <br>
<br>
I'm also interested in doing this using XML instead of line<br>
processing. I'm looking into _XMLDOMwrapper. Can it be done that way?<br>
<br>
</p>
</div>
<!--~-|**|PrettyHtmlStart|**|-~-->
<span width="1" style="color: white;">__._,_.___</span>
<!-- Start the section with Message In topic -->
<div id="ygrp-actbar">
<span class="left">
<a href="http://groups.yahoo.com/group/AutoItList/message/31548;_ylc=X3oDMTM2Y2VjNWM0BF9TAzk3MzU5NzE0BGdycElkAzMwMjM1NTAEZ3Jwc3BJZAMxNzA1MTQ0NzA4BG1zZ0lkAzMxNTQ4BHNlYwNmdHIEc2xrA3Z0cGMEc3RpbWUDMTIwMTI3MzA5MwR0cGNJZAMzMTU0OA--">
Messages in this topic </a> (<span class="bld">1</span>)
</span>
<a href="http://groups.yahoo.com/group/AutoItList/post;_ylc=X3oDMTJxdjdzOG9tBF9TAzk3MzU5NzE0BGdycElkAzMwMjM1NTAEZ3Jwc3BJZAMxNzA1MTQ0NzA4BG1zZ0lkAzMxNTQ4BHNlYwNmdHIEc2xrA3JwbHkEc3RpbWUDMTIwMTI3MzA5Mw--?act=reply&messageNum=31548">
<span class="bld">
Reply </span> (via web post)
</a> |
<a href="http://groups.yahoo.com/group/AutoItList/post;_ylc=X3oDMTJlcXVjODY4BF9TAzk3MzU5NzE0BGdycElkAzMwMjM1NTAEZ3Jwc3BJZAMxNzA1MTQ0NzA4BHNlYwNmdHIEc2xrA250cGMEc3RpbWUDMTIwMTI3MzA5Mw--" class="bld">
Start a new topic </a>
</div>
<!------- Start Nav Bar ------>
<!-- |**|begin egp html banner|**| -->
<div id="ygrp-vitnav">
<a href="http://groups.yahoo.com/group/AutoItList/messages;_ylc=X3oDMTJlOGx1YTI0BF9TAzk3MzU5NzE0BGdycElkAzMwMjM1NTAEZ3Jwc3BJZAMxNzA1MTQ0NzA4BHNlYwNmdHIEc2xrA21zZ3MEc3RpbWUDMTIwMTI3MzA5Mw--">Messages</a>
| <a href="http://groups.yahoo.com/group/AutoItList/files;_ylc=X3oDMTJmYm4zdmVlBF9TAzk3MzU5NzE0BGdycElkAzMwMjM1NTAEZ3Jwc3BJZAMxNzA1MTQ0NzA4BHNlYwNmdHIEc2xrA2ZpbGVzBHN0aW1lAzEyMDEyNzMwOTM-">Files</a>
| <a href="http://groups.yahoo.com/group/AutoItList/photos;_ylc=X3oDMTJlMGI0dWJjBF9TAzk3MzU5NzE0BGdycElkAzMwMjM1NTAEZ3Jwc3BJZAMxNzA1MTQ0NzA4BHNlYwNmdHIEc2xrA3Bob3QEc3RpbWUDMTIwMTI3MzA5Mw--">Photos</a>
| <a href="http://groups.yahoo.com/group/AutoItList/links;_ylc=X3oDMTJmY2FjMHBuBF9TAzk3MzU5NzE0BGdycElkAzMwMjM1NTAEZ3Jwc3BJZAMxNzA1MTQ0NzA4BHNlYwNmdHIEc2xrA2xpbmtzBHN0aW1lAzEyMDEyNzMwOTM-">Links</a>
| <a href="http://groups.yahoo.com/group/AutoItList/database;_ylc=X3oDMTJjaGR0Z2FnBF9TAzk3MzU5NzE0BGdycElkAzMwMjM1NTAEZ3Jwc3BJZAMxNzA1MTQ0NzA4BHNlYwNmdHIEc2xrA2RiBHN0aW1lAzEyMDEyNzMwOTM-">Database</a>
| <a href="http://groups.yahoo.com/group/AutoItList/polls;_ylc=X3oDMTJmdTFwMjAwBF9TAzk3MzU5NzE0BGdycElkAzMwMjM1NTAEZ3Jwc3BJZAMxNzA1MTQ0NzA4BHNlYwNmdHIEc2xrA3BvbGxzBHN0aW1lAzEyMDEyNzMwOTM-">Polls</a>
| <a href="http://groups.yahoo.com/group/AutoItList/members;_ylc=X3oDMTJlOGdza2s3BF9TAzk3MzU5NzE0BGdycElkAzMwMjM1NTAEZ3Jwc3BJZAMxNzA1MTQ0NzA4BHNlYwNmdHIEc2xrA21icnMEc3RpbWUDMTIwMTI3MzA5Mw--">Members</a>
| <a href="http://groups.yahoo.com/group/AutoItList/calendar;_ylc=X3oDMTJkN3E5Y2pnBF9TAzk3MzU5NzE0BGdycElkAzMwMjM1NTAEZ3Jwc3BJZAMxNzA1MTQ0NzA4BHNlYwNmdHIEc2xrA2NhbARzdGltZQMxMjAxMjczMDkz">Calendar</a>
</div>
<!-- |**|end egp html banner|**| -->
<div id="ygrp-mkp">
<div id="hd">MARKETPLACE</div>
<div id="ads">
<div class="ad">
<hr size=1 noshade><a href="http://us.ard.yahoo.com/SIG=12mragivl/M=571476.12066680.12490312.11509771/D=groups/S=1705144708:MKP1/Y=YAHOO/EXP=1201280293/A=5086951/R=0/SIG=12k8pu1n3/*http://college-finder.net/index.cfm?key=yahoo_colfngrouptxt_12066680&c=CA152932587">Earn your degree in as few as 2 years - Advance your career with an AS, BS, MS degree</a> - College-Finder.net. </div>
</div>
</div>
<!-- yahoo logo -->
<!-- |**|begin egp html banner|**| -->
<div id="ygrp-ft">
<a href="http://groups.yahoo.com/;_ylc=X3oDMTJkZnRibGFlBF9TAzk3MzU5NzE0BGdycElkAzMwMjM1NTAEZ3Jwc3BJZAMxNzA1MTQ0NzA4BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMjAxMjczMDkz">
<img src="http://us.i1.yimg.com/us.yimg.com/i/yg/img/logo/ma_grp_160.gif" height="15" width="106" border="0" alt="Yahoo! Groups"></a> <br>
<a href="http://groups.yahoo.com/group/AutoItList/join;_ylc=X3oDMTJmYjd1bHFqBF9TAzk3MzU5NzE0BGdycElkAzMwMjM1NTAEZ3Jwc3BJZAMxNzA1MTQ0NzA4BHNlYwNmdHIEc2xrA3N0bmdzBHN0aW1lAzEyMDEyNzMwOTM-">Change settings via the Web</a> (Yahoo! ID required) <br>
Change settings via email: <a href="mailto:[email protected]?subject=Email Delivery: Digest">Switch delivery to Daily Digest</a> | <a href = "mailto:[email protected]?subject=Change Delivery Format: Traditional">Switch format to Traditional</a> <br>
<a href="http://groups.yahoo.com/group/AutoItList;_ylc=X3oDMTJkazJvNnBnBF9TAzk3MzU5NzE0BGdycElkAzMwMjM1NTAEZ3Jwc3BJZAMxNzA1MTQ0NzA4BHNlYwNmdHIEc2xrA2hwZgRzdGltZQMxMjAxMjczMDkz">
Visit Your Group
</a> |
<a href="http://docs.yahoo.com/info/terms/">
Yahoo! Groups Terms of Use </a> |
<a href="mailto:[email protected]?subject=">
Unsubscribe </a>
</div> <!-- |**|end egp html banner|**| -->
</div> <!-- ygrp-msg -->
<!-- Sponsor -->
<!-- |**|begin egp html banner|**| -->
<div id="ygrp-sponsor" style="width:140px;float: left; clear: none; margin-left: 5px; background:white; margin-bottom:25px ;position:absolute; top:0; right: 0;">
<!-- Network content -->
<!-- Start vitality -->
<div id="ygrp-vital">
<div id="vithd">Recent Activity</div>
<ul style="list-style-type:none; padding: 0; margin: 2px 0;">
<li style="clear: both;">
<div class="ct" style="float: right;"><span style="display:none"> </span>5</div>
<div class="cat"><a href="http://groups.yahoo.com/group/AutoItList/members;_ylc=X3oDMTJmdmx0N2JlBF9TAzk3MzU5NzE0BGdycElkAzMwMjM1NTAEZ3Jwc3BJZAMxNzA1MTQ0NzA4BHNlYwN2dGwEc2xrA3ZtYnJzBHN0aW1lAzEyMDEyNzMwOTM-">New Members</a></div>
</li>
</ul>
<a href="http://groups.yahoo.com/group/AutoItList;_ylc=X3oDMTJlMTRubGU0BF9TAzk3MzU5NzE0BGdycElkAzMwMjM1NTAEZ3Jwc3BJZAMxNzA1MTQ0NzA4BHNlYwN2dGwEc2xrA3ZnaHAEc3RpbWUDMTIwMTI3MzA5Mw--">
Visit Your Group </a>
</div>
<!-- Network content -->
<div id="nc">
<div class="ad">
<div id="hd1">Need traffic?</div>
<p><a href="http://us.ard.yahoo.com/SIG=12j0bktem/M=493064.12016308.12445700.8674578/D=groups/S=1705144708:NC/Y=YAHOO/EXP=1201280293/A=3848644/R=0/SIG=131l83flq/*http://searchmarketing.yahoo.com/arp/srchv2.php?o=US2006&cmp=Yahoo&ctv=Groups5&s=Y&s2=&s3=&b=50">Drive customers</a></p>
<p>With search ads</p>
<p>on Yahoo!</p> </div>
<div class="ad">
<div id="hd1">How-To Zone</div>
<p><a href="http://us.ard.yahoo.com/SIG=12jink6in/M=493064.12117566.12537396.8674578/D=groups/S=1705144708:NC/Y=YAHOO/EXP=1201280293/A=5170406/R=0/SIG=11gfoiqic/*http://advision.webevents.yahoo.com/craftsman/">on Yahoo! Groups</a></p>
<p>Find garden, home</p>
<p>& auto groups.</p> </div>
<div class="ad">
<div id="hd1">Improvement Zone</div>
<p><a href="http://us.ard.yahoo.com/SIG=12jla73la/M=493064.12117552.12537389.8674578/D=groups/S=1705144708:NC/Y=YAHOO/EXP=1201280293/A=5170401/R=0/SIG=11ml7n8m5/*http://advision.webevents.yahoo.com/selfimprovement/">on Yahoo! Groups</a></p>
<p>Find groups about</p>
<p>New Year's goals.</p> </div>
</div>
</div> <!-- |**|end egp html banner|**| -->
<div style="clear:both; color: #FFF; font-size:1px;">.</div>
</div> <img src="http://geo.yahoo.com/serv?s=97359714/grpId=3023550/grpspId=1705144708/msgId=31548/stime=1201273093/nc1=3848644/nc2=5170406/nc3=5170401" width="1" height="1"> <br>
<span style="color: white;">__,_._,___</span>
<!--~-|**|PrettyHtmlEnd|**|-~-->
</body>
<!--~-|**|PrettyHtmlStart|**|-~-->
<head>
<style type="text/css">
<!--
#ygrp-mkp{
border: 1px solid #d8d8d8;
font-family: Arial;
margin: 14px 0px;
padding: 0px 14px;
}
#ygrp-mkp hr{
border: 1px solid #d8d8d8;
}
#ygrp-mkp #hd{
color: #628c2a;
font-size: 85%;
font-weight: bold;
line-height: 122%;
margin: 10px 0px;
}
#ygrp-mkp #ads{
margin-bottom: 10px;
}
#ygrp-mkp .ad{
padding: 0 0;
}
#ygrp-mkp .ad a{
color: #0000ff;
text-decoration: none;
}
-->
</style>
</head>
<head>
<style type="text/css">
<!--
#ygrp-sponsor #ygrp-lc{
font-family: Arial;
}
#ygrp-sponsor #ygrp-lc #hd{
margin: 10px 0px;
font-weight: bold;
font-size: 78%;
line-height: 122%;
}
#ygrp-sponsor #ygrp-lc .ad{
margin-bottom: 10px;
padding: 0 0;
}
-->
</style>
</head>
<head>
<style type="text/css">
<!--
#ygrp-mlmsg {font-size:13px; font-family: arial,helvetica,clean,sans-serif;*font-size:small;*font:x-small;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial,helvetica,clean,sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;*font-size:100%;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family: Georgia;
}
#ygrp-text p{
margin: 0 0 1em 0;
}
#ygrp-tpmsgs{
font-family: Arial;
clear: both;
}
#ygrp-vitnav{
padding-top: 10px;
font-family: Verdana;
font-size: 77%;
margin: 0;
}
#ygrp-vitnav a{
padding: 0 1px;
}
#ygrp-actbar{
clear: both;
margin: 25px 0;
white-space:nowrap;
color: #666;
text-align: right;
}
#ygrp-actbar .left{
float: left;
white-space:nowrap;
}
.bld{font-weight:bold;}
#ygrp-grft{
font-family: Verdana;
font-size: 77%;
padding: 15px 0;
}
#ygrp-ft{
font-family: verdana;
font-size: 77%;
border-top: 1px solid #666;
padding: 5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom: 10px;
}
#ygrp-vital{
background-color: #e0ecee;
margin-bottom: 20px;
padding: 2px 0 8px 8px;
}
#ygrp-vital #vithd{
font-size: 77%;
font-family: Verdana;
font-weight: bold;
color: #333;
text-transform: uppercase;
}
#ygrp-vital ul{
padding: 0;
margin: 2px 0;
}
#ygrp-vital ul li{
list-style-type: none;
clear: both;
border: 1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight: bold;
color: #ff7900;
float: right;
width: 2em;
text-align:right;
padding-right: .5em;
}
#ygrp-vital ul li .cat{
font-weight: bold;
}
#ygrp-vital a{
text-decoration: none;
}
#ygrp-vital a:hover{
text-decoration: underline;
}
#ygrp-sponsor #hd{
color: #999;
font-size: 77%;
}
#ygrp-sponsor #ov{
padding: 6px 13px;
background-color: #e0ecee;
margin-bottom: 20px;
}
#ygrp-sponsor #ov ul{
padding: 0 0 0 8px;
margin: 0;
}
#ygrp-sponsor #ov li{
list-style-type: square;
padding: 6px 0;
font-size: 77%;
}
#ygrp-sponsor #ov li a{
text-decoration: none;
font-size: 130%;
}
#ygrp-sponsor #nc{
background-color: #eee;
margin-bottom: 20px;
padding: 0 8px;
}
#ygrp-sponsor .ad{
padding: 8px 0;
}
#ygrp-sponsor .ad #hd1{
font-family: Arial;
font-weight: bold;
color: #628c2a;
font-size: 100%;
line-height: 122%;
}
#ygrp-sponsor .ad a{
text-decoration: none;
}
#ygrp-sponsor .ad a:hover{
text-decoration: underline;
}
#ygrp-sponsor .ad p{
margin: 0;
}
o{font-size: 0; }
.MsoNormal{
margin: 0 0 0 0;
}
#ygrp-text tt{
font-size: 120%;
}
blockquote{margin: 0 0 0 4px;}
.replbq{margin:4}
-->
</style>
</head>
<!--~-|**|PrettyHtmlEnd|**|-~-->
</html><!--End group email -->
--pCMjGwWuz32-KWFS9llh6LaZ1w232WaW2YhsEQ6--