请帮我翻译 - by eLan ——急!!(100分)

E

elan

Unregistered / Unconfirmed
GUEST, unregistred user!
我有一段 c 代码,想翻成delphi,请大家帮忙。
1、这是c的函数声明
int __far __pascal GetVarNames(
const int handle,
int __far *numVars,
char __far * __far * __far *varNames, //这里我怎么也弄不好,返回不正确的字符串
int __far * __far *varTypes);
//这里也是


2、这是调用上面这个函数的例子
void func()
{
int fH;
/* file handle */
int error;
/* error code */
int numV;
/* number of variables */
int *typesV;
/* variable types */ //这儿delphi该怎么声明?
char **namesV;
/* variable names */ //这里也是,同上
...
error = OpenRead("bank.sav", &fH);
...
/* Get &
print variable names and types */
error = GetVarNames(fH, &numV, &namesV, &typesV);
//就是这里我不懂了
if (error == SP_OK)
{
int i;
for (i = 0;
i < numV;
++i)
{
printf("Variable name: %s, type: %d/n", namesV, typesV);
}
/* Free the variable names &amp;
types */
FreeVarNames(namesV, typesV, numV);
}
}
请帮忙将以上代码弄成delphi,急!!谢谢
 
呵呵,没学过c-----分倒是不少
 
人呢??快来帮我啊!
 
char __far * __far * __far *varNames, //这里我怎么也弄不好,返回不正确的字符串
VARNAMES是一个指向CHAR变量的指针的指针的指针。
我只能帮到这里,因为我不知道这样的变量在DELPHI里该如何做,呵呵。
 
how about
var
varnames : array of array of char;
 
指针的定义:
如:定义一个字符串数组的指针的指针的指针:

var
type s1=^string;
type s2=^s1;
type s3=^s2;
s4:s3;
//s4即符合要求
begin
//
end;
 
谢谢only you 和wint。
但是针对
int __far * __far *varTypes);

我声明了一下类型
type
TVarTypes1 = array of integer;
TVarTypes = ^TVarTypes;
var
fTypes : tvartypes;
t:Integer;
begin
T:= fTypes^;//在这儿编译出错: error:array type required
谁能帮我解释一下?
 
faint,
我改成
type
TVar = array of integer;
TVarTypes = ^TVar;
就行了,还好没再开一题,要不我亏了。
 
type
TVarTypes1 = array of integer;
~~~
TVarTypes = ^TVarTypes;
~~~~~~~~~少了一个'1'!
var
fTypes : tvartypes;
t:Integer;
begin
T:= fTypes^;//在这儿编译出错: error:array type required
 
哈哈,真凑巧,你刚好也在Re
 
? 是我打错了
 
谢谢各位
 
多人接受答案了。
 

Similar threads

I
回复
0
查看
656
import
I
I
回复
0
查看
681
import
I
I
回复
0
查看
817
import
I
I
回复
0
查看
2K
import
I
顶部