在线等待,请帮忙将这段C++ Builder代码翻译成delphi代码,急用!!!(50分)

  • 主题发起人 主题发起人 agangr
  • 开始时间 开始时间
A

agangr

Unregistered / Unconfirmed
GUEST, unregistred user!
{
File *fp;
char line[256],type[50],name[50],mode[50];
unsigned long baud;
int p;

fp=fopen("test.dat","r");
if (fp==Null)
{
showmessage("cannot open file");
return;
}
while(fgets(line,256,fp))
{
if (line[0]==';') continue;
if (sscanf(line,"%40s%40s%40s%d",type,name,mode,&baud)!=4) continue;
if (strcmp(type,"port")!=0) continue;
p =link_open(name,baud,strcmp("tty",mode)?1:0,1);
link_setanswer(p,1);
Memo1->text=Memo1->text+Strpas(name)+""+inttoStr(baud)+""+ (p<0?"Error":"ok")+"/r/n";
port++
}
fclose(fp);

}
 
哪句不懂问哪句,不要太懒了啊
 
呵呵,都懂,可是转换得时候有问题
1、link_open() 函数的C语言声明原型:
link_open(unsigned char type,unsigned long baud,unsigned char name,unsigned char mode)
在DELPHI里面怎么声明呢
2、char line[256],type[50],name[50],mode[50]改写为: line,type,name,mode:array[1..256] of char 吗?
3、 if (sscanf(line,"%40s%40s%40s%d",type,name,mode,&amp;baud)!=4) continue
在 delphi 怎么写

 
1 link_open(type:Char;
baud:Cardinal;name:Char;
mode:Char)
2 ok
3 从line串里面读出格式化的数据,到type,name,mode,baud中.
用copy() 也可以把他们读出来.
 
呵呵, 我也都懂,你的问题帮你转换:
1、link_open() 函数的C语言声明原型:
link_open(unsigned char type,unsigned long baud,unsigned char name,unsigned char mode)
在DELPHI里面怎么声明呢?
过程void
Procedure link_open(_type:byte;baud:dword;_name,mode:byte);
函数
Function link_open(_type:byte;baud:dword;_name,mode:byte):integer或byte或word;
2、char line[256],type[50],name[50],mode[50]改写为: line,type,name,mode:array[1..256] of char 吗?
var
line :array [0..255] of byte;
_type ,name,mode:array [0..49] of byte;//注意type前面加了"_"
3、 if (sscanf(line,"%40s%40s%40s%d",type,name,mode,&amp;baud)!=4) continue
在 delphi中不支持直接输入,只有自己编,例如
inputbox,inputquery
 
多人接受答案了。
 
后退
顶部