
procedure Pascal的过程,子程序的意思,可以供别的程序调用的程序单位。
program Pascal的主程序,主程序是唯一的,一个程序里只能有一个主程序。
function Pascal的函数,另一种可以供别的程序单位调用的程序单位,可以写在表达式中,这是过程和函数的最大区别。函数调用会有一个结果,就是函数的值,也称为函数返回值
Pascal :1)procedure p; 2) function f( x:integer):integer;
C,C++ :1)void p(void); 2) int f(int x);
Basic :1)sub p 2) function f( x as integer) as integer
Fortran:1)subrounte p() 2) funtcion f(x)
integer f,x
program Fortran的主程序,也是这样的。
C,C++的主程序 int main(){return 0;}
早期的 Basic,Pascal ,Fortran 是没有主程序的。
直接编写代码就是主程序了。
Basic 后来用 sub main () ---至少VB 有这个用法,作为主程序,
不过VB可以把Form 作为程序入口。sub main就很少使用了。
先写好一个VBS脚本放在相对于主程序(要调用VBS的程序)的某个目录下,比如主程序叫“mainexe”位置是“D:\test”,VBS脚本(叫“testvbs”)放在“D:\test\A\B\C”,那么调用的命令(C/C++)是:
system("cd/d D:\\test");system("\"A\\B\\C\\testvbs\"");
原理是:CMD脚本可以直接调用VBS脚本,上面的system是用来调用CMD命令的,而CMD命令中可以调用另外的脚本(CMD脚本或VBS或程序等)。所以这样写是间接调用VBS脚本,借助CMD调用了VBS
注意:第一句执行的CMD命令是把CMD的当前目录切换到正确的位置,程序调用CMD命令时CMD的当前目录不程序当前目录,而是CMD的默认路径;system函数的头文件是stdlibh。
完整示例代码:
#include <windowsh>#include <string>
using namespace std;
int main() {
// VBS调用命令文本(使用相对路径的写法, 注意首尾要加双引号)
char vbs[] = "\"\\testvbs\"";
// 获取当前目录字符串的长度
int bufLen = GetCurrentDirectory(0, NULL);
// 分配字符串空间
char pwd = new char[bufLen];
// 正式获取当前目录字符串
GetCurrentDirectory(bufLen, pwd);
// 组装cd命令
string cmd(pwd);
cmdinsert(0, "cd/d ");
// 调用CMD命令, 转移到程序运行目录
system(cmddata());
// 调用CMD命令, 间接调用指定的VBS脚本
system(vbs);
delete[] pwd;
return 0;
}
注意:如果使用开发环境调试的话可能会出现命令执行错误的现象,原因是开发环境调试时的当前目录不是exe文件所在目录,在实际直接执行程序时的当前目录就是exe文件所在目录。
示例VBS脚本(testvbs):
MsgBox("testVBS")测试结果:
我用VC6写的C++,VBS脚本testvbs在图中“try10”目录下,执行的程序“try10exe”在“Debug”目录下。
PS 只要这个语言能调用CMD命令,CMD能调用的这个语言就都能调用,并不存在不界线,借助CMD就能打破界线。
以上就是关于procedure是什么意思 (在编程中的意思)全部的内容,包括:procedure是什么意思 (在编程中的意思)、在C++里执行VBS 如何执行VBS命令啊 比如Wscript.Sleep 5000 '、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)