Jump to content

dev botao

  • Este tópico foi criado há 2653 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Posted

A dica de hoje tem o objetivo de demonstrar como podemos criar uma instrução para query dinâmica mas rápido.

Quando a Instrução e grande fazer na mão  se torna demorado, e porque não criar algo que ajude. colando o sql puro TMemo -> Origem e  gerando o precisamos no TMemo -> destino,  além de informar a posição do field.

Talvez o código talvez  não seja dos melhores, mas o que importa e fazer o que propõe.

 

     with Qry.SQL do
      begin
        Add('SELECT');
        Add('  produto.descricao_produto);
        Add(' FROM');
        Add('  public.produto);
      end;

 

var
 I,
 iCont: Integer;
 bOK: Boolean;
 sNum,
 sText,
 sAux : String;
begin
  { Define valor inicial das variaveis }
  iCont := -1;
  bOK := False;
  { Limpa o Memo Destino }
  mmoDestino.Clear;
  for i := 0 to mmoOrigem.Lines.Count -1 do
  begin
    { Identifica a posicao do Field }
    sNum := FormatFloat('00', iCont);
    { Recebe a linha de Origem }
    sText := mmoOrigem.Lines.Strings[I];
    { Remove Espaco em branco do final da Variavel ->  StrText }
    sAux := TrimRight(sText);
    { Nao Adiciona Posicao do Field }
    if I = 0 then
    begin
     sText := sAux;
     mmoDestino.Lines.Append('         Add( ' + QuotedStr(sText) + ');');
    end
    else
    begin
      { Verifica se a instrucao chegou na Linha From para poder encerrar o
      adicionar Posicao do Field }
      if Pos('FROM', sText) <> 0 then
      begin
        bOK := True;
        sText := '  ' + sAux;
        mmoDestino.Lines.Append('         Add( ' + QuotedStr(sText) + ');');
      end
      { Encerra Adicionar Posicao do Field }
      else if bOK then
      begin
        sText := '  ' + sAux;
        mmoDestino.Lines.Append('         Add( ' + QuotedStr(sText) + ');');
      end
     else
      { Posicao do Field }
      begin
        sText := '  ' + sAux;
        mmoDestino.Lines.Append('{' + sNum + '}  Add( ' + QuotedStr(sText) + ');');
      end;
    end;
    inc(iCont);
  end;

 

Formatador.png

  • Consultores
Posted

O CnPack tem uma ferramenta para fazer essa conversão. Fica integrado a IDE, o que bem prático. E tem muitas outras funcionalidades (blog post em italiano).

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Este tópico foi criado há 2653 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...