Cita:
Empezado por gaston260
var
p byte;
i:integer;
begin
i:= 100; //asigná a una variable el valor que queres
p:=@i; // al puntero de asignas la direccion de i, p vale lo mismo que i
i:=P^; ahora lo apuntado por p lo copiamos a i
edit1.text:= inttostr ; // mostramos i
edit1.text:= inttostr(p^); o tambiem mostramos lo apuntado por p
esto me lo paso un gran amigo que es programador (es un capo !!)
Gracias Maxi
|
Debes cambiar el tipo de la variable P, de
Byte a
Pointer.
Básicamente, en el código que has posteado expresas el manejo básico de los punteros.
Código Delphi
[-]
un_puntero_a_una_variable = @Variable; valor_contenido_en_el_puntero = Puntero^;
Recuerda que siempre es recomendable utilizar punteros de tipos, esto es: no utilices una variable de tipo
Pointer que es generíco, sino más bien para guardar la dirección a un entero, utiliza PInteger; para una cadena utiliza PString o PAnsiChar y así sucesivamente. Tengo entendido que Delphi predeterminadamente declara tipos de puntero para sus tipos de datos básicos incluyendo los objetos. Te recomiendo que leas el capitulo acerca de los puntero que es incluído en la ayuda de Delphi.
Saludos.