xingang1005 发表于 2016-8-4 12:43:00

求助,获取用户在命令行输入的字符串

获取用户输入的字符串,不要用ed.GetString方法,就是用户在命令行输入一串字符串回车之后得到命令行输入的内容,有没有解决方案,帮解决的感激不尽,困扰好久了

xingang1005 发表于 2016-8-4 12:44:00

能解决的给个大红包我都愿意啊

琴剑江山_10184 发表于 2016-8-4 13:27:00


(GETVAR 'LASTPROMPT)
大红包呢,拿来
(defun c:Tt (/ dd)
(setq dd (getstring "\n输入内容:"))
(princ (strcat "\n获取内容:" (GETVAR 'LASTPROMPT)))
(princ)
)

偶尔做做怪 发表于 2016-8-4 22:50:00

.net板块来个.NET的函数
'--------------------输入文字
    Public Shared Function 输入文字(ByVal ts As String) As String
      Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor
      Dim optdou As New PromptStringOptions(vbCrLf & ts)
      optdou.AllowSpaces = False
      Dim resdou = ed.GetString(optdou)
      If resdou.Status = PromptStatus.OK Then
            Dim 文字 As String = resdou.Value
            Return 文字
      Else
            Return New String("")
      End If
    End Function

偶尔做做怪 发表于 2016-8-4 22:55:00

虽然用了GETstring函数,但是返回的是用户输入的字符,满足你的要求,ts是提示信息
dimstr as string=输入文字(“请输入文字”)

偶尔做做怪 发表于 2016-8-6 21:39:00

上面有个错误,这个测试可用
    Public Shared Function 输入文字(ByVal ts As String) As String
      Dim ed As Editor = Application.DocumentManager.MdiActiveDocument.Editor
      Dim optdou As New PromptStringOptions(vbCrLf & ts)
      optdou.AllowSpaces = False '允许空格就=TRUE
      Dim resdou = ed.GetString(optdou)
      If resdou.Status = PromptStatus.OK Then
            Dim 文字 As String = resdou.ToString
            文字 = Mid(文字, 5, 文字.Length - 5)
            Return 文字
      Else
            Return New String("")
      End If
    End Function

xingang1005 发表于 2016-8-9 10:31:00


大神 我用的是C#

xingang1005 发表于 2016-8-9 10:33:00


我得给他翻成C#,如果可行,给你点报酬怎样

xingang1005 发表于 2016-8-9 10:40:00


这个没用的,你这是提示输入字符串,我要的是不提示用户输入

偶尔做做怪 发表于 2016-8-22 19:50:00

没明白你的具体要求哦
页: [1]
查看完整版本: 求助,获取用户在命令行输入的字符串