EscreverArquivoDeTextoNaSeçãoDeArquivoLocal
Estrutura
WriteTextFileToLocalFileSelection(sFileName, sStartFlag, sEndFlag, sToWrite, sSectionStartFlag, sSectionEndFlag, sIDStartFlag, sIDEndFlag, sIDValue)
Parâmetros
| Parâmetro | Tipo | Descrição
| sFileName | String | o nome do ficheiro no diretório temporário da IndySoft que deve ser lido. Trata-se simplesmente do nome do ficheiro mais a extensão — isto NÃO deve incluir os caminhos completos dos diretóriosStartFlag | String | o texto que deve ser pesquisado para iniciar o texto de retorno. O texto de retorno NÃO incluirá este sStartFlag textsEndFlag | String | o texto que deve ser pesquisado para terminar o texto de retorno. O texto de retorno NÃO incluirá este sEndFlag.sToWrite | String | o texto que será inserido no ficheiro de texto, entre sStartFlag e sEndFlag.sSectionStartFlag | String | o texto que deve ser procurado para iniciar a secção apropriada.sSectionEndFlag | String | o texto que deve ser procurado para terminar a secção apropriada.sIDStartFlag | String | o texto que deve ser pesquisado (na sSection devolvida pelos dois parâmetros acima) para encontrar o início dos campos de IDIDEndFlag | String | o texto que deve ser pesquisado (na sSection devolvida pelos dois parâmetros acima) para encontrar o fim dos campos de IDIDValue | String | o texto que deve ser comparado com o texto de ID devolvido, para verificar se encontrámos o item apropriado. Nesse caso, os parâmetros sStartFlag e sEndFlags são utilizados para localizar a informação adequada nesta secção. |
Valor de retorno
Char
«1» = Sucesso, «0» = Falha
Descrição
As funções do grupo «Funções de leitura/gravação de ficheiros locais» são normalmente utilizadas para criar e ler ficheiros XML (ou outros) a partir de um diretório de rede comum, com o objetivo de sincronizar os dados/funcionalidades do IndySoft com outro sistema, como um sistema de contabilidade. Esta função requer que exista um ficheiro com o nome sFileName no diretório temporário atual do IndySoft — provavelmente copiado para lá pela função «GetLocalFile». Normalmente, trata-se de um ficheiro XML com dados provenientes de outra aplicação de base de dados. Esta função é semelhante à WriteTextToLocalFile, mas apenas grava numa secção específica do ficheiro e verifica se cada secção possui um ID exato. Por exemplo, imagine que está a ler um ficheiro XML que devolve informações sobre os custos de um conjunto de peças. O ficheiro XML pode ter o seguinte aspeto:
<?xml version='1.0' encoding='UTF-8' ?>
<PriceResponse>
<Header>
<Customer>100078</Customer>
<Code>AIT</Code>
</Header>
<PartDetailItem>
<LineNo>1</LineNo>
<PartNumber>PA0234</PartNumber>
<UnitPrice>10.23</UnitPrice>
</PartDetailItem>
<PartDetailItem>
<LineNo>2</LineNo>
<PartNumber>PA4343</PartNumber>
<UnitPrice>23.45</UnitPrice>
</PartDetailItem>
<PartDetailItem>
<LineNo>3</LineNo>
<PartNumber>PA8974</PartNumber>
<UnitPrice>56.45</UnitPrice>
</PartDetailItem>
</PriceResponse>
Para continuar o exemplo, digamos que precisa de atualizar o UnitPrice para PartNumber = 'PA4343' para um novo valor de '24.01'. Só lhe interessaria consultar as secções «PartDetailItem» e, mais especificamente, apenas a secção de detalhes em que o campo «PartNumber» fosse igual a «PA4343». Segue-se o script personalizado que deve utilizar:
if WriteTextToLocalFileSection('FromMyAccountingSystem.xml', '<UnitPrice>', '</UnitPrice>', '24.01', '<PartDetailItem>', '</PartDetailItem>', '<PartNumber>', '</PartNumber>', 'PA4343')
Exemplo
Não foi fornecido nenhum exemplo
Compatibilidade de aplicações
Gestão de Calibração IndySoft, Gestão de Laboratórios Comerciais IndySoft, Gestão de Ferramentas IndySoft
Veja também
Sem tópicos relacionados |