Ettore Cicinelli:
Buondì, potrebbe tornare utile questa modifica che ho apportato al TButton, considerando che la dimensione massima della partita IVA europea è di 12 cifre e che il codice ISO2 della nazione è di 2 cifre, togliendo lo spazio tra l'iso2 e il vat code il sorgente verrebbe così modificato:
--- Codice: --- procedure TForm1.btnVATClick(Sender: TObject); var WS: checkVatPortType; inp: checkVat_Type; outp: checkVatResponse; begin if edVAT.Text = '' then Exit; if Length(edVAT.Text) > 14 then Exit; INDY_RegisterHTTP_Transport(); WS := wst_CreateInstance_checkVatPortType(); inp := checkVat_Type.Create; try inp.countryCode := Copy(edVAT.Text,1,2); inp.vatNumber := Copy(edVAT.Text,3); outp := WS.checkVat(inp); if outp.valid then ShowMessage('P.IVA valida: ' + outp.name + #13#10 + outp.address) else ShowMessage(outp.vatNumber + ' P.IVA non valida'); outp.Free; finally inp.Free; end; end;
--- Termina codice --- l'output.free l'ho spostato su subito dopo lo showmessage, in modo che se si dovesse generare un errore per errata digitazione o lasciando vuoto il campo dopo il return il programma non smetta di funzionare. Spero che ciò sia utile. Ringrazio DragoRosso, perchè senza di lui non sarei giunto al risultato.
slapshot:
Grazie per questo thread iniziato nel 2014 e quasi concluso nel 2024. Non sviluppo con Lazarus (e con il resto del mondo per ciò che importa) da secoli, e vorrei sviluppare una console app per scaricare un file da un webservice. Inizio da qui, grazie ancora.