當前位置:編程學習大全網 - 編程語言 - 能否實現vbs搭界面,C語言實現算法?

能否實現vbs搭界面,C語言實現算法?

能的;

思路關鍵是要使用程序間通信(這個是很復雜的), 或者是程序間互相調用(這個很簡單,也是我的回答所用的方法)

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=a;ob=b;

if (a>b){c=a;a=b;b=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打開輸入框,有參數,就按照代碼輸出它們)

  • 上一篇:內蒙古商務職業學院體育職業學院錫林郭勒職業學院2018招生章程
  • 下一篇:如何建立個人網站?
  • copyright 2024編程學習大全網