for(h=0, p = (BYTE *)lpName; *p ; p++)
{
h = 31 * h + *p; 
}
谁能帮我译成 Delphi 代码呀 

解决方案 »

  1.   

    h:=0;
    p:=@lpname[0];
    while p^<>0 do
    begin
      h:=31*h+p^;
      inc(p);
    end;
      

  2.   

    while p^<>0 do[Error] GameInfo.pas(278): Incompatible types
      

  3.   

    lpname是什么类型?string?还是pchar?
    h:=0;
    p:=@lpname[0];
    while ord(p^)<>0 do
    begin
      h:=31*h+ord(p^);
      inc(p);
    end;
      

  4.   

    lpname是c++还是delphi的string类型?
    如果是后者h:=0;
    p:=@lpname[1];
    for i:=1 to length(lpname) do
    begin
      h:=31*h+ord(p^);
      inc(p);
    end;
      

  5.   

    问题解决。感谢sz_haitao的耐心解答