Ponteiro para Record
Bom dia pessoal! To fazendo um teste aki com record só pra aprender a mexe msm ....
Tenho as seguintes declarações:
1º) A minha dúvida é a se estou fazendo a coisa certa! A intensão seria armazenar mais de um registro (´linha´) na record ....
2º) Como faço pra percorrer todos os registros desta record, e acessando o valor de cada ´linha´?
Abraços ...
Tenho as seguintes declarações:
Type
TClientes = Record
Cod: Integer;
Nome: string;
end;
{...}
procedure TForm1.Button1Click(Sender: TObject);
var
PClientes: ^TClientes;
begin
New(PClientes);
PClientes.Cod:= 1;
PClientes.Nome:=´Cliente 1´;
New(PClientes);
PClientes.Cod:= 2;
PClientes.Nome:=´Cliente 2´;
end;1º) A minha dúvida é a se estou fazendo a coisa certa! A intensão seria armazenar mais de um registro (´linha´) na record ....
2º) Como faço pra percorrer todos os registros desta record, e acessando o valor de cada ´linha´?
Abraços ...
Output
Curtidas 0
Respostas
Bruno Belchior
02/08/2007
Dúvida 1: Não, o próprio nome já diz tudo. Isso é um record (registro), em outras palavras é análogo ao registro de bando de dados, para o que está querendo, deverá utilizar um arquivo ou mesmo um array;
Dúdiva 2: Não existe uma maneira de percorrer os ´campos´ de um registro a não ser da maneira como foi apresentada por você;
Dúdiva 2: Não existe uma maneira de percorrer os ´campos´ de um registro a não ser da maneira como foi apresentada por você;
GOSTEI 0
Output
02/08/2007
Hum ... ta certo ...
Agora sim compreendi ...
entao no meu caso, axo q o correto seria eu criar uma matriz de duas dimensoes do tipo TCliente certo ?
Agora sim compreendi ...
entao no meu caso, axo q o correto seria eu criar uma matriz de duas dimensoes do tipo TCliente certo ?
GOSTEI 0
Bruno Belchior
02/08/2007
Depende pra que você quer utilizar isso...
GOSTEI 0
Output
02/08/2007
Neste caso, qria apenas percorrer todos os registro e dar um showmessage.... é so pra ver como funciona mesmo ...
mais se quiser dar mais alguma dica de como e onde, geralmente isto é usado ...
mais se quiser dar mais alguma dica de como e onde, geralmente isto é usado ...
GOSTEI 0
Bruno Belchior
02/08/2007
Cara, com as tecnologias atuais, utilizar-se ponteiro diretamente no delphi é quase que desnecessário. Mas pelo que vi, é por questões didáticas. Ponteiros, arrays e registros, não tem uma regra muito específica... (Aliás, a própria programação não tem). É uma questão de aplicá-los a um determinado problema, o resto é ´viajar na maionese´... Rsss.... :wink:
GOSTEI 0
Output
02/08/2007
hum ... sei sei ..
vc está certo, é como dizem: ´cada caso é um caso hehe´ ...
o importante é entender a logica do funcionamento e aplica - la de acordo com as nescessidades ...
vlw aew pelas dicas fera ....
Ah!!!
Aproveitando o topico ...
li em algum lugar q um Record seria quase uma classe... oke realmente diferencia ambas ?
vc está certo, é como dizem: ´cada caso é um caso hehe´ ...
o importante é entender a logica do funcionamento e aplica - la de acordo com as nescessidades ...
vlw aew pelas dicas fera ....
Ah!!!
Aproveitando o topico ...
li em algum lugar q um Record seria quase uma classe... oke realmente diferencia ambas ?
GOSTEI 0
Bruno Belchior
02/08/2007
Não é bem assim. Pra falar a verdade, são coisas bem distintas. Classes são a estruturação de objetos... Um registro, só pode conter campos. Em linguagens oriundas de C (como C++ por exemplo), é possível que um record (chamado de struct nesse caso) possua procedimentos que análogamente, poderiam ser os métodos de uma classe. Em C# por exemplo, cada record criado é um objeto, mas não confunda as coisas, já que nesse linguagem, qualquer coisa (qualquer coisa mesmo!) é um objeto...
GOSTEI 0
Output
02/08/2007
Ah!!! blz .. mto boa sua explicacao ... vlw aew kra!
Agora, ainda naum entendo as logicas das classes ...
tipow qual é o real valor delas dentro do delphi ...
Agora, ainda naum entendo as logicas das classes ...
tipow qual é o real valor delas dentro do delphi ...
GOSTEI 0
Bruno Belchior
02/08/2007
Rapaz, seri preciso um livro inteiro, rsss...
GOSTEI 0
Output
02/08/2007
eita hehehe ...
kra ... parei aki uns instantes pra pensar e acabei entendendo ...
realmente mto massa esta questao das classes ...
vlw aew kra ...
kra ... parei aki uns instantes pra pensar e acabei entendendo ...
realmente mto massa esta questao das classes ...
vlw aew kra ...
GOSTEI 0
Host
02/08/2007
Type
TClientes = Record
Cod: Integer;
Nome: string;
end;
public
{aqui vce pode especificar a qtd de registros}
Cliente: array[1..2] of TClientes;
{ou dxar free}
Cliente: array of TClientes;
procedure TForm1.Button1Click(Sender: TObject);
begin
Cliente[1].Cod:=1;
Cliente[2].Nome:=´Fulano´;
end;
Depois para percorrer eh so colocar a posicao do array ... este exemplo tambem pode se adaptar a pesquisa dentro de arquivos..... eh este seu problema?
TClientes = Record
Cod: Integer;
Nome: string;
end;
public
{aqui vce pode especificar a qtd de registros}
Cliente: array[1..2] of TClientes;
{ou dxar free}
Cliente: array of TClientes;
procedure TForm1.Button1Click(Sender: TObject);
begin
Cliente[1].Cod:=1;
Cliente[2].Nome:=´Fulano´;
end;
Depois para percorrer eh so colocar a posicao do array ... este exemplo tambem pode se adaptar a pesquisa dentro de arquivos..... eh este seu problema?
GOSTEI 0
Output
02/08/2007
[b:db44701916]Host[/b:db44701916] blz kra !
naum, neste caso era somente pra questão didático msm.... só pra ver como funcionava ....
vlw pela dica,,, foi util tbm. Abçs
naum, neste caso era somente pra questão didático msm.... só pra ver como funcionava ....
vlw pela dica,,, foi util tbm. Abçs
GOSTEI 0