Foxtable(狐表)用户栏目专家坐堂 → [求助]ft可以做生成工具吗?


  共有6285人关注过本帖树形打印复制链接

主题:[求助]ft可以做生成工具吗?

帅哥哟,离线,有人找我吗?
huhu
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
[求助]ft可以做生成工具吗?  发帖心情 Post By:2015/5/4 15:39:00 [显示全部帖子]

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

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

 

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/5/4 16:16:00 [显示全部帖子]

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

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

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


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

 

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

 


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

 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/5/4 16:29:00 [显示全部帖子]

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

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/5/4 16:42:00 [显示全部帖子]

以下是引用Bin在2015/5/4 16:31:00的发言:
可以的.同样那么加到后面去

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

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


 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/5/4 16:50: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)

这个好像执行有点那个效果。p.StandardInput.WriteLine("ping www.baidu.com")就是这里面的"ping www.baidu.com" 咋样才能更换rom_convert.exe的后面3个参数。还有这个也没有指定目录吧。那如何才能找rom_convert.exe呢?请不吝赐教。


 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/5/4 16:50:00 [显示全部帖子]

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

哦。对,应该动态合成字符串。我试试啊。看看效果能否实现。


 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/5/4 17:24:00 [显示全部帖子]

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("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("DropBox1").Text, 1)-----显示命令了,但为啥没执行rom_convert命令?,没结果。

p.StandardInput.WriteLine("exit")
Dim strRst As String = p.StandardOutput.ReadToEnd()

msgbox(strrst)

 

 


此主题相关图片如下:没执行exe.png
按此在新窗口浏览图片

 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/5/4 17:32:00 [显示全部帖子]

以下是引用Bin在2015/5/4 17:25:00的发言:
用SHELL命令更简便

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("DropBox1").Text, 1)---我试过了啊。可是不知咋地,闪了一下框,然后啥也没有了,也没生成结果。


 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/5/4 17:43:00 [显示全部帖子]

以下是引用大红袍01在2015/5/4 17:36:00的发言:

加入此代码 output.show(("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("DropBox1").Text)

 

然后在foxtable的命令窗口,拷贝对应的字符串,到cmd窗口执行看看

感觉像无形中增加了2个回车。请看附件。

 


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

 回到顶部
帅哥哟,离线,有人找我吗?
huhu
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1165 积分:8129 威望:0 精华:0 注册:2015/3/30 10:44:00
  发帖心情 Post By:2015/5/4 18:03:00 [显示全部帖子]

以下是引用大红袍01在2015/5/4 17:45:00的发言:

 用output.show啊,拷贝命令窗口里面的字符串,到cmd里面执行看看

[此贴子已经被作者于2015/5/4 17:44:54编辑过]

还真把我给搞糊涂了。在生成按钮用output.show,那输出的信息在哪里啊?调试不应该用msgbox吗?

直接在命令输入output.show,也不行吧。肯定不认识e啊。


 回到顶部
总数 24 1 2 3 下一页