Ir diretamente para o conteúdo principal

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 |