请教高手,怎么样做一个dos命令行下的可执行文件! 比如说我做了一个简单的 form我想做成命令行形式的,在命令行下面带几个参数然后执行,form xxx xxx xxx xxx 应该怎么做,请教各位大哥!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 例子没有如果带FORM的要求带参数,不是用console你可以设置run/parameters里面的parameters设置参数格式:参数1 空格 参数2可以通过函数ParamCount得到命令行的参数个数可以通过函数ParamStr(index:integer)得到对应索引的参数(以0开始);paramstr(0)是程序的名称,根据你的输入则得到paramstr(1),paramstr(2)...返回你的参数 paramStr就是命令行字符串数组呀比如以下的命令行形式: project1.exe test1 test2要得到参数字符串,在程序中: showmessage(paramStr(1));//showmessage('test1');具体参见HELP中的paramStr与paramCount,有例子参考 在你的工程中加入{$apptype Console} {$APPTYPE CONSOLE}program example;uses SysUtils;var a,b,flag:integer;error:string;begin writeln(ParamStr(0)); Writeln(ExtractFileDir(ParamStr(0))); Writeln(ExtractFilePath(ParamStr(0))); Writeln(ExtractFileName(ParamStr(0))); Writeln(ExtractFileExt(ParamStr(0))); Writeln(ExtractFileExt(ParamStr(1))); flag:=0; a:=3; b:=2; writeln(a); writeln(b); a:=a+b; writeln(a); writeln(b); b:=a-b; writeln(a); writeln(b); a:=a-b; writeln(a); writeln(b); while flag=0 do begin try Readln(a); Writeln('Your Input is: ',a); flag:=1; except on e: Exception do begin error:=E.Message +#10+'Pascal Error Number:'+inttostr(E.HelpContext); writeln(error) ; end; // finally end; end; Readln(error);end. ParamStr(1)是第一个参数ParamStr(2)是第2个参数ParamStr(3)是第3个参数 本人写过很多这样的黑软...其实很简单啊说实话我学习delphi就是为了能写这种程序delphi的窗体程序体积太大了 这事道真是变了,以前做的DOS程序简单,做Windows复杂,现在竟然反了 hehe^^ 新建项目时选择“Console Application”,其它的就和普通程序编写没有太大区别了。至于运行参数,就像楼上几位说的,使用ParamStr[]数组就可以了。 解码问题 收取邮件的解码问题 新手急求多线程解决方案。送上50分! 如何实现定时执行一个函数? 在线等待 简单问题,如何改变文件的修改日期 Delphi菜鸟请教大家:如何获取Memo组件的编辑内容的行号? 请问socket.data怎么用,有知道的吗? 请问如何实现用回车健互相跳转edit1? XE4 怎么提高Canvas绘图效率 如何建立有图像字段的数据库! 请问大家有这类图标? 诚求IntraWeb和D8的学习资料,望同仁们相助! 请各位介绍介绍比较好的有灵活的图表功能的报表控件!来者有分!
如果带FORM的要求带参数,不是用console
你可以设置run/parameters里面的parameters设置参数
格式:参数1 空格 参数2
可以通过函数ParamCount得到命令行的参数个数
可以通过函数ParamStr(index:integer)得到对应索引的参数(以0开始);
paramstr(0)是程序的名称,根据你的输入则得到
paramstr(1),paramstr(2)...返回你的参数
project1.exe test1 test2要得到参数字符串,在程序中:
showmessage(paramStr(1));//showmessage('test1');具体参见HELP中的paramStr与paramCount,有例子参考
program example;
uses
SysUtils;
var a,b,flag:integer;
error:string;
begin
writeln(ParamStr(0));
Writeln(ExtractFileDir(ParamStr(0)));
Writeln(ExtractFilePath(ParamStr(0)));
Writeln(ExtractFileName(ParamStr(0)));
Writeln(ExtractFileExt(ParamStr(0)));
Writeln(ExtractFileExt(ParamStr(1)));
flag:=0;
a:=3;
b:=2;
writeln(a);
writeln(b);
a:=a+b;
writeln(a);
writeln(b);
b:=a-b;
writeln(a);
writeln(b);
a:=a-b;
writeln(a);
writeln(b);
while flag=0 do begin
try
Readln(a);
Writeln('Your Input is: ',a);
flag:=1;
except
on e: Exception do
begin
error:=E.Message +#10+'Pascal Error Number:'+inttostr(E.HelpContext);
writeln(error) ;
end;
// finally
end;
end;
Readln(error);
end.
ParamStr(2)是第2个参数
ParamStr(3)是第3个参数
其实很简单啊
说实话我学习delphi就是为了能写这种程序
delphi的窗体程序体积太大了