Ir para conteúdo
Fórum Script Brasil
  • 0

Colocar Um Txt Em Um Stringgrid


geovanelopes

Pergunta

Tenho um arquivo txt com os seguintes dados:

TX_PATH_CON 800200000 12.06

TX_PATH_CON 802000200 12.02

TX_PATH_CON 824000000 12.07

TX_PATH_CON 806000000 12.08

TX_PATH_CON 808000000 12.07

TX_PATH_CON 810000000 12.06

Fiz uma procedure para colocar esses dados (do mesmo jeito) em um stringGrid.

Sendo que está pegando a linha inteira e colocando em uma cell.

Alguém pode me ajudar a colocar essa informações no grid corretament.

O script abaixo:

procedure TForm1.BitBtn1Click(Sender: TObject);

var

f: Textfile;

x,y: integer;

tempstr: string;

begin

OpenDialog1.Filter := 'Configuração do arquivo (*.TBL)|*.TBL';

OpenDialog1.InitialDir := 'C:\';

OpenDialog1.Title :='Abrir Minha Aplicação';

if OpenDialog1.Execute then

begin

assignfile (f,OpenDialog1.FileName);

reset (f);

//readln (f,temp);

grid.colcount := 3;

//readln (f,temp);

grid.rowcount := 100;

For X := 0 to grid.colcount-1 do

begin

For y := 0 to grid.rowcount-1 do

begin

readln (F, tempstr);

grid.cells[x,y]:=tempstr;

end;

end;

closefile (f);

end;

end;

Obrigado, Geovane

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Daew Geovane...

cara t aconselho a fazer um laço for para pegar todas as linhas do arquivo e em cada linha q você pegar você coloca o valor na coluna correspondente, assim:

for LINHA to QUANTIDADE DE LINHAS DO ARQUIVO do

begin

grid.cells[COLUNA, linha] := copy(VALOR DA LINHA);

//repete a linha de cima a quantidade de colunas

end;

Link para o comentário
Compartilhar em outros sites

  • 0

Valeu!

Resolvi da seguinte forma:

procedure TForm1.BitBtn1Click(Sender: TObject);

var

f: Textfile;

x,y: integer;

tempstr: string;

begin

OpenDialog1.Filter := 'Configuração do arquivo (*.TBL)|*.TBL';

OpenDialog1.InitialDir := 'C:\';

OpenDialog1.Title :='Abrir Minha Aplicação';

if OpenDialog1.Execute then

begin

assignfile (f,OpenDialog1.FileName);

reset (f);

while (not eof(f))do

begin

readln(f,tempstr);

Memo1.Lines.Add(tempstr);

end;

CloseFile(f);

end;

grid.colcount := 3;

grid.rowcount := 56;

Y := 185;

for x := 0 to 12 do

begin

grid.cells[0,x] := copy(memo1.lines[y], 1, 15);

y := y + 1;

end;

Y := 185;

for x := 0 to 12 do

begin

grid.cells[1,x] := copy(memo1.lines[y], 18, 9);

y := y +1;

end;

Y := 185;

for x := 0 to 12 do

begin

grid.cells[2,x] := copy(memo1.lines[y], 28, 5);

y := y +1;

end;

Y := 198;

for x := 13 to 27 do

begin

grid.cells[0,x] := copy(memo1.lines[y], 1, 15);

y := y + 1;

end;

Y := 198;

for x := 13 to 27 do

begin

grid.cells[1,x] := copy(memo1.lines[y], 18, 10);

y := y +1;

end;

Y := 198;

for x := 13 to 27 do

begin

grid.cells[2,x] := copy(memo1.lines[y], 29, 5);

y := y +1;

end;

Y := 213;

for x := 28 to 40 do

begin

grid.cells[0,x] := copy(memo1.lines[y], 1, 15);

y := y + 1;

end;

Y := 213;

for x := 28 to 40 do

begin

grid.cells[1,x] := copy(memo1.lines[y], 18, 9);

y := y +1;

end;

Y := 213;

for x := 28 to 40 do

begin

grid.cells[2,x] := copy(memo1.lines[y], 28, 5);

y := y +1;

end;

Y := 226;

for x := 41 to 55 do

begin

grid.cells[0,x] := copy(memo1.lines[y], 1, 15);

y := y + 1;

end;

Y := 226;

for x := 41 to 55 do

begin

grid.cells[1,x] := copy(memo1.lines[y], 18, 9);

y := y +1;

end;

Y := 226;

for x := 41 to 55 do

begin

grid.cells[2,x] := copy(memo1.lines[y], 29, 5);

y := y +1;

end;

end;

Link para o comentário
Compartilhar em outros sites

  • 0

se você usou um memo para abrir o arquivo há uma forma mais fácil de trazer o conteúdo do arquivo para dentro do memo:

memo1.lines.loadfromfile("CAMINHO E NOME DO ARQUIVO");

e caso keira salvar o conteudo:

memo1.lines.savetofile("CAMINHO E NOME DO ARQUIVO");

Mas é claro, tem que ser um arquivo com conteúdo texto, para usar esses dois procedimentos você não pode estar tentando ler ou salvar em um arquivo binário, por exemplo.

Vlw,

Ricardo.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...