能否实现vbs搭界面,C语言实现算法?

能否实现vbs搭界面,C语言实现算法?,第1张

能的;

思路关键是要使用程序间通信(这个是很复杂的), 或者是程序间互相调用(这个很简单,也是我的回答所用的方法)

e.g.

图形界面用vbs

文件名叫: gui.vbs (为了它们可以相互调用,应该把最终可执行文件放在同一个目录下)

set oArgs=wscript.arguments

set WshShell = CreateObject("WScript.Shell")

dim n2

if  oArgs.Count=0 then

 n2=InputBox("Enter 2 numbers "&chr(13)&"like this"&chr(13)&"22 12","求两数的最大公因数")

 if not(isempty(n2)) then

  'msgbox "即将运行"&chr(13)&"cli.exe """ &n2 &""""

  '相互调用的地方是程序调试的重点哦

  wshshell.run "cli.exe """ &n2 &"""",0,true

 end if

else

 a = msgbox ( oargs(0) &"和"&oargs(1) &"的最大公因数经计算发现是:" &chr(13) &oargs(2) &" "&chr(13) &"继续?" , vbYesNo)

 if vbyes= a then

  槐困 wshshell.run "gui.vbs",1,true

 end if

end if

set oArgs=Nothing

cli.c底层代码

//文件名: cli.c 编译到cli.exe,放在与gui.vbs相同的目录下的

#include<stdio.h>

#include<stdlib.h>

int main(int argc, char**argv){

 long c,a,b,oa,ob

 char s[30]

 if (argc <2 ) return 1

 sscanf(argv[1],"%ld%ld",&a,&b)

 oa=aob=b

 if (a>b){c=aa=bb=c}

 while(b!=0){

  c=a

  a=b

  b=c%b

 }

 

 sprintf(s,"gui %ld %ld %ld",oa,ob,a)

 printf("gui %ld %ld %ld\n%s",oa,ob,a,s)

 system(s)

 return 0

}

编译cli.c到cli.exe到当前目录,再用记事本输入gui.vbs到当前目录(以c:\users\john\vbs为例)(可以拷贝代码哪蠢)

如图(最后点击gui.vbs就可以用了,算法部分由c实现,使用sscanf和argv两个东东接收vbs的”输入“,经过一通计算,最后通过system调用回gui.vbs,输出结果;没有参数的执行gui.vbs打开输入框,有参数,就按照代码李明陪输出它们)

具体步骤如下:

第一,在具有语法着色功能的文本编辑器界面中点击语言下拉菜单,然后从中选择VB或VBS代码;

第二,创建一个文本文件,或者利用文本编辑器编写VBS代码;

第三,点击文件段物敬中另存为菜单项,从d出的另存为窗口中将保存握慎类型选择为Alltypes,然后输入文件名点击保存按钮;

第四,保存后将会自动在对应目录中生成相应文件,双击该文件,然后从d出的窗口中输入内容,点击确定蚂袭按钮即可显示对应的d出窗口。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12463019.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存