Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Punteros en Dephi PDF
Punteros en Dephi PDF
Delphi a primera vista casi no usa los punteros, pero entre bastidores
los punteros son muy usados, y existe una escasa informacin, sobre
que son y como usarlos, as pues primero vamos a ver que es un
puntero.
Puntero -> Una variable cuyo valor es una direccin de una posicin de
memoria.
Formato:
Type
tipo_puntero = ^tipo dato
Por esta razn se dice que un puntero apunta a una variable particular.
Una vez que haya definido una variable puntero, puede asignarla a la
direccin de otra variable del mismo tipo, usando el operador @ :
var
P: ^Integer;
X: Integer;
begin
P := @X;
{
Obtiene la posicin de memoria donde esta guardada la
Variable X.
Una vez que el puntero contiene la direccin de memoria
Podemos cambiar el valor de la variable de dos formas.
}
** Edit1.Text:=InttoHex(Integer(P),8);
P:=nil;
P:= nil;
P^:= 22; { Asignacin incorrecta}
Type
PunteroEntero : ^integer;
Var
P:PunteroEntero;
Ejemplo:
end;
Sentencia Resultado
if P = Q then false
if P <> Q then true
if P > Q then Sentencia no vlida. En punteros
no se pueden usar los siguientes
operadores relacionales >,>=,<,<=.
if P^ > Q^ then false
if P^ <= Q^ then true
Tipo de puntero genrico (pointer)
Delphi permite un tipo especial de definicin de Puntero: "genrico" o
"no tipeado".
BOOL WriteProcessMemory
(
HANDLE hProcess, //handle to process whose memory is written to
LPVOID lpBaseAddress, // address to start writing to
LPVOID lpBuffer, // pointer to buffer to write data to
DWORD nSize, // number of bytes to write
LPDWORD lpNumberOfBytesWritten // number of bytes written
);
Cadenas en formato C
Cadenas en formato C ? Cadenas largas de Delphi ? Que son y que
diferencia hay entre ambas, la razn de tratar este tema es que en el
proyecto inevitablemente nos introduciremos de lleno en el mundo de
las API y estas requieren las Cadenas en formato C.
Este ensayo solo pretende aclarar las cosas de cmo las cadenas son
tratadas en Windows y como son tratadas en Delphi, para nosotros
como usuarios, normalmente solo tendremos que realizar un Typecast,
cuando llamemos a una API, por lo dems todo ser transparente para
nosotros.