ObterTextoDaSecçãoDoFicheiroLocal
Estrutura
GetTextFromLocalFileSelection(sFileName, sStartFlag, sEndFlag, 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 o caminho completo do diretório.sStartFlag | String | o texto que deve ser procurado para iniciar o texto de retorno. O texto de retorno NÃO incluirá este texto sStartFlag.sEndFlag | String | o texto que deve ser procurado para marcar o fim do texto de retorno. O texto devolvido NÃO incluirá este sEndFlag.sSectionStartFlag | String | o texto que deve ser pesquisado para marcar o início das secções apropriadasSectionEndFlag | String | o texto que deve ser pesquisado para marcar o fim das secções apropriadasIDStartFlag | String | o texto que deve ser pesquisado (na sSection devolvida pelos dois parâmetros acima) para localizar 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 a secção apropriada. Nesse caso, os parâmetros sStartFlag e sEndFlags são utilizados para localizar a informação adequada nesta secção. |
Valor de retorno
Cadeia de caracteres
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 à GetTextFromLocalFile, mas apenas lê uma secção específica do ficheiro e verifica se cada secção contém 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 saber o UnitPrice para PartNumber = 'PA4343'. 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:
sPrice = GetTextFromLocalFileSection('FromMyAccountingSystem.xml', '<UnitPrice>', '</UnitPrice>', '<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 |