Uso do setlength
12/02/2019
0
Bom dia, gente!
Estou com dificuldade para salvar alguns dados. No meu programa quero ter uma opção para cadastrar vários informações de um cliente, como por exemplo nome, endereço, idade e etc. Pensei em usar o setlength para aumentar o tamanho da minha string, que no caso se chama "dados" e é array de T_dados, que por sua vez declarei do tipo record.
Nesse "dados" estão vários relatórios com informações de outros clientes, advindos de um arquivo txt (cada linha do arquivo equivale a um cliente e cada coluna uma informação específica como nome...)
pensei em algo assim:
setlength (length(dados)+1).
Infelizmente não sei como fazer isso, se alguém puder me ajudar ficarei extremamente grata.
Obrigada!
Estou com dificuldade para salvar alguns dados. No meu programa quero ter uma opção para cadastrar vários informações de um cliente, como por exemplo nome, endereço, idade e etc. Pensei em usar o setlength para aumentar o tamanho da minha string, que no caso se chama "dados" e é array de T_dados, que por sua vez declarei do tipo record.
Nesse "dados" estão vários relatórios com informações de outros clientes, advindos de um arquivo txt (cada linha do arquivo equivale a um cliente e cada coluna uma informação específica como nome...)
pensei em algo assim:
setlength (length(dados)+1).
Infelizmente não sei como fazer isso, se alguém puder me ajudar ficarei extremamente grata.
Obrigada!
Letícia Rodrigues
Curtir tópico
+ 0
Responder
Post mais votado
12/02/2019
Olá Letícia,
O comando setlength é assim: SetLength(nome_do_array, length(nome_do_array)+1); porém te desaconselho totalmente a trabalhar com arrays e records porque isto é o jeito antigo do pascal de trabalhar.
O Delphi já trabalha com objetos, que até lembram records mas são mais flexíveis:
type
TDados = class
public
property Nome: String read FNome write FNome;
...
end;
E por aí vai. Depois que você criou seus objetos, você pode declarar array desses objetos ou melhor ainda, te aconselho a trabalhar com generics, se sua versão do Delphi for recente:
a vantagem dos generics é que quando você acessa o objeto e dá ponto "." ele mostra uma série de métodos como add, remove, sort, e é muito melhor de trabalhar do que arrays...
Na verdade generics é o jeito moderno das linguagens orientadas a objetos de hoje trabalharem com lista de dados...
Espero ter ajudado. Fique com Deus.
O comando setlength é assim: SetLength(nome_do_array, length(nome_do_array)+1); porém te desaconselho totalmente a trabalhar com arrays e records porque isto é o jeito antigo do pascal de trabalhar.
O Delphi já trabalha com objetos, que até lembram records mas são mais flexíveis:
type
TDados = class
public
property Nome: String read FNome write FNome;
...
end;
E por aí vai. Depois que você criou seus objetos, você pode declarar array desses objetos ou melhor ainda, te aconselho a trabalhar com generics, se sua versão do Delphi for recente:
uses generics.collections; type TListaDados = TList<TDado>; ... var ld: TListaDados; d: TDado; begin id:= TListaDados.Create; d:= TDado.Create; d.Nome:='HELIO'; d.Idade:=32. id.add(d); showmessage(id.Itens[0].Nome); end;
a vantagem dos generics é que quando você acessa o objeto e dá ponto "." ele mostra uma série de métodos como add, remove, sort, e é muito melhor de trabalhar do que arrays...
Na verdade generics é o jeito moderno das linguagens orientadas a objetos de hoje trabalharem com lista de dados...
Espero ter ajudado. Fique com Deus.
Hélio Devmedia
Responder
Mais Posts
25/02/2019
Letícia Rodrigues
Olá Letícia,
O comando setlength é assim: SetLength(nome_do_array, length(nome_do_array)+1); porém te desaconselho totalmente a trabalhar com arrays e records porque isto é o jeito antigo do pascal de trabalhar.
O Delphi já trabalha com objetos, que até lembram records mas são mais flexíveis:
type
TDados = class
public
property Nome: String read FNome write FNome;
...
end;
E por aí vai. Depois que você criou seus objetos, você pode declarar array desses objetos ou melhor ainda, te aconselho a trabalhar com generics, se sua versão do Delphi for recente:
a vantagem dos generics é que quando você acessa o objeto e dá ponto "." ele mostra uma série de métodos como add, remove, sort, e é muito melhor de trabalhar do que arrays...
Na verdade generics é o jeito moderno das linguagens orientadas a objetos de hoje trabalharem com lista de dados...
Espero ter ajudado. Fique com Deus.
O comando setlength é assim: SetLength(nome_do_array, length(nome_do_array)+1); porém te desaconselho totalmente a trabalhar com arrays e records porque isto é o jeito antigo do pascal de trabalhar.
O Delphi já trabalha com objetos, que até lembram records mas são mais flexíveis:
type
TDados = class
public
property Nome: String read FNome write FNome;
...
end;
E por aí vai. Depois que você criou seus objetos, você pode declarar array desses objetos ou melhor ainda, te aconselho a trabalhar com generics, se sua versão do Delphi for recente:
uses generics.collections; type TListaDados = TList<TDado>; ... var ld: TListaDados; d: TDado; begin id:= TListaDados.Create; d:= TDado.Create; d.Nome:='HELIO'; d.Idade:=32. id.add(d); showmessage(id.Itens[0].Nome); end;
a vantagem dos generics é que quando você acessa o objeto e dá ponto "." ele mostra uma série de métodos como add, remove, sort, e é muito melhor de trabalhar do que arrays...
Na verdade generics é o jeito moderno das linguagens orientadas a objetos de hoje trabalharem com lista de dados...
Espero ter ajudado. Fique com Deus.
Obrigada Hélio, ajudou sim :)
Responder
Clique aqui para fazer login e interagir na Comunidade :)