Fórum Ponteiros - Arrays, variaveis #455099
12/09/2013
0
Preciso de um help de vcs com os ponteiros, pois tenho uma variável qualquer q é um array e quero setar no ponteiro. Só q não entendi quando devo usar o ^ou @ e como seta a inicialização e o preenchimento dos mesmos. Podem em ajudar ou indicar um material q contenha as respectivas informações com mais clareza. Valeu.
var
variavel : array [0..511] of Byte;
ponteiros : array [0..511] of ^Byte;
begin
bla bla
end;
Alessandro Yamasaki
Curtir tópico
+ 0Posts
12/09/2013
Marco Salles
Boa Tarde pessoal
Preciso de um help de vcs com os ponteiros, pois tenho uma variável qualquer q é um array e quero setar no ponteiro. Só q não entendi quando devo usar o ^ou @ e como seta a inicialização e o preenchimento dos mesmos. Podem em ajudar ou indicar um material q contenha as respectivas informações com mais clareza. Valeu.
var
variavel : array [0..511] of Byte;
ponteiros : array [0..511] of ^Byte;
begin
bla bla
end;
hummmm
o @ utilizado como endereço
o ^ utilizado como Conteúdo porém pode ser utilizado como Ponteiro
Veja um definição
Pinteger é um Ponteiro para Integer , esta definido como
PInteger: : ^ Integer ; // Ponteiro para Integer;
Um exemplo
var i:PInteger; x:Integer; begin x:=5; // conteudo de x igual a 5; i:=@x ; // endereço de x; i^:=4 ; //atribuição do conteudo 4 ao endereço referenciado pelo Ponteiro; Showmessage(inttostr(X)) ;
segundo exemplo .... Arrays
procedure TForm4.Button2Click(Sender: TObject); var A: array[0..2] of Char; P: PChar; // PChar é ponteiro para Char begin P := @A[0]; // pega ponteiro para o primeiro elemento no array P^ := 'O'; // mesmo que A[0] := ´O´ P := P + 1; // avança para o próximo caractere no array P^ := 'i'; // mesmo que A[1] := ´i´ P := P + 1; // avança para o próximo caractere no array P^ := '0'; // mesmo que A[2] := 0; isto termina a string Caption := A; end;
Terceiro exemplo ... PONTEIRO PARA AARAYS
procedure TForm4.Button3Click(Sender: TObject); type T = array[0..2] of Char; var A:T; PA:^T; // Ponteiro para o Tipo T; i: Integer; begin PA:=@A ; //pega o ponteiro para o Array definido pela Variavel A PA^[0]:='O'; // atribuição do conteudo '0' ao endereço referenciado pelo Ponteiro; PA^[0]: PA^[1]:='i'; // atribuição do conteudo 'i' ao endereço referenciado pelo Ponteiro; PA^[1]: PA^[2]:='O'; // atribuição do conteudo 'O' ao endereço referenciado pelo Ponteiro; PA^[2]: for i := Low(A) to High(A) do Showmessage(A[i]); // mostrando o conteudo de A[i] end;
[]sds
Gostei + 0
13/09/2013
Alessandro Yamasaki
Abraços
Gostei + 0
13/09/2013
Alessandro Yamasaki
Preciso carregar um arquivo mp3 ou wav no buffer ou na memoria ou no ponteiro para utiliza-lo numa respectiva funcao q passo para uma dll. Qual a melhor solução e como passo este som no ponteiro?
Grato
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)