+3 votos
34 visitas
Tenho uma tela em Delphi, feita com componentes padrão do Delphi e preciso colocar um componente para acessar um campo do tipo arquivo da minha tabela.

Qual a melhor forma para se fazer isso?
por (77 pontos) | 34 visitas

1 Resposta

+1 voto
Melhor resposta

Existem a funções do BSistema

unit uBSistemaWrapper;
...
CurrentSystemWrapper.SetFieldDocument
procedure SetFieldDocument(const aTable, aField: WideString; aHandle: Integer; const aLocalFile: WideString; SetFileNameInRecord: WordBool);
Informa o arquivo para tabela, campo e registro passados por parâmetro. O parâmetro SetFileNameInRecord indica que o sistema deve executar um update atualizando o nome do arquivo no campo correspondente. 
Obs.: Caso o sistema esteja com uma transação aberta, ficará a cargo do desenvolvimento o término da transação.
procedure GetFieldDocument(const aTable,aField:WideString;aHandle:Integer; const aLocalFile: WideString);
Copia o arquivo especificado do servidor para o arquivo informado em "aLocalFile".
procedure ClearFieldDocument(const aTable, aField:WideString; aHandle: Integer;SetFileNameInRecord: WordBool);
Remove o arquivo informado do servidor. Caso o parâmetro "SetFileNameInRecord" for informado como True o sistema irá executar um update atualizando o valor do campo para NULO.
Obs.: Caso o sistema esteja com uma transação aberta, ficará a cargo do desenvolvimento o término da transação. A operação de remoção de arquivo do servidor não pode ser desfeita, portanto, é altamente recomendado que esta seja a última operação antes do término de uma transação.
por (871 pontos)
selecionada por

Perguntas relacionadas

Melhores Feb 2020
  1. diuari.molinari

    21 Pontos

  2. henrique.muller

    18 Pontos

  3. thiago.almeida

    10 Pontos

  4. metalsystem.gustavo

    8 Pontos

  5. juliano.pezzini

    8 Pontos

  6. Leonardo Rovigo

    7 Pontos

  7. antonio.teles

    5 Pontos

  8. Francisco Santana

    5 Pontos

  9. andre.wenceslau

    5 Pontos

  10. SlimShady

    5 Pontos

200 pontos
Melhores 2020 Feb 17 - 23
  1. henrique.muller

    13 Pontos

  2. thiago.almeida

    10 Pontos

  3. juliano.pezzini

    6 Pontos

  4. antonio.teles

    5 Pontos

  5. diuari.molinari

    5 Pontos

  6. Leonardo Rovigo

    3 Pontos

408 perguntas
456 respostas
333 comentários
460 usuários