免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 4874 | 回复: 12
打印 上一主题 下一主题

请教不同语言间的程序调用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-06-05 10:56 |只看该作者 |倒序浏览
5可用积分
本来我想直接使用batch调用带参数的Visual Foxpro 7.0程序,但是发现只能调用只带一个参数的程序,那么多参数怎么办呢?
百度了很久都找不到。。。
下面附带一个使用batch调用带一个参数的Visual Foxpro 7.0程序的Code:

  1. START /W "VFP7.exe" "C:\Program Files\Visual Foxpro 7.0\vfp7.exe" **.PRG  %1
复制代码

我现在想通过Perl来调用,不知道各位大虾是否试过怎么调用带多参数的Visual Foxpro 7.0程序。
当然,如果能用batch调用带多参数的Visual Foxpro 7.0程序,偶也给分,因为大不了再多一层逻辑,使用perl调用batch.

[ 本帖最后由 不死草 于 2009-6-10 15:59 编辑 ]

最佳答案

查看完整内容

希望我这次是看懂了,依然有N种方式第一种: 第二种:第三种 : ....... 还可以继续写下去,比如一句话的,其他函数方式的.写多了恐怕被人怀疑是孔乙己在教人写茴字的八 种 写法 .再 就是又 怕理解错了[ 本帖最后由 xti9er 于 2009-6-12 00:56 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2009-06-05 10:56 |只看该作者
原帖由 不死草 于 2009-6-11 13:47 发表
好吧,我现在有一段VF代码

Do 123.prg with a,b,c

我想把这个代码用Perl或者Batch来调用,结果发现只能调用带一个参数的VF语句:

START /W "VFP7.exe" "C:\Program Files\Visual Foxpro 7.0\vfp7.exe" ...



希望我这次是看懂了,依然有N种方式

第一种:

    use Win32::Process;
    use Win32;

    sub ErrorReport{
        print Win32::FormatMessage( Win32::GetLastError() );
    }

    Win32::Process::Create($ProcessObj,
                                "C:\Program Files\Visual Foxpro 7.0\vfp7.exe",
                                "VFP7.exe $ARGV[0] $ARGV[1]",
                                0,
                                NORMAL_PRIORITY_CLASS,
                                ".")|| die ErrorReport();

    $ProcessObj->Suspend();
    $ProcessObj->Resume();
    $ProcessObj->Wait(INFINITE);


   第二种:
use Win32;

Win32::Spawn("c:/windows/notepad.exe","notepad d:/programme/perl/sp.txt",$pid);


第三种 :

  
system("c:/windows/notepad.exe d:/programme/perl/sp.txt");


.......

     还可以继续写下去,比如一句话的,其他函数方式的.写多了恐怕被人怀疑是孔乙己在教人写茴字的八 种 写法 .再 就是又 怕理解错了

[ 本帖最后由 xti9er 于 2009-6-12 00:56 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-06-05 11:00 |只看该作者
封装成WEB SERVICE调用?

论坛徽章:
0
4 [报告]
发表于 2009-06-05 11:06 |只看该作者

回复 #2 ziggler 的帖子

谢谢你的建议,但是貌似太复杂,我现在只是想在Server上执行自动化,如果再封装成WEB SERVICE,那我的boss是不会同意的,改动太大。

论坛徽章:
0
5 [报告]
发表于 2009-06-06 00:04 |只看该作者
原帖由 不死草 于 2009-6-5 10:56 发表
本来我想直接使用batch调用带参数的Visual Foxpro 7.0程序,但是发现只能调用只带一个参数的程序,那么多参数怎么办呢?
百度了很久都找不到。。。
下面附带一个使用batch调用带一个参数的Visual Foxpro 7.0程 ...


当然能带多个参数了

  1. D:\programme\Perl>t.bat a b
  2. 您的第一个参数 a
  3. 您的第二个参数 b

  4. D:\programme\Perl>type t.bat
  5. @echo 您的第一个参数 %1
  6. @echo 您的第二个参数 %2

  7. D:\programme\Perl>t.pl a b
  8. 您的第一个参数a
  9. 您的第二个参数b

  10. D:\programme\Perl>type t.pl

  11. print "您的第一个参数$ARGV[0]\n";

  12. print "您的第二个参数$ARGV[1]\n";

复制代码

论坛徽章:
0
6 [报告]
发表于 2009-06-08 13:10 |只看该作者


事办完了LZ就消失了....

怎么跟 one night stand 一样  ......

论坛徽章:
0
7 [报告]
发表于 2009-06-08 13:50 |只看该作者

论坛徽章:
0
8 [报告]
发表于 2009-06-10 15:43 |只看该作者

回复 #5 xti9er 的帖子

不好意思,呵呵,谢谢大家的回帖,这两天工作有点忙,就没过来看。

论坛徽章:
0
9 [报告]
发表于 2009-06-10 15:46 |只看该作者

回复 #4 xti9er 的帖子

谢谢你的回复,但是你可能没明白我的意思,因为这里的问题的关键是在于VF ,而不是Batch或者Perl的问题,所以你的回复只能解决带多参数的Batch或者Perl。

论坛徽章:
0
10 [报告]
发表于 2009-06-10 15:54 |只看该作者
确实看不懂你啥意思,只有最后一句我比较懂,呵呵。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP