REVELAR

Fórum Enviar imagem via Servidor DataSnap #526762

24/07/2015

0

Como enviar uma imagem de um campo Blob usando Datasnap.

Eu uso um Webservice para enviar dados entre a retaguarda em Delphi e meu aplicativo Android. Agora surgiu a necessidade de enviar também uma foto. Como fazer isso usando Datasnap.

Código usado para enviar os dados.

unit ServerMethodsUnit1;

interface

uses System.SysUtils, System.Classes, Datasnap.DSServer, Datasnap.DSAuth,
  Data.DBXInterBase, Data.DB, Data.SqlExpr, Data.Win.ADODB, Data.DBXFirebird,
  Data.FMTBcd, Datasnap.DBClient, Datasnap.Provider, Variants, Data.DBXJSON, Dialogs, DBXcommon;

type
  TTabela  = (tbProduto, tbGarcom, tbCouvert);
  TServerMethodos1 = class(TDSServerModule)
    sqqProdutos: TSQLQuery;
    dspProdutos: TDataSetProvider;
    cdsProdutos: TClientDataSet;
    sqqVendedor: TSQLQuery;
    dspVendedor: TDataSetProvider;
    cdsVendedor: TClientDataSet;
    sqqTipoSai: TSQLQuery;
    dspTipoSai: TDataSetProvider;
    cdsTipoSai: TClientDataSet;
    sqqPedido: TSQLQuery;
    dspPedido: TDataSetProvider;
    cdsPedido: TClientDataSet;
    sqqItensPedido: TSQLQuery;
    cdsItensPedido: TClientDataSet;
    dtsMestrePedido: TDataSource;
    dspConsultaPedido: TDataSetProvider;
    cdsConsultaPedido: TClientDataSet;
    sqqconsultaPedido: TSQLQuery;
    cdsProdutosCODPROD: TStringField;
    cdsProdutosCODIGO: TStringField;
    cdsProdutosNOMEPROD: TStringField;
    cdsProdutosNAOVENDER: TStringField;
    cdsConsultaPedidoCODMOVPROD: TStringField;
    cdsConsultaPedidoCODMOVENDA: TStringField;
    cdsConsultaPedidoQUANTIDADE: TFMTBCDField;
    cdsConsultaPedidoTOTVENDA: TFMTBCDField;
    cdsConsultaPedidoTOTAL: TFMTBCDField;
    cdsConsultaPedidoTABVEND: TStringField;
    cdsConsultaPedidoCODIGOVENDEDOR: TStringField;
    cdsConsultaPedidoNOMEVENDEDOR: TStringField;
    cdsConsultaPedidoCODIGOCLIENTE: TStringField;
    cdsConsultaPedidoNOMECLIENTE: TStringField;
    cdsConsultaPedidoTSAIDA: TStringField;
    cdsConsultaPedidoDESC_SAIDA: TStringField;
    cdsConsultaPedidoCOD_PRODUTO: TStringField;
    cdsConsultaPedidoDESC_PROD: TStringField;
    cdsConsultaPedidoVLR_UNITARIO1: TFMTBCDField;
    cdsConsultaPedidoVLR_UNITARIO2: TFMTBCDField;
    cdsConsultaPedidoCODMOVENDA_1: TStringField;
    cdsConsultaPedidoDATA: TDateField;
    cdsConsultaPedidoCODTIPOSAI: TStringField;
    cdsConsultaPedidoNUMNOTA: TIntegerField;
    cdsConsultaPedidoSERIENOTA: TStringField;
    cdsConsultaPedidoNUMPED: TIntegerField;
    cdsConsultaPedidoCODREC: TStringField;
    cdsConsultaPedidoCODVENDED: TStringField;
    cdsConsultaPedidoCODCLI: TStringField;
    cdsConsultaPedidoCOMISSAO: TFMTBCDField;
    cdsConsultaPedidoOBS: TBlobField;
    cdsConsultaPedidoVENDA: TStringField;
    cdsConsultaPedidoCODUSER: TStringField;
    cdsConsultaPedidoFLAGCLI: TStringField;
    cdsConsultaPedidoTOTVENDA_1: TFMTBCDField;
    cdsConsultaPedidoNOMECLI: TStringField;
    cdsConsultaPedidoCODFORN: TStringField;
    cdsConsultaPedidoCODTRANS: TStringField;
    cdsConsultaPedidoFLAGFRETE: TStringField;
    cdsConsultaPedidoVALFRETE: TFMTBCDField;
    cdsConsultaPedidoCFOP: TStringField;
    cdsConsultaPedidoHORA: TTimeField;
    cdsConsultaPedidoNUMCUPOM: TLargeintField;
    cdsConsultaPedidoTABVEND_1: TStringField;
    cdsConsultaPedidoTEMPO: TTimeField;
    cdsConsultaPedidoPERCCOMISSAO: TFMTBCDField;
    cdsConsultaPedidoFLAGEST: TSmallintField;
    cdsConsultaPedidoTIPODOC: TStringField;
    cdsConsultaPedidoCANCELADA: TStringField;
    cdsConsultaPedidoOUTRASDESPESAS: TFMTBCDField;
    cdsConsultaPedidoDATANOTA: TDateField;
    cdsConsultaPedidoCODRECEBEXT: TIntegerField;
    cdsConsultaPedidoSTATUS: TSmallintField;
    cdsConsultaPedidoMOTIVOCANCELAMENTO: TStringField;
    cdsConsultaPedidoCODUSERCANC: TStringField;
    cdsConsultaPedidoNUMNOTASERVICO: TIntegerField;
    cdsConsultaPedidoCODEMPRESA: TIntegerField;
    cdsConsultaPedidoCODEMPRESAAUX: TIntegerField;
    cdsConsultaPedidoCODCONTRATO: TIntegerField;
    cdsConsultaPedidoCODVENDEDEXT: TStringField;
    cdsConsultaPedidoMODELO: TStringField;
    cdsConsultaPedidoCAMPO1: TFMTBCDField;
    cdsConsultaPedidoCAMPO2: TFMTBCDField;
    cdsConsultaPedidoCAMPO3: TFMTBCDField;
    cdsConsultaPedidoCAMPO4: TFMTBCDField;
    cdsConsultaPedidoCAMPOSTR1: TStringField;
    cdsConsultaPedidoCAMPOSTR2: TStringField;
    cdsConsultaPedidoNUMCAIXA: TIntegerField;
    cdsConsultaPedidoNUMTRANSF: TIntegerField;
    cdsConsultaPedidoBASEICMSUBST: TFMTBCDField;
    cdsConsultaPedidoICMSSUBST: TFMTBCDField;
    cdsConsultaPedidoENDENTREGA: TStringField;
    cdsConsultaPedidoBAIRROENTREGA: TStringField;
    cdsConsultaPedidoCIDADEENTREGA: TStringField;
    cdsConsultaPedidoESTADOENTREGA: TStringField;
    cdsConsultaPedidoCEPENTREGA: TStringField;
    cdsConsultaPedidoPAISENTREGA: TStringField;
    cdsConsultaPedidoTELENTREGA: TStringField;
    cdsConsultaPedidoNUMPEDLOJA: TIntegerField;
    cdsConsultaPedidoCODENTREGAPESSOA: TIntegerField;
    cdsConsultaPedidoFLAGDELIVERY: TStringField;
    cdsConsultaPedidoCODUSERCONFTRANSF: TStringField;
    cdsConsultaPedidoDATACONFTRANSF: TSQLTimeStampField;
    cdsTipoSaiCODTIPOSAI: TStringField;
    cdsTipoSaiTIPO: TStringField;
    ssqCliente: TSQLQuery;
    dspCliente: TDataSetProvider;
    cdsCliente: TClientDataSet;
    cdsClienteCODCLI: TStringField;
    cdsClienteCODIGO: TStringField;
    cdsClienteNOMECLI: TStringField;
    cdsClienteENDERECO: TStringField;
    cdsClienteBAIRRO: TStringField;
    cdsClienteCIDADE: TStringField;
    cdsClienteESTADO: TStringField;
    cdsClienteCEP: TStringField;
    cdsClienteTELEFONE: TStringField;
    cdsClienteEMAIL: TStringField;
    cdsClienteNAOVENDER: TStringField;
    ssqRecebimento: TSQLQuery;
    dspRecebimento: TDataSetProvider;
    cdsRecebimento: TClientDataSet;
    cdsRecebimentoCODREC: TStringField;
    cdsRecebimentoRECEBIMENTO: TStringField;
    cdsRecebimentoFLAGTIPO: TStringField;
    cdsRecebimentoFIXO: TStringField;
    cdsRecebimentoSTATUS: TStringField;
    cdsRecebimentoMENSAGEM: TStringField;
    sqqProdutosCODPROD: TStringField;
    sqqProdutosCODIGO: TStringField;
    sqqProdutosNOMEPROD: TStringField;
    sqqProdutosNAOVENDER: TStringField;
    sqqTipoSaiCODTIPOSAI: TStringField;
    sqqTipoSaiTIPO: TStringField;
    ssqClienteCODCLI: TStringField;
    ssqClienteCODIGO: TStringField;
    ssqClienteNOMECLI: TStringField;
    ssqClienteENDERECO: TStringField;
    ssqClienteBAIRRO: TStringField;
    ssqClienteCIDADE: TStringField;
    ssqClienteESTADO: TStringField;
    ssqClienteCEP: TStringField;
    ssqClienteTELEFONE: TStringField;
    ssqClienteEMAIL: TStringField;
    ssqClienteNAOVENDER: TStringField;
    ssqRecebimentoCODREC: TStringField;
    ssqRecebimentoRECEBIMENTO: TStringField;
    ssqRecebimentoFLAGTIPO: TStringField;
    ssqRecebimentoFIXO: TStringField;
    ssqRecebimentoSTATUS: TStringField;
    ssqRecebimentoMENSAGEM: TStringField;
    sqqVendedorCODVENDED: TStringField;
    sqqVendedorNOMEVENDED: TStringField;
    sqqVendedorINATIVO: TStringField;
    cdsVendedorCODVENDED: TStringField;
    cdsVendedorNOMEVENDED: TStringField;
    cdsVendedorINATIVO: TStringField;
    cdsPedidosqqItensPedido: TDataSetField;
    sqqItensPedidoCODMOVPROD: TStringField;
    sqqItensPedidoCODPROD: TStringField;
    sqqItensPedidoCODMOVENDA: TStringField;
    cdsItensPedidoCODMOVPROD: TStringField;
    cdsItensPedidoCODPROD: TStringField;
    cdsItensPedidoCODMOVENDA: TStringField;
    cdsCaixa: TClientDataSet;
    dspCaixa: TDataSetProvider;
    ssqCaixa: TSQLQuery;
    ssqCaixaCODCAIXA: TStringField;
    ssqCaixaDATA: TStringField;
    ssqCaixaHISTORICO: TStringField;
    ssqCaixaNUMDOC: TStringField;
    ssqCaixaVALOR: TFMTBCDField;
    ssqCaixaOPERACAO: TStringField;
    ssqCaixaCODUSER: TStringField;
    ssqCaixaCODMOVENDA: TStringField;
    ssqCaixaDATALAN: TStringField;
    ssqCaixaVISTO: TStringField;
    cdsCaixaCODCAIXA: TStringField;
    cdsCaixaDATA: TStringField;
    cdsCaixaHISTORICO: TStringField;
    cdsCaixaNUMDOC: TStringField;
    cdsCaixaVALOR: TFMTBCDField;
    cdsCaixaOPERACAO: TStringField;
    cdsCaixaCODUSER: TStringField;
    cdsCaixaCODMOVENDA: TStringField;
    cdsCaixaDATALAN: TStringField;
    cdsCaixaVISTO: TStringField;
    cdsgetContaReceber: TClientDataSet;
    ssqgetContaReceber: TSQLQuery;
    dspgetContaReceber: TDataSetProvider;
    ssqgetContaReceberCODCR: TStringField;
    ssqgetContaReceberNUMDOC: TStringField;
    ssqgetContaReceberDEVEDOR: TStringField;
    ssqgetContaReceberFAGCLI: TStringField;
    ssqgetContaReceberCODCLI: TStringField;
    ssqgetContaReceberVALOR: TFMTBCDField;
    ssqgetContaReceberDATENTR: TStringField;
    ssqgetContaReceberDATVENC: TStringField;
    ssqgetContaReceberORIGEM: TStringField;
    ssqgetContaReceberLOCAL: TStringField;
    ssqgetContaReceberPARCELA: TStringField;
    ssqgetContaReceberCODPC: TStringField;
    ssqgetContaReceberCODCAIXAS: TStringField;
    ssqgetContaReceberAVISOS: TStringField;
    ssqgetContaReceberCODCAR: TStringField;
    ssqgetContaReceberTIPOCOBRA: TStringField;
    ssqgetContaReceberDATCOBRA: TStringField;
    ssqgetContaReceberTOTPAGO: TStringField;
    ssqgetContaReceberFLAGPAGO: TStringField;
    ssqgetContaReceberDATPAG: TStringField;
    ssqgetContaReceberVALORPG: TStringField;
    ssqgetContaReceberVENCIDA: TStringField;
    ssqgetContaReceberCODMOVENDA: TStringField;
    ssqgetContaReceberCODUSER: TStringField;
    ssqgetContaReceberCODFIN: TStringField;
    ssqgetContaReceberJUROS: TStringField;
    ssqgetContaReceberCODBANCO: TStringField;
    ssqgetContaReceberCODRESUMO: TStringField;
    ssqgetContaReceberCODCRFIXA: TStringField;
    ssqgetContaReceberNOSSONUMERO: TStringField;
    ssqgetContaReceberDATAREMESSA: TStringField;
    ssqgetContaReceberTAXA: TStringField;
    ssqgetContaReceberCANCELADA: TStringField;
    ssqgetContaReceberMOTIVOCANCELAMENTO: TStringField;
    ssqgetContaReceberFLAGREMESSA: TStringField;
    ssqgetContaReceberDESCATEVENC: TStringField;
    ssqgetContaReceberCODCONTRATO: TStringField;
    ssqgetContaReceberCODSC: TStringField;
    ssqgetContaReceberCODREC: TStringField;
    ssqgetContaReceberCOALESCE: TStringField;
    ssqgetContaReceberCODEMPRESA: TStringField;
    ssqgetContaReceberDISPJUROS: TStringField;
    ssqgetContaReceberDATAENNVIO: TStringField;
    ssqgetContaReceberLAST_CHANCE: TStringField;
    ssqgetContaReceberLAST_CHANGE: TSQLTimeStampField;
    ssqgetContaReceberDATVENCFIXA: TStringField;
    ssqgetContaReceberLOCALFIXA: TStringField;
    ssqgetContaReceberVALORFIXA: TStringField;
    ssqgetContaReceberIDCODCR: TStringField;
    ssqgetContaReceberDATACONFENVIO: TStringField;
    cdsgetContaReceberCODCR: TStringField;
    cdsgetContaReceberNUMDOC: TStringField;
    cdsgetContaReceberDEVEDOR: TStringField;
    cdsgetContaReceberFAGCLI: TStringField;
    cdsgetContaReceberCODCLI: TStringField;
    cdsgetContaReceberVALOR: TFMTBCDField;
    cdsgetContaReceberDATENTR: TStringField;
    cdsgetContaReceberDATVENC: TStringField;
    cdsgetContaReceberORIGEM: TStringField;
    cdsgetContaReceberLOCAL: TStringField;
    cdsgetContaReceberPARCELA: TStringField;
    cdsgetContaReceberCODPC: TStringField;
    cdsgetContaReceberCODCAIXAS: TStringField;
    cdsgetContaReceberAVISOS: TStringField;
    cdsgetContaReceberCODCAR: TStringField;
    cdsgetContaReceberTIPOCOBRA: TStringField;
    cdsgetContaReceberDATCOBRA: TStringField;
    cdsgetContaReceberTOTPAGO: TStringField;
    cdsgetContaReceberFLAGPAGO: TStringField;
    cdsgetContaReceberDATPAG: TStringField;
    cdsgetContaReceberVALORPG: TStringField;
    cdsgetContaReceberVENCIDA: TStringField;
    cdsgetContaReceberCODMOVENDA: TStringField;
    cdsgetContaReceberCODUSER: TStringField;
    cdsgetContaReceberCODFIN: TStringField;
    cdsgetContaReceberJUROS: TStringField;
    cdsgetContaReceberCODBANCO: TStringField;
    cdsgetContaReceberCODRESUMO: TStringField;
    cdsgetContaReceberCODCRFIXA: TStringField;
    cdsgetContaReceberNOSSONUMERO: TStringField;
    cdsgetContaReceberDATAREMESSA: TStringField;
    cdsgetContaReceberTAXA: TStringField;
    cdsgetContaReceberCANCELADA: TStringField;
    cdsgetContaReceberMOTIVOCANCELAMENTO: TStringField;
    cdsgetContaReceberFLAGREMESSA: TStringField;
    cdsgetContaReceberDESCATEVENC: TStringField;
    cdsgetContaReceberCODCONTRATO: TStringField;
    cdsgetContaReceberCODSC: TStringField;
    cdsgetContaReceberCODREC: TStringField;
    cdsgetContaReceberCOALESCE: TStringField;
    cdsgetContaReceberCODEMPRESA: TStringField;
    cdsgetContaReceberDISPJUROS: TStringField;
    cdsgetContaReceberDATAENNVIO: TStringField;
    cdsgetContaReceberLAST_CHANCE: TStringField;
    cdsgetContaReceberLAST_CHANGE: TSQLTimeStampField;
    cdsgetContaReceberDATVENCFIXA: TStringField;
    cdsgetContaReceberLOCALFIXA: TStringField;
    cdsgetContaReceberVALORFIXA: TStringField;
    cdsgetContaReceberIDCODCR: TStringField;
    cdsgetContaReceberDATACONFENVIO: TStringField;
    ssqCaixaOBS: TStringField;
    ssqCaixaCODFORN: TStringField;
    cdsCaixaOBS: TStringField;
    cdsCaixaCODFORN: TStringField;
    ssqCaixaCODCAIXAS: TStringField;
    cdsCaixaCODCAIXAS: TStringField;
    ssqCaixaCODPC: TStringField;
    ssqCaixaIDREC: TIntegerField;
    ssqCaixaCODSC: TIntegerField;
    ssqCaixaCODEMPRESA: TIntegerField;
    cdsCaixaCODPC: TStringField;
    cdsCaixaIDREC: TIntegerField;
    cdsCaixaCODSC: TIntegerField;
    cdsCaixaCODEMPRESA: TIntegerField;
    sqqPedidoCODMOVENDA: TStringField;
    sqqPedidoNUMPED: TStringField;
    sqqPedidoCODVENDED: TStringField;
    sqqPedidoCODCLI: TStringField;
    sqqPedidoVENDA: TStringField;
    sqqPedidoHORA: TTimeField;
    sqqPedidoTABVEND: TStringField;
    cdsPedidoCODMOVENDA: TStringField;
    cdsPedidoNUMPED: TStringField;
    cdsPedidoCODVENDED: TStringField;
    cdsPedidoCODCLI: TStringField;
    cdsPedidoVENDA: TStringField;
    cdsPedidoHORA: TTimeField;
    cdsPedidoTABVEND: TStringField;
    sqqPedidoDATA: TDateField;
    sqqPedidoNOMECLI: TStringField;
    cdsPedidoDATA: TDateField;
    cdsPedidoNOMECLI: TStringField;
    sqqPedidoCODTIPOSAI: TStringField;
    cdsPedidoCODTIPOSAI: TStringField;
    cdsEmpresa: TClientDataSet;
    ssqEmpresa: TSQLQuery;
    dspEmpresa: TDataSetProvider;
    ssqEmpresaRAZAOSOCIAL: TStringField;
    ssqEmpresaFANTASIA: TStringField;
    ssqEmpresaESTADO: TStringField;
    ssqEmpresaENDERECO: TStringField;
    ssqEmpresaTELEFONE: TStringField;
    ssqEmpresaCNPJ: TStringField;
    ssqEmpresaINSC_ESTADUAL: TStringField;
    ssqEmpresaINSC_MUNI: TStringField;
    ssqEmpresaSITE: TStringField;
    ssqEmpresaLOGOS: TBlobField;
    cdsEmpresaRAZAOSOCIAL: TStringField;
    cdsEmpresaFANTASIA: TStringField;
    cdsEmpresaESTADO: TStringField;
    cdsEmpresaENDERECO: TStringField;
    cdsEmpresaTELEFONE: TStringField;
    cdsEmpresaCNPJ: TStringField;
    cdsEmpresaINSC_ESTADUAL: TStringField;
    cdsEmpresaINSC_MUNI: TStringField;
    cdsEmpresaSITE: TStringField;
    cdsEmpresaLOGOS: TBlobField;
    sqqProdutosINATIVO: TStringField;
    cdsProdutosINATIVO: TStringField;
    cdssetContaReceber: TClientDataSet;
    dspsetContaReceber: TDataSetProvider;
    ssqsetContaReceber: TSQLQuery;
    cdssetContaReceberCODCR: TStringField;
    cdssetContaReceberNUMDOC: TStringField;
    cdssetContaReceberDEVEDOR: TStringField;
    cdssetContaReceberCODCLI: TStringField;
    cdssetContaReceberVALOR: TFMTBCDField;
    cdssetContaReceberDATENTR: TStringField;
    cdssetContaReceberDATVENC: TStringField;
    cdssetContaReceberORIGEM: TStringField;
    cdssetContaReceberLOCAL: TStringField;
    cdssetContaReceberPARCELA: TStringField;
    cdssetContaReceberCODPC: TStringField;
    cdssetContaReceberCODCAIXAS: TStringField;
    cdssetContaReceberAVISOS: TStringField;
    cdssetContaReceberCODCAR: TStringField;
    cdssetContaReceberTIPOCOBRA: TStringField;
    cdssetContaReceberDATCOBRA: TStringField;
    cdssetContaReceberTOTPAGO: TStringField;
    cdssetContaReceberFLAGPAGO: TStringField;
    cdssetContaReceberDATPAG: TStringField;
    cdssetContaReceberVALORPG: TStringField;
    cdssetContaReceberVENCIDA: TStringField;
    cdssetContaReceberCODMOVENDA: TStringField;
    cdssetContaReceberCODUSER: TStringField;
    cdssetContaReceberCODFIN: TStringField;
    cdssetContaReceberJUROS: TStringField;
    cdssetContaReceberCODBANCO: TStringField;
    cdssetContaReceberCODRESUMO: TStringField;
    cdssetContaReceberCODCRFIXA: TStringField;
    cdssetContaReceberNOSSONUMERO: TStringField;
    cdssetContaReceberDATAREMESSA: TStringField;
    cdssetContaReceberTAXA: TStringField;
    cdssetContaReceberCANCELADA: TStringField;
    cdssetContaReceberMOTIVOCANCELAMENTO: TStringField;
    cdssetContaReceberFLAGREMESSA: TStringField;
    cdssetContaReceberDESCATEVENC: TStringField;
    cdssetContaReceberCODCONTRATO: TStringField;
    cdssetContaReceberCODSC: TStringField;
    cdssetContaReceberCODREC: TStringField;
    cdssetContaReceberCOALESCE: TStringField;
    cdssetContaReceberCODEMPRESA: TStringField;
    cdssetContaReceberDISPJUROS: TStringField;
    cdssetContaReceberDATAENNVIO: TStringField;
    cdssetContaReceberLAST_CHANCE: TStringField;
    cdssetContaReceberLAST_CHANGE: TSQLTimeStampField;
    cdssetContaReceberDATVENCFIXA: TStringField;
    cdssetContaReceberLOCALFIXA: TStringField;
    cdssetContaReceberVALORFIXA: TStringField;
    cdssetContaReceberIDCODCR: TStringField;
    cdssetContaReceberDATACONFENVIO: TStringField;
    cdssetContaReceberFLAGCLI: TStringField;
    cdsPerDesconto: TClientDataSet;
    dspPercDesconto: TDataSetProvider;
    ssqPerDesconto: TSQLQuery;
    ssqsetContaReceberCODCR: TStringField;
    ssqsetContaReceberNUMDOC: TStringField;
    ssqsetContaReceberDEVEDOR: TStringField;
    ssqsetContaReceberFLAGCLI: TStringField;
    ssqsetContaReceberCODCLI: TStringField;
    ssqsetContaReceberVALOR: TFMTBCDField;
    ssqsetContaReceberDATENTR: TStringField;
    ssqsetContaReceberDATVENC: TStringField;
    ssqsetContaReceberORIGEM: TStringField;
    ssqsetContaReceberLOCAL: TStringField;
    ssqsetContaReceberPARCELA: TStringField;
    ssqsetContaReceberCODPC: TStringField;
    ssqsetContaReceberCODCAIXAS: TStringField;
    ssqsetContaReceberAVISOS: TStringField;
    ssqsetContaReceberCODCAR: TStringField;
    ssqsetContaReceberTIPOCOBRA: TStringField;
    ssqsetContaReceberDATCOBRA: TStringField;
    ssqsetContaReceberTOTPAGO: TStringField;
    ssqsetContaReceberFLAGPAGO: TStringField;
    ssqsetContaReceberDATPAG: TStringField;
    ssqsetContaReceberVALORPG: TStringField;
    ssqsetContaReceberVENCIDA: TStringField;
    ssqsetContaReceberCODMOVENDA: TStringField;
    ssqsetContaReceberCODUSER: TStringField;
    ssqsetContaReceberCODFIN: TStringField;
    ssqsetContaReceberJUROS: TStringField;
    ssqsetContaReceberCODBANCO: TStringField;
    ssqsetContaReceberCODRESUMO: TStringField;
    ssqsetContaReceberCODCRFIXA: TStringField;
    ssqsetContaReceberNOSSONUMERO: TStringField;
    ssqsetContaReceberDATAREMESSA: TStringField;
    ssqsetContaReceberTAXA: TStringField;
    ssqsetContaReceberCANCELADA: TStringField;
    ssqsetContaReceberMOTIVOCANCELAMENTO: TStringField;
    ssqsetContaReceberFLAGREMESSA: TStringField;
    ssqsetContaReceberDESCATEVENC: TStringField;
    ssqsetContaReceberCODCONTRATO: TStringField;
    ssqsetContaReceberCODSC: TStringField;
    ssqsetContaReceberCODREC: TStringField;
    ssqsetContaReceberCOALESCE: TStringField;
    ssqsetContaReceberCODEMPRESA: TStringField;
    ssqsetContaReceberDISPJUROS: TStringField;
    ssqsetContaReceberDATAENNVIO: TStringField;
    ssqsetContaReceberLAST_CHANCE: TStringField;
    ssqsetContaReceberLAST_CHANGE: TSQLTimeStampField;
    ssqsetContaReceberDATVENCFIXA: TStringField;
    ssqsetContaReceberLOCALFIXA: TStringField;
    ssqsetContaReceberVALORFIXA: TStringField;
    ssqsetContaReceberIDCODCR: TStringField;
    ssqsetContaReceberDATACONFENVIO: TStringField;
    sqqPedidoCODREC: TStringField;
    cdsPedidoCODREC: TStringField;
    sqqItensPedidoTABVEND: TStringField;
    sqqItensPedidoLUCRO: TFMTBCDField;
    cdsItensPedidoTABVEND: TStringField;
    cdsItensPedidoLUCRO: TFMTBCDField;
    sqqPedidoFLAGCLI: TStringField;
    sqqItensPedidoFLAG1: TStringField;
    sqqItensPedidoFLAG2: TStringField;
    sqqItensPedidoFLAG3: TStringField;
    cdsItensPedidoFLAG1: TStringField;
    cdsItensPedidoFLAG2: TStringField;
    cdsItensPedidoFLAG3: TStringField;
    cdsPedidoFLAGCLI: TStringField;
    cdsCondicao: TClientDataSet;
    dspCondicao: TDataSetProvider;
    sqlCondicao: TSQLQuery;
    sqlCondicaoCR_PRAZO: TIntegerField;
    cdsCondicaoCR_PRAZO: TIntegerField;
    ssqPerDescontoPDV_DESC: TSmallintField;
    ssqPerDescontoPDV_DESCTAB2: TFloatField;
    cdsPerDescontoPDV_DESC: TSmallintField;
    cdsPerDescontoPDV_DESCTAB2: TFloatField;
    ssqClienteDATCAD: TStringField;
    cdsClienteDATCAD: TStringField;
    sqqProdutosPREVENDA: TFloatField;
    sqqProdutosPREVENDATAB2: TFloatField;
    sqqProdutosESTATU: TFloatField;
    sqqProdutosPRECUSTO: TFloatField;
    sqqProdutosCUSTOREAL: TFloatField;
    sqqProdutosCUSTOMEDIO: TFloatField;
    cdsProdutosPREVENDA: TFloatField;
    cdsProdutosPREVENDATAB2: TFloatField;
    cdsProdutosESTATU: TFloatField;
    cdsProdutosPRECUSTO: TFloatField;
    cdsProdutosCUSTOREAL: TFloatField;
    cdsProdutosCUSTOMEDIO: TFloatField;
    sqqProdutosUNIDADE: TStringField;
    cdsProdutosUNIDADE: TStringField;
    sqqItensPedidoQUANTIDADE: TFloatField;
    sqqItensPedidoTOTVENDA: TFloatField;
    sqqItensPedidoICMS: TFloatField;
    sqqItensPedidoVIPI: TFloatField;
    sqqItensPedidoPREVENDA: TFloatField;
    sqqItensPedidoPRECUSTO: TFloatField;
    sqqItensPedidoCUSTOMEDIO: TFloatField;
    sqqItensPedidoTOTVENDAAUX: TFloatField;
    cdsItensPedidoQUANTIDADE: TFloatField;
    cdsItensPedidoTOTVENDA: TFloatField;
    cdsItensPedidoICMS: TFloatField;
    cdsItensPedidoVIPI: TFloatField;
    cdsItensPedidoPREVENDA: TFloatField;
    cdsItensPedidoPRECUSTO: TFloatField;
    cdsItensPedidoCUSTOMEDIO: TFloatField;
    cdsItensPedidoTOTVENDAAUX: TFloatField;
    sqqProdutosOBSERVACAO: TStringField;
    cdsProdutosOBSERVACAO: TStringField;
    ssqClienteOBSERVACAO: TStringField;
    cdsClienteOBSERVACAO: TStringField;
    cdsPedidoTOTAL: TFloatField;
    sqqPedidoOBS: TBlobField;
    cdsPedidoOBS: TBlobField;
    sqqPedidoTOTAL: TFloatField;
    procedure DSServerModuleCreate(Sender: TObject);
    procedure cdsConsultaPedidoReconcileError(DataSet: TCustomClientDataSet;
      E: EReconcileError; UpdateKind: TUpdateKind;
      var Action: TReconcileAction);
  private
      procedure pJSONParaArquivo(pArquivoJSON : TJSONArray; const pDir : string);

    { Private declarations }
  public
    { Public declarations }
    function EchoString(Value: string): string;
    function ReverseString(Value: string): string;

    function InsereDados(nome: string; out Erro: string): boolean;
    function GetVendedor: TDataset;
    function GetProduto: TDataset;
    function GetCliente: TDataset;
    function GetTipoSaida: TDataSet;
    function GetRecebimento: TDataSet;
    function GetContaReceber: TDataSet;
    function GetCaixa: TDataSet;
    function GetEmpresa: TDataSet;
    function GetConfDesconto: TDataSet;
    function GetCondicaoPagamento: TDataSet;
    function setPedido(Pedido: TJSONObject; ItensPedido: TJSONArray; Financeiro: TJSONObject) : String;
    function GetPedido(numeroPedido: String): TDataset;
    function GetStatusPedido(numeroPedido: String): String;
 
    procedure setItensPedido(ItensPedido: TJSONArray);
    procedure setFinanceiro(Financeiro: TJSONObject);
    procedure EnviarFotoTablet(Foto: TBlobField);
  end;

var numPedido, codVenda : String;

implementation

{$R *.dfm}

uses System.StrUtils, uDMaster;


procedure TServerMethodos1.cdsConsultaPedidoReconcileError(
  DataSet: TCustomClientDataSet; E: EReconcileError; UpdateKind: TUpdateKind;
  var Action: TReconcileAction);
begin
  ShowMessage(E.Message);
end;

procedure TServerMethodos1.DSServerModuleCreate(Sender: TObject);
begin
  //win32proxydownloader.exe -language java_android -host localhost:8080
end;

function TServerMethodos1.EchoString(Value: string): string;
begin
  Result := Value;
end;

function TServerMethodos1.GetProduto: TDataset;
begin
  cdsProdutos.Close;
  cdsProdutos.Open;
  Result := cdsProdutos;
end;



No Android eu recebo os dados da seguinte maneira.

   private void buscaEInsere() {

        Log.d("AtSincronizacao", "buscaEInsere");

        TDataSet ds;
        TDataSet dsfotoProd;
        ContentValues ct;

        try {

			/*
             * Abre a transacao no banco de dados
			 */
            bancoDados.beginTransaction();

			/*
             * *****************************************
			 * ************** PRODUTO *****************
			 * *****************************************
			 */

			/* Buscar os registros no servidor */
            ds = serv.GetProduto();

			/* Inicializar o content values */
            ct = new ContentValues();

			/* limpar tabela */
            apagaTabela("PRODUTO");
            Log.d("Apaga tabela", "Apaga tabela produto");

			/* Percorrer o DataSet e gravar os registros no banco de dados local */
            while (ds.next()) {

                ct.put("CODPROD", ds.getValue("CODPROD").GetAsAnsiString()
                        .trim());
                ct.put("CODIGO", ds.getValue("CODIGO").GetAsAnsiString().trim());
                ct.put("NOMEPROD", ds.getValue("NOMEPROD").GetAsString().trim());
                ct.put("PREVENDA1", ds.getValue("PREVENDA").GetAsDouble());
                ct.put("PREVENDATAB2", ds.getValue("PREVENDATAB2")
                        .GetAsDouble());
                ct.put("ESTATU", ds.getValue("ESTATU").GetAsDouble());
                ct.put("NAOVENDER", ds.getValue("NAOVENDER").GetAsString()
                        .trim());
                ct.put("INATIVO", ds.getValue("INATIVO").GetAsString().trim());

				/*Campo da versao 3 do bando de dados*/
                ct.put("PRECUSTO", ds.getValue("PRECUSTO").GetAsDouble());
                ct.put("CUSTOMEDIO", ds.getValue("CUSTOMEDIO").GetAsDouble());
                ct.put("CUSTOREAL", ds.getValue("CUSTOREAL").GetAsDouble());
                /*Campo da versão 5 do banco*/
                ct.put("OBSERVACAO_PROD", ds.getValue("OBSERVACAO").GetAsString());
                ct.put("UNIDADE", ds.getValue("UNIDADE").GetAsString());
                        Log.v("Sincronizador", "OBS do produto " + ds.getValue("OBSERVACAO").GetAsString().trim());
     
				/* Insere o registro no banco */
                bancoDados.insertOrThrow("PRODUTO", null, ct);

            }
Willian Amor

Willian Amor

Responder

Posts

24/07/2015

Dorivan Sousa

ja pensou em transformar a imagem em Base64? ai vc envia/recebe como texto normal (mas uma string bem grande) e na aplicacao vc converte pra exibir a imagem
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar