Strings - MatchText

17/02/2016

3

Meu código .:

if MatchText(qryTemp.FieldByName('Descricao').asstring, ['Minha Casa', 'Escritura', 'Transação', 'substabelecimentos']) then
// Executa outro bloco de código porém não esta funcionando

O MatchText compara a string toda ou em partes ?
Alguma ideia de como faria para poder comparar partes pensei em usar a função POS mas ficaria muito grande
Responder

Posts

O MatchText compara a string toda ou em partes ?
Alguma ideia de como faria para poder comparar partes pensei em usar a função POS mas ficaria muito grande


O MatchText compara a sting completa.

Para comparação da string completa eu utilizo AnsiIndexStr junto com Case.

case AnsiIndexText(qryTemp.FieldByName('Descricao').asstring,
    ['Minha Casa', 'Escritura', 'Transação', 'substabelecimentos']) of
    0:
      ShowMessage('Execute aqui bloco "Minha Casa"');
    1:
      ShowMessage('Execute aqui bloco "Escritura"');
    2:
      ShowMessage('Execute aqui bloco "Transação"');
    3:
      ShowMessage('Execute aqui bloco "substabelecimentos"');
  else
    ShowMessage('Não foi encontrado');
  end;


Para comparação de partes da string eu uso o AnsiContainsStr e IF.

  if AnsiContainsStr('Minha Casa', qryTemp.FieldByName('Descricao').asstring) then
    ShowMessage('Execute aqui bloco "Minha Casa"');

  if AnsiContainsStr('Escritura', qryTemp.FieldByName('Descricao').asstring) then
    ShowMessage('Execute aqui bloco "Escritura"');

  if AnsiContainsStr('Transação', qryTemp.FieldByName('Descricao').asstring) then
    ShowMessage('Execute aqui bloco "Transação"');

  if AnsiContainsStr('substabelecimentos', qryTemp.FieldByName('Descricao').asstring) then
    ShowMessage('Execute aqui bloco "Substabelecimentos"');
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira