有人会把这段代码转为delphi 嘛
'餐台状态清单
Function BuildResponse(request As Object) As String  'requestType As Integer, sessionID As String
 
    Dim result As String
    Dim json As New JsonKit.JsonKit
  
    Dim tableStatusList(0 To 6) As New easymenuInterface.TableStatus
    
    tableStatusList(0).TableId = "101"
    tableStatusList(0).Status = "idle"
    tableStatusList(0).beginTime = ""
    
    tableStatusList(1).TableId = "102"
    tableStatusList(1).Status = "open"
    tableStatusList(1).beginTime = "2012-03-03 13:01:22"
    
    tableStatusList(2).TableId = "103"
    tableStatusList(2).Status = "book"
    tableStatusList(2).beginTime = "2012-03-03 14:00:00"
    
    tableStatusList(3).TableId = "104"
    tableStatusList(3).Status = "checkin"
    tableStatusList(3).beginTime = "2012-03-03 14:05:33"
    
    tableStatusList(4).TableId = "105"
    tableStatusList(4).Status = "dirty"
    tableStatusList(4).beginTime = "2012-03-03 16:04:12"
    
    tableStatusList(5).TableId = "106"
    tableStatusList(5).Status = "maintain"
    tableStatusList(5).beginTime = "2012-03-03 17:33:54"
    
    tableStatusList(6).TableId = "107"
    tableStatusList(6).Status = "other"
    tableStatusList(6).beginTime = ""    Set Response = New easymenuInterface.getTableStatusListResponse
    Response.sessionID = request.sessionID
    Response.isSuccess = True    Response.SetTableStatusList (tableStatusList)
    
    result = json.BuildResponseContent(Response)
    BuildResponse = result
    
End Function

解决方案 »

  1.   


    function BuildResponse(request: varriant; requestType: integer; sessionID: PChar): PChar;
    var
      result: PChar;
      //Dim json As New JsonKit.JsonKit 这个用是啥
      tableStatusList: array[0..6] of ...
    begin
      
    end;是不是调用别的什么东西了
      

  2.   

    谢谢您
    是的。是接别家的电子点菜谱 。他们用C#做的接口。
    这样定义的话:tableStatusList: array[0..6] of ...这里又同不过 Response.SetTableStatusList (tableStatusList)通过Reflector 编译 看到delphi 的代码是如下:
    function GetSelloutListResponseWrapper.Response(RequestContent: string): string;
    begin
        request := (JsonConvert.DeserializeObject(RequestContent, typeof(BaseRequest)) as BaseRequest);
        response := GetSelloutListResponse.Create;
        response.sessionID := request.sessionID;
        response.isSuccess := true;
        sellout := Sellout.Create;
        sellout.productID := '02002';
        sellout.isSellout := false;
        sellout.limitedCount := 50;
        sellout2 := Sellout.Create;
        sellout2.productID := '02003';
        sellout2.isSellout := false;
        sellout2.limitedCount := 0;
        selloutList := New(array[2] of Sellout, ( ( sellout, sellout2 ) ));
        response.setSelloutList(selloutList);
        Result := JsonConvert.SerializeObject(response)
    end; 还是搞不定,接口那边对delphi 又不熟悉。 
      

  3.   

    谢谢您
    是的。是接别家的电子点菜谱 。他们用C#做的接口。
    这样定义的话:tableStatusList: array[0..6] of ...这里又同不过 Response.SetTableStatusList (tableStatusList)通过Reflector 编译 看到delphi 的代码是如下:
    function GetSelloutListResponseWrapper.Response(RequestContent: string): string;
    begin
        request := (JsonConvert.DeserializeObject(RequestContent, typeof(BaseRequest)) as BaseRequest);
        response := GetSelloutListResponse.Create;
        response.sessionID := request.sessionID;
        response.isSuccess := true;
        sellout := Sellout.Create;
        sellout.productID := '02002';
        sellout.isSellout := false;
        sellout.limitedCount := 50;
        sellout2 := Sellout.Create;
        sellout2.productID := '02003';
        sellout2.isSellout := false;
        sellout2.limitedCount := 0;
        selloutList := New(array[2] of Sellout, ( ( sellout, sellout2 ) ));
        response.setSelloutList(selloutList);
        Result := JsonConvert.SerializeObject(response)
    end; 还是搞不定,接口那边对delphi 又不熟悉。