Ver Mensaje Individual
  #8  
Antiguo 03-03-2009
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Reputación: 19
Chris Va por buen camino
Cita:
Empezado por gaston260 Ver Mensaje
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; // la arroba devuelve la dirección de la
                                                       // variable que le sigue.
valor_contenido_en_el_puntero = Puntero^; // el simbolo ^ devuelve el valor 
                                                            //almacenado en la dirección que le antecede.

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.
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita