+4 votos
258 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 (81 pontos) | 258 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 (961 pontos)
selecionada por

Perguntas relacionadas

Melhores Jun 2026
  1. Duwe

    4 Pontos

200 pontos
Melhores 2026 Jun 08 - 14
  1. danilo.pereira

    96 Pontos

  2. danilo.pereira

    96 Pontos

  3. danilo.pereira

    96 Pontos

  4. luciano.fronza

    61 Pontos

  5. luciano.fronza

    61 Pontos

  6. luciano.fronza

    61 Pontos

  7. diuari.molinari

    52 Pontos

  8. diuari.molinari

    51 Pontos

  9. diuari.molinari

    51 Pontos

  10. willian.metalsystem

    45 Pontos

518 perguntas
568 respostas
389 comentários
791 usuários