以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]ft可以做生成工具吗?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67833)

--  作者:huhu
--  发布时间:2015/5/4 15:39:00
--  [求助]ft可以做生成工具吗?

比如我有一套小的生成工具。包括可执行程序:ram-convert.exe,文件:*.ini等。注:在ini里面有字段,包括了起始mac地址,起始序列号等。

正常生成是调用cmd窗口,然后cd到生成环境目录下。然后执行命令ram-convert.exe *.ini 数量。然后自动生成序列号.bin的文件。

 

现在我想做一个图形化的界面,可以在界面上通过鼠标来直接进行操作,这样就不用再cmd里面输入命令来执行了。

不知这样有办法可以实现吗?


--  作者:Bin
--  发布时间:2015/5/4 15:40:00
--  
可以的.   可以通过SHell命令来执行CMD里面的命令


--  作者:huhu
--  发布时间:2015/5/4 16:16:00
--  

这个?感觉不懂啊。能指导一下吗?

这是我正常通过cmd来操作的界面。

 注:rom_convert.exe的命令语法为rom_convert.exe  起始序列号  数量  源INI


图片点击可在新窗口打开查看此主题相关图片如下:cmd界面.png
图片点击可在新窗口打开查看

 

想通过图形化界面来实现。起始序列号,数量,源INI加入我都已填好,那么这里面的生成按钮代码怎么写才能实现cmd所实现的功能。

 


图片点击可在新窗口打开查看此主题相关图片如下:生成工具界面.png
图片点击可在新窗口打开查看

--  作者:Bin
--  发布时间:2015/5/4 16:17:00
--  
看2楼.CMD的命令都可以用SHEL函数执行
--  作者:huhu
--  发布时间:2015/5/4 16:29:00
--  

生成代码:Shell("C:\\Users\\基永\\Desktop\\bootrom(0.3.7)_2108POE(920-7472)\\rom_convert.exe", 1)

为什么cmd窗口闪了一下就没有了?

另外会按照我输入的3个参数来执行吗?比如其实序列号,数量,源INI。


--  作者:Bin
--  发布时间:2015/5/4 16:31:00
--  
可以的.同样那么加到后面去
--  作者:大红袍01
--  发布时间:2015/5/4 16:31:00
--  

 没你说的那么复杂,你可以用 shell 直接写命令,或者直接用 process 也可以。

 

 比如 shell("ping www.baidu.com", 2)

 

 或者

 

Dim p As new Process()
p.StartInfo.FileName = "cmd.exe"

p.StartInfo.UseShellExecute = False \'关闭Shell的使用

p.StartInfo.RedirectStandardInput = True \'重定向标准输入

p.StartInfo.RedirectStandardOutput = True \'重定向标准输出

p.StartInfo.RedirectStandardError = True \'重定向错误输出

p.StartInfo.CreateNoWindow = True \'设置不显示窗口

p.Start()

p.StandardInput.WriteLine("ping www.baidu.com")
p.StandardInput.WriteLine("exit")
Dim strRst As String = p.StandardOutput.ReadToEnd()

msgbox(strrst)


--  作者:huhu
--  发布时间:2015/5/4 16:42:00
--  
以下是引用Bin在2015/5/4 16:31:00的发言:
可以的.同样那么加到后面去

这样肯定是不行的。因为rom_convert.exe后面的3个参数(起始序列号,数量,源INI)不是一成不变的。是变化的啊。代码写死了,那后期怎么办呢,每次做的时候改代码?

我就想点击生成按钮,自动到指定的目录扎到并执行rom_convert.exe。并且它的3个参数就是我界面的值。这样就可以模拟cmd的效果了。


--  作者:Bin
--  发布时间:2015/5/4 16:44:00
--  
你可以动态拼接字符串啊.不用写死啊.可以用文本框输入.或者获取.怎么样控制都行
--  作者:大红袍01
--  发布时间:2015/5/4 16:45:00
--  
以下是引用huhu在2015/5/4 16:42:00的发言:

这样肯定是不行的。因为rom_convert.exe后面的3个参数(起始序列号,数量,源INI)不是一成不变的。是变化的啊。代码写死了,那后期怎么办呢,每次做的时候改代码?

我就想点击生成按钮,自动到指定的目录扎到并执行rom_convert.exe。并且它的3个参数就是我界面的值。这样就可以模拟cmd的效果了。

 

你合并成字符串啊

 

Shell("C:\\Users\\基永\\Desktop\\bootrom(0.3.7)_2108POE(920-7472)\\rom_convert.exe " & e.Form.Controls("TextBox1").Text & " " & e.Form.Controls("TextBox2").Text & " " & e.Form.Controls("TextBox3").Text, 1)