GARANTIR DESCONTO

Fórum Inserir items de um ListBox em memo quebrando por nº de palavras #498480

20/10/2014

0

Olá pessoal,

Trabalho com Delphi 7 e estou tentando fazer o seguinte:

Num ListBox tenho todos os campos de uma tabela. Quero passar esses campos para um memo, mas com um detalhe, que sejam jogadas em cada linha 7 palavras, ou seja, sete campos em cada linha para compor um select.

Sendo mais claro, perciso disso:

No ListBox tenho os itens:

Campo1
Campo2
Campo3
Campo4
Campo5
Campo6
Campo7
Campo8
Campo9
Campo10
Campo11
Campo12
Campo13
Campo14
Campo15

Apóes percorrer o ListBox, no memo fique assim:

(Na linha 0) SELECT Campo1, Campo2, Campo3, Campo4, Campo5, Campo6, Campo7,
(Na linha 1) Campo8, Campo9, Campo10, Campo11, Campo12, Campo13, Campo14,
(Na linha 2) Campo15 FROM NOME_DA_TABELA


Alguém teria uma sugestão?

Grato,

Ilano.
Ilano Caldas

Ilano Caldas

Responder

Posts

20/10/2014

Ilano Caldas

Bom pessoal,

Fiz um negócio meio estranho, mas funcionou. Se alguém souber como melhorar, o que acredito que tenha como melhorar sim, por favor, esteja à vontade.



procedure TFrmListarCampos.BtnGerarSQLClick(Sender: TObject);
Var
I, C, F : Integer;
pCampos : String;

begin
pCampos:='';
C:=0;
F:=0;
cxListBox1.Items.Clear;
cxSQL.Lines.Clear;

For I:=0 To clbCampos.Items.Count - 1 Do
Begin
If clbCampos.Items.Items[I].Checked = True Then
C:=C + 1;
ENd;

For I:=0 To clbCampos.Items.Count - 1 Do
Begin
If clbCampos.Items.Items[I].Checked = True Then
Begin
F:=F + 1;
cxListBox1.Items.Add(clbCampos.Items.Items[I].Text);
End;
End;

F:=cxListBox1.Items.Count;
C:=0;

For I:=0 To cxListBox1.Items.Count - 1 Do
Begin
pCampos:=pCampos + cxListBox1.Items.Strings[I] + ', ';

If (C >= 7) AND (I < F) Then
Begin
cxSQL.Lines.Add(pCampos);
pCampos:='';
C:=0;
End
Else
If (C <= 7) AND (I = F - 1) Then
Begin
cxSQL.Lines.Add(LeftStr(pCampos, (Length(pCampos) - 2)));
cxSQL.Lines.Add('FROM ' + LbTabela.Caption + ' (NOLOCK)')
End;

C:=C + 1;

End;

cxSQL.Lines.Strings[0]:='SELECT TOP 1000 ' + cxSQL.Lines.Strings[0];
BtnConfirmar.Enabled:=True;

end;

Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar