Recent

Author Topic: Como instanciar um Array (para atender às definições em JSon) ?  (Read 3422 times)

Mario Nieri

  • Newbie
  • Posts: 1
minha dúvida para os mestres de plantão: no código abaixo

Code: Pascal  [Select][+][-]
  1. // como INSTANCIAR esse Array ?
  2.   vEmpresaProcesso.operacao.cedente.duplicatas.  ???? >:(
  3.  
  4. // definicoes criadas pelo Importador WSDL:
  5.  
  6.   ArrayOfDuplicataProcesso = class(TRemotable)
  7.   private
  8.     Fduplicata: duplicata;
  9.   public
  10.     constructor Create; override;
  11.     destructor Destroy; override;
  12.     function   GetDuplicataProcessoArray(Index: Integer): DuplicataProcesso;
  13.     function   GetDuplicataProcessoArrayLength: Integer;
  14.     property   DuplicataProcessoArray[Index: Integer]: DuplicataProcesso read GetDuplicataProcessoArray; default;
  15.     property   Len: Integer read GetDuplicataProcessoArrayLength;
  16.   published
  17.     property duplicata: duplicata read Fduplicata write Fduplicata;
  18.   end;
  19.  
  20.  
  21. constructor ArrayOfDuplicataProcesso.Create;
  22. begin
  23.   inherited Create;
  24.   FSerializationOptions := [xoInlineArrays];
  25. end;
  26.  
  27.  
  28.   CedenteProcesso = class(Empresa)
  29.   private
  30.     Fduplicatas: ArrayOfDuplicataProcesso;
  31.     Fparticipantes: ArrayOfParticipante;
  32.     FsacadorAvalista: SacadorAvalista;
  33.   public
  34.     destructor Destroy; override;
  35.   published
  36.     property duplicatas: ArrayOfDuplicataProcesso read Fduplicatas write Fduplicatas;
  37.     property participantes: ArrayOfParticipante read Fparticipantes write Fparticipantes;
  38.     property sacadorAvalista: SacadorAvalista read FsacadorAvalista write FsacadorAvalista;
  39.   end;
  40.  
  41.  
  42. ...
  43. // trecho do codigo:
  44.  
  45.   ObjetoSoap:=HTTPRIO1 as ProcessoAssinaturaSoap;
  46.  
  47.   vMensagemRetornoProcesso := MensagemRetornoProcesso.create;
  48.   vEmpresaProcesso         := EmpresaProcesso.Create;
  49.  
  50.   vEmpresaProcesso.cnpj := 'bla';
  51.   vEmpresaProcesso.token := 'b l';
  52.   vEmpresaProcesso.versao := '';
  53.   vEmpresaProcesso.operador := 'bla ';
  54.  
  55.   vEmpresaProcesso.operacao := OperacaoProcesso.create;
  56.   vEmpresaProcesso.operacao.numero := 1;
  57.   vEmpresaProcesso.operacao.titulo := 'OPERAÇÃO DE CESSÃO DE CRÉDITO';
  58.  
  59.   vEmpresaProcesso.operacao.cedente := CedenteProcesso.Create;
  60.   vEmpresaProcesso.operacao.cedente.endereco := 'RUA DO CEDENTE';
  61.  
  62. // como INSTANCIAR esse Array ?
  63.   vEmpresaProcesso.operacao.cedente.duplicatas.
  64.  
  65.  
  66.  
  67. //  trecho da definicao em json:
  68.         "operacao": {
  69.             "numero": 0,
  70.             "titulo": "string",
  71.             "descricao": "string",
  72.             "observacoes": "string",
  73.             "data": "string",
  74. ...
  75.             "cedente": {
  76.                 "cnpj": "string",
  77.                 "razaoSocial": "string",
  78.                 "nomeFantasia": "string",
  79.                 "email": "string",
  80.                 "telefone": "string",
  81.                 "endereco": "string",
  82. ...
  83.                [color=red] "duplicatas": [[/color]
  84.                     {
  85.                         "idDocumento": 0,
  86.                         "numero": "string",
  87.                         "tipodoc": 0,
  88.                         "dataEmissao": "string",
  89.                         "dataVencimento": "string",
  90.                         "valorBruto": "string",
  91.                         "valorLiquido": "string",
  92.                         "numeroNfe": "string",
  93.                         "serieNfe": "string",
  94.                         "chaveNfe": "string",
  95.                         "sacado": {
  96.                             "cnpjCpf": "string",
  97.                             "nome": "string",
  98.                             "email": "string",
  99.                             "telefone": "string",
  100.                             "endereco": "string",
  101.                             "bairro": "string",
  102.                             "cidade": "string",
  103.                             "uf": "string",
  104.                             "cep": "string",
  105.                             "inscricaoEstadual": "string",
  106.                             "inscricaoMunicipal": "string"
  107.                         },
  108.                         "arquivo": {
  109.                             "nome": "string",
  110.                             "conteudo": "string"
  111.                         }
  112.                     }
  113.                 ]
  114.             },

[Edited to add code tags - see How to use the Forum.]
« Last Edit: August 04, 2021, 12:26:50 am by trev »

 

TinyPortal © 2005-2018