svnno****@sourc*****
svnno****@sourc*****
2015年 2月 13日 (金) 17:57:41 JST
Revision: 5779 http://sourceforge.jp/projects/ttssh2/scm/svn/commits/5779 Author: maya Date: 2015-02-13 17:57:40 +0900 (Fri, 13 Feb 2015) Log Message: ----------- dirnamebox マクロコマンドを追加 http://sourceforge.jp/ticket/browse.php?group_id=1412&tid=34696 Modified Paths: -------------- trunk/teraterm/common/helpid.h trunk/teraterm/ttpmacro/ttl.c trunk/teraterm/ttpmacro/ttmparse.c trunk/teraterm/ttpmacro/ttmparse.h -------------- next part -------------- Modified: trunk/teraterm/common/helpid.h =================================================================== --- trunk/teraterm/common/helpid.h 2015-02-13 08:34:51 UTC (rev 5778) +++ trunk/teraterm/common/helpid.h 2015-02-13 08:57:40 UTC (rev 5779) @@ -190,6 +190,7 @@ #define HlpMacroCommandCygConnect 92130 #define HlpMacroCommandDelpassword 92011 #define HlpMacroCommandDirname 92188 +#define HlpMacroCommandDirnameBox 92214 #define HlpMacroCommandDisconnect 92012 #define HlpMacroCommandDispstr 92149 #define HlpMacroCommandDo 92126 Modified: trunk/teraterm/ttpmacro/ttl.c =================================================================== --- trunk/teraterm/ttpmacro/ttl.c 2015-02-13 08:34:51 UTC (rev 5778) +++ trunk/teraterm/ttpmacro/ttl.c 2015-02-13 08:57:40 UTC (rev 5779) @@ -3322,6 +3322,44 @@ return Err; } +WORD TTLDirnameBox() +{ + TStrVal Title; + WORD Err, ValType; + TVarId VarId; + char buf[MAX_PATH]; + TStrVal InitDir = ""; + BOOL ret; + + Err = 0; + GetStrVal(Title, &Err); + if (Err != 0) return Err; + + // get 2nd arg(optional) if given + if (CheckParameterGiven()) { // initdir + GetStrVal(InitDir, &Err); + if (Err != 0) return Err; + } + + if ((Err == 0) && (GetFirstChar() != 0)) + Err = ErrSyntax; + if (Err != 0) return Err; + + SetInputStr(""); + if (CheckVar("inputstr", &ValType, &VarId) && + (ValType == TypString)) { + if (doSelectFolder(HMainWin, buf, sizeof(buf), InitDir, Title)) { + SetInputStr(buf); + ret = 1; + } + else { + ret = 0; + } + SetResult(ret); + } + return Err; +} + #define IdMsgBox 1 #define IdYesNoBox 2 #define IdStatusBox 3 @@ -5900,6 +5938,8 @@ Err = TTLDelPassword(); break; case RsvDirname: Err = TTLDirname(); break; + case RsvDirnameBox: + Err = TTLDirnameBox(); break; case RsvDisconnect: Err = TTLDisconnect(); break; case RsvDispStr: Modified: trunk/teraterm/ttpmacro/ttmparse.c =================================================================== --- trunk/teraterm/ttpmacro/ttmparse.c 2015-02-13 08:34:51 UTC (rev 5778) +++ trunk/teraterm/ttpmacro/ttmparse.c 2015-02-13 08:57:40 UTC (rev 5779) @@ -205,6 +205,7 @@ else if (_stricmp(Str,"dispstr")==0) *WordId = RsvDispStr; else if (_stricmp(Str,"do")==0) *WordId = RsvDo; else if (_stricmp(Str,"dirname")==0) *WordId = RsvDirname; + else if (_stricmp(Str, "dirnamebox") == 0) *WordId = RsvDirnameBox; break; case 'e': if (_stricmp(Str,"else")==0) *WordId = RsvElse; Modified: trunk/teraterm/ttpmacro/ttmparse.h =================================================================== --- trunk/teraterm/ttpmacro/ttmparse.h 2015-02-13 08:34:51 UTC (rev 5778) +++ trunk/teraterm/ttpmacro/ttmparse.h 2015-02-13 08:57:40 UTC (rev 5779) @@ -243,6 +243,7 @@ #define RsvLogAutoClose 211 #define RsvUptime 212 #define RsvGetModemStatus 213 +#define RsvDirnameBox 214 #define RsvOperator 1000 #define RsvBNot 1001