GARANTIR DESCONTO

Fórum Ponteiro para Record #343976

02/08/2007

0

Bom dia pessoal! To fazendo um teste aki com record só pra aprender a mexe msm ....

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

Output

Responder

Posts

02/08/2007

Bruno Belchior

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ê;


Responder

Gostei + 0

02/08/2007

Output

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 ?


Responder

Gostei + 0

02/08/2007

Bruno Belchior

Depende pra que você quer utilizar isso...


Responder

Gostei + 0

02/08/2007

Output

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 ...


Responder

Gostei + 0

02/08/2007

Bruno Belchior

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:


Responder

Gostei + 0

02/08/2007

Output

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 ?


Responder

Gostei + 0

02/08/2007

Bruno Belchior

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...


Responder

Gostei + 0

02/08/2007

Output

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 ...


Responder

Gostei + 0

02/08/2007

Bruno Belchior

Rapaz, seri preciso um livro inteiro, rsss...


Responder

Gostei + 0

03/08/2007

Output

eita hehehe ...
kra ... parei aki uns instantes pra pensar e acabei entendendo ...
realmente mto massa esta questao das classes ...
vlw aew kra ...


Responder

Gostei + 0

09/08/2007

Host

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?


Responder

Gostei + 0

10/08/2007

Output

[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


Responder

Gostei + 0

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

Aceitar