svnno****@sourc*****
svnno****@sourc*****
2010年 8月 21日 (土) 23:36:58 JST
Revision: 4037 http://sourceforge.jp/projects/ttssh2/svn/view?view=rev&revision=4037 Author: maya Date: 2010-08-21 23:36:58 +0900 (Sat, 21 Aug 2010) Log Message: ----------- strsplit ãã¯ãã³ãã³ãã® count å¼æ°çç¥æã®åä½ãå¤æ´ãã Modified Paths: -------------- trunk/doc/en/html/macro/command/strsplit.html trunk/doc/ja/html/macro/command/strsplit.html trunk/teraterm/ttpmacro/ttl.c -------------- next part -------------- Modified: trunk/doc/en/html/macro/command/strsplit.html =================================================================== --- trunk/doc/en/html/macro/command/strsplit.html 2010-08-21 13:50:37 UTC (rev 4036) +++ trunk/doc/en/html/macro/command/strsplit.html 2010-08-21 14:36:58 UTC (rev 4037) @@ -29,21 +29,26 @@ Splits the string <strval> by the <separator> delimiter, and returns the 9 system variables from "groupmatchstr1" to "groupmatchstr9". </p> -<!--p> -<separator> ÉÍæØèLƵĵ¤¶ð1¶¾¯wè·éB -</p--> +<p> +<!--<separator> ÉÍæØèLƵĵ¤¶ð1¶¾¯wè·éB--> +</p> <p> -The <count> is specified the maximum number of substrings to return.<br> +The <count> is specified the maximum number of substrings to return. The upper limit of <count> is 9.<br> If a number of substrings is smaller than <count>, the remaining groupmatchstr variables stores NULL.<br> -<!--¶ñ̪¶ñ̪ <count> ð´¦éÆ«AÅãÌgroupmatchstrÉÍcè̶ñª·×Äãü³êéB<br> -<count> ªÈª³ê½êÉÍ 9 ÆÝȳêéB--> +<!--¶ñ̪¶ñ̪ <count> ð´¦éÆ«AÅãÌgroupmatchstrÉÍcè̶ñª·×Äãü³êéB--> </p> -<!--p> -ÀÛɪ³ê½ÂðVXeÏ result Éi[·éB -</p--> +<p> +<!--<count> ªÈª³ê½êÉÍAª¶ñÌÅåÍ 9 ÆÝȳêéB<br> +¶ñ̪¶ñ̪ 9 ð´¦éÆ«A<count> ðwèµ½êÆÍᢠ9 ÔÚ̪¶ñÌݪãü³êéB--> +</p> +<p> +<!--ÀÛɪ³ê½ÂðVXeÏ result Éi[·éB<br> +<count> ªÈª³êA¶ñ̪¶ñ̪ 9 ð´¦éÆ«ÍAVXeÏ result É 10 ði[·éB--> +</p> + <h2>Example</h2> <pre class="macro-example"> @@ -88,6 +93,20 @@ messagebox groupmatchstr8 "groupmatchstr8" ; '' messagebox groupmatchstr9 "groupmatchstr9" ; '' messagebox result "result" ; 3 + +src='1,2,3,4,5,6,7,8,9,0' +strsplit src ',' + +messagebox groupmatchstr1 "groupmatchstr1" ; '1' +messagebox groupmatchstr2 "groupmatchstr2" ; '2' +messagebox groupmatchstr3 "groupmatchstr3" ; '3' +messagebox groupmatchstr4 "groupmatchstr4" ; '4' +messagebox groupmatchstr5 "groupmatchstr5" ; '5' +messagebox groupmatchstr6 "groupmatchstr6" ; '6' +messagebox groupmatchstr7 "groupmatchstr7" ; '7' +messagebox groupmatchstr8 "groupmatchstr8" ; '8' +messagebox groupmatchstr9 "groupmatchstr9" ; '9' +messagebox result "result" ; 10 </pre> <h2>Reference</h2> Modified: trunk/doc/ja/html/macro/command/strsplit.html =================================================================== --- trunk/doc/ja/html/macro/command/strsplit.html 2010-08-21 13:50:37 UTC (rev 4036) +++ trunk/doc/ja/html/macro/command/strsplit.html 2010-08-21 14:36:58 UTC (rev 4037) @@ -36,14 +36,19 @@ <p> <count> ÉÍA澷骶ñÌÅåi9Ⱥjðwè·éB <br> ¶ñ̪¶ñ̪ <count> ¢Å éÆ«Aª¶ñªãü³êÈ©Á½groupmatchstrÉÍANULLªãü³êéB<br> -¶ñ̪¶ñ̪ <count> ð´¦éÆ«AÅãÌgroupmatchstrÉÍcè̶ñª·×Äãü³êéB<br> -<count> ªÈª³ê½êÉÍ 9 ÆÝȳêéB +¶ñ̪¶ñ̪ <count> ð´¦éÆ«AÅãÌgroupmatchstrÉÍcè̶ñª·×Äãü³êéB </p> <p> -ÀÛɪ³ê½ÂðVXeÏ result Éi[·éB +<count> ªÈª³ê½êÉÍAª¶ñÌÅåÍ 9 ÆÝȳêéB<br> +¶ñ̪¶ñ̪ 9 ð´¦éÆ«A<count> ðwèµ½êÆÍᢠ9 ÔÚ̪¶ñÌݪãü³êéB </p> +<p> +ÀÛɪ³ê½ÂðVXeÏ result Éi[·éB<br> +<count> ªÈª³êA¶ñ̪¶ñ̪ 9 ð´¦éÆ«ÍAVXeÏ result É 10 ði[·éB +</p> + <h2>á</h2> <pre class="macro-example"> @@ -88,6 +93,20 @@ messagebox groupmatchstr8 "groupmatchstr8" ; '' messagebox groupmatchstr9 "groupmatchstr9" ; '' messagebox result "result" ; 3 + +src='1,2,3,4,5,6,7,8,9,0' +strsplit src ',' + +messagebox groupmatchstr1 "groupmatchstr1" ; '1' +messagebox groupmatchstr2 "groupmatchstr2" ; '2' +messagebox groupmatchstr3 "groupmatchstr3" ; '3' +messagebox groupmatchstr4 "groupmatchstr4" ; '4' +messagebox groupmatchstr5 "groupmatchstr5" ; '5' +messagebox groupmatchstr6 "groupmatchstr6" ; '6' +messagebox groupmatchstr7 "groupmatchstr7" ; '7' +messagebox groupmatchstr8 "groupmatchstr8" ; '8' +messagebox groupmatchstr9 "groupmatchstr9" ; '9' +messagebox result "result" ; 10 </pre> <h2>QÆ</h2> Modified: trunk/teraterm/ttpmacro/ttl.c =================================================================== --- trunk/teraterm/ttpmacro/ttl.c 2010-08-21 13:50:37 UTC (rev 4036) +++ trunk/teraterm/ttpmacro/ttl.c 2010-08-21 14:36:58 UTC (rev 4037) @@ -3641,7 +3641,7 @@ int maxvar; int srclen, len; int i, count; - BOOL ary = FALSE; + BOOL ary = FALSE, omit = FALSE; char *p; char /* *last, */ *tok[MAXVARNUM]; @@ -3664,6 +3664,7 @@ } else { maxvar = 9; + omit = TRUE; } if ((Err==0) && (GetFirstChar()!=0)) @@ -3721,11 +3722,13 @@ p = buf; count = 1; tok[count-1] = p; - for (i=0; i < srclen && count < maxvar; i++) { + for (i=0; i < srclen && count < maxvar + omit; i++) { // count ȪÉÍA´ßªðÌÄé½ß 1 Â]ªÉißé if (*p == *delimchars) { *p = '\0'; count++; - tok[count-1] = p+1; + if (count <= MAXVARNUM) { // tok Ìvfð´¦ÄãüµÈ¢æ¤É·é(count Ȫ̽ß) + tok[count-1] = p+1; + } } p++; }