A biblioteca EgStrParser está contida numa única unidade:
EgStrParser. Não tem qualquer dependência da VCL, da FMX ou
de qualquer biblioteca externa. Pode ser utilizada em qualquer aplicação
Delphi — de ambiente de trabalho, de serviço ou de consola —
adicionando-a à cláusula uses.
uses
EgStrParser;A biblioteca disponibiliza o método ParseInput, que
aceita um texto bruto string e um tipo de dados declarado, e
devolve um registo TParseResult contendo os valores
analisados e o fragmento de SQL correspondente.
var
R: TParseResult;
begin
R := ParseInput(Edit1.Text, itDate);
if R.ResultType <> otInvalid then
Query1.SQL.Text := 'SELECT * FROM Orders WHERE OrderDate ' + R.SQLExpression;
end;ParseInput devolve sempre um TParseResult
totalmente preenchido e nunca lança uma exceção em caso de entrada
inválida. ResultType indica o que o parser
encontrou; ErrorCode fornece o motivo quando
ResultType é otInvalid. Consulte Tipos e constantes para obter
a referência completa dos campos e Códigos de erro para obter
orientações sobre o tratamento de erros.
O formato dos literais de data, hora, data e hora e booleanos em
SQLExpression depende da base de dados de destino. O
dialeto é definido uma vez por aplicação com SetSQLDialect,
ou fornecido por cada chamada através da sobrecarga completa de
ParseInput. O valor predefinido é
sqlElevateDB. Consulte Dialetos SQL para obter a referência
completa ao formato.
O componente TEgStrParser (unidade
EgStrParserComp) envolve a biblioteca e adiciona a
configuração em tempo de design do dialeto, das opções predefinidas, do
separador de intervalos predefinido e do operador predefinido. Utilize a
biblioteca diretamente quando não for necessária nenhuma infraestrutura
de componentes ou ao efetuar chamadas a partir de threads de trabalho
com um dialeto explícito por chamada. Consulte O componente TEgStrParser para obter
mais detalhes.