已下代码,是C开发的无窗口DOS命令形式运行的EXE,用DELPHI怎么完成!谢谢 ( 积分: 100 )

  • 主题发起人 主题发起人 linjifan
  • 开始时间 开始时间
L

linjifan

Unregistered / Unconfirmed
GUEST, unregistred user!
已下代码,是C开发的无窗口DOS命令形式运行的EXE,用DELPHI怎么完成!谢谢
void main()
{
int status;
/* printf("%s,%s",getenv("USERNAME"),getenv("PASSWORD")); */
status=checkpsw(getenv("USERNAME"),getenv("PASSWORD"));
return (status);
}
 
以上代码像是检查环境块中的二个参数,并把结果返回给调用者。

Delphi 可以随意写,但返回值需要利用退出代码返回。例如模仿代码如下:

program CheckAssc;
uses
Windows;

function getenv(s:string):string;
var
i:integer;
begin
i := GetEnvironmentVariable(PChar(s), nil, 0);
SetLength(Result, i);
GetEnvironmentVariable(PChar(Name), PChar(Result), i);
end;

// 返回参数含义
// 0 : PASSWORD 和 USERNAME 都错误
// 2 : USERNAME 正确 PASSWORD 错误
// 4 : PASSWORD 正确 USERNAME 错误
// 6 : PASSWORD 和 USERNAME 都正确
function checkpsw(s1,s2:string):integer;
begin
Result:= 0;
if s1 = 'xyz' then
Result:= Result + 2;
if s2 = 'abcd' then
Result:= Result + 4;
end;

begin
ExitCode:=checkpsw(getenv('USERNAME'),getenv('PASSWORD'));
end.
 
路过,一点C/C++也不懂怎么看MSDN。很多C/C++的代码可以翻译过来收为己用的。
 
将代码写在 dpr 文件的 begin end 之间就可以实现编写无窗口DOS命令形式运行的EXE了。

program Project1;
uses ***;
begin
***;
end.
 
谢谢大家!

更感谢“小雨哥”
 
后退
顶部