Logo Hardware.com.br
s.alessandro
s.alessandro Novo Membro Registrado
11 Mensagens 6 Curtidas

StringGrid - pegar strings com separadores e transformar em células separadas

#1 Por s.alessandro 01/08/2019 - 09:40
saudações a todos

Minha stringGrid já tem mais dados vinda de outros locais precisaria jogar mais estas informações vinda de uma variável em numa única linha pré determinada preenchendo estas células do stringgrid

essas string é de tamanho desconhecido por exemplo vindo do Edit ou uma variável onde cada elemento's que estiver separada pelo separador ; seja exibida em sequência em células separadas no stringrid em uma única linha

variável := t;e;xxxx;t;ooo

nas células do StringGrid ficaria asssim

[ t ] [ e ] [ xxx ] [ t ] [ ooo ]



(Nessa imagem é apenas ilustrativa )

Agradecido antecipadamente, a quem poder me dar um auxílio

Anexo do post
s.alessandro
s.alessandro Novo Membro Registrado
11 Mensagens 6 Curtidas
#3 Por s.alessandro
04/08/2019 - 00:40
Saudações, esquiloesperto


smile.png

n é quntidade de elementos de cada variavel e poderia ter mais ou menos variaveis tambem , só dependeria da quantidade de delimitações


por exemplo usando a imagem, o edit tem apenas 5 variaveis, mais poderia ter mais ou menos


ter duas variaveis

a;b;


poderia ter 6

a;b;c;d;e;f

etc....


=================================================
e a quantidade de algarismos também é variavel entre cada conjunto delimitado

exemplo

a; bbbbbbbb; xxxxxxxxxxxxx, aaaaaaaaaaa, oo



================================================


o numero de colunas eu fixei em 100 pelo projeto


usando a imagem como exemplo, então essa variaveis ocuparia apenas 5 colunas na linha


e para completar teria de fazer um loop pegando essas 5 variaveis do exemplo e completar com elas até chegar na coluna 100
cada variavel na sua coluna, sempre na mesma ordem


var1;var2;var3;var4;var5 , var1;var2;var3;var4;var5, var1;var2;var3;var4;var5, var1;var2;var3;var4;var5 ...............

eu achei este código aqui ontem, vou dar uma trabalhada nele, e acho que numa parte ele resolve, pegar e separ as variaveis para serem usadas, ai depois fica faltando só jogar pra dentro da stringgrid e fazer o loop

o delimitador em vez de ; é usasado |
=================================
[code=delphi]
procedure TForm1.Button1Click(Sender: TObject);
var
strLinha, tel1, tel2: String;
lista: TStringList;
begin
strLinha := (Edit1.Text);

lista := TStringList.Create;
try
lista.Clear;
ExtractStrings(['|'], [], PChar(strLinha), lista);

if lista.Count >= 1 then
tel1 := lista[0];

if lista.Count >= 2 then
tel2 := lista[1];

ShowMessage(tel1);
ShowMessage(tel2);
finally
lista.Free;
end;
end;[/code]
esquiloesperto
esquiloesper... Cyber Highlander Moderador
7.1K Mensagens 2.2K Curtidas
#4 Por esquiloesper...
04/08/2019 - 03:03
Você pode tornar dinâmica a contagem de todas essas variáveis ao calcular as dimensões da lista: As linhas, colunas e s largura (máximo de caracteres em cada coluna).
E depois, de posse destes valores poderá criar a tabela dinamicamente usando as propriedades [ColCount, RowCount, Colwidths e Cells].

Este vídeo que encontrei explica isto, de modo bem básico e simples:

© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal