大家帮忙看一下,该如何处理

大家帮忙看一下
这是段C代码标示的部分是我不会翻译成DELPHI的!之前大家帮解决了部分,现在又遇到一些困难!谢谢!
#include   "stdlib.h "
#include   "stdio.h "
#include   "math.h "
struct   ptf1
{       double   v   ;
        double   h   ;
        double   s   ;
}ptf2   ;       “ptf1定义成了记录但这个记录ptf2怎么定义也跟ptf1一样吗?“
struct   ptg1
{       double   v   ;
        double   h   ;
        double   s   ;
}ptg2   ;
struct   pt1
{       double   x   ;
        double   v   ;
        double   h   ;
        double   s   ;
}pt2   ;
void   ptf(double   p,double   t,struct   ptf1*p1)...
void   ptg(double   p,double   t,struct   ptg1*p1)...
void   pt(double   p,double   t,struct   pt1*p1)
{       double   ts=tsk(p);
        p1-> x=t-ts   ;
        if(p1-> x <=0)
        {       if(p1-> x==0)
                {       printf( "***be   saturated   state*** ");}
                else
                {       ptf(p,t,&ptf2);“这段怎么翻译成DELPHI? "
                        p1-> v=ptf2.v   ;
                        p1-> h=ptf2.h   ;
                        p1-> s=ptf2.s   ;
                }
        }
        else
        {       ptg(p,t,&ptg2);
                p1-> v=ptg2.v   ;
                p1-> h=ptg2.h   ;
                p1-> s=ptg2.s   ;
        }
        if(p1-> x> 1)goto   out   ;”这块go   out   在DELPHI里是什么?“
        p1-> x=p1-> x+1.0   ;
        out   :
        return   ;
}

------解决方案--------------------
“ptf1定义成了记录但这个记录ptf2怎么定义也跟ptf1一样吗?“

ptf2应该是ptf1的一个变量

ptf(p,t,&ptf2);“这段怎么翻译成DELPHI? "
=> ptf(p,t,@ptf2);

if(p1-> x> 1)goto out ;”这块go out 在DELPHI里是什么?“
goto 语句,delphi里可以先在var后面定义一个label out


if (p1^.x > 1) go out;

...

out: return;
------解决方案--------------------
不建议使用goto语句

Label MyLabel; //用Label保留字声明MyLabel

MyLabel: //标记
.... //其它语句
goto MyLabel; //跳转到MyLabel 处
------解决方案--------------------
struct ptg1
{ double v ;
double h ;
double s ;