Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 12-02-2008
Norum Norum is offline
Registrado
 
Registrado: oct 2006
Ubicación: Lanus, Argentina
Posts: 5
Poder: 0
Norum Va por buen camino
Hola Delphius!

Vayamos por partes....

Con respecto al formato para que quede el código encuadrado, lo hice con el boton de "resaltar sintaxis de delphi", ahora lo raro es que en la vista preliminar se veía bien como debería ser, ahora en la versión final salió lo que salió, medio desparejo.
Voy a ver en la próxima a ver cómo sale.

Con respecto a la Cara Oculta, lo estuve leyendo, me parece un librazo, pero justamente no es para novatos, Ian Marteens lo explica al principio. Si bien pude seguirlo un poco al principio y el libro tiene un tono ameno y divertido, que me ha hecho reir más de una vez (supongo que a otro le ha pasado lo mismo), después se torna más complejo.
Voy a ver de nuevo donde trata el tema de parámetros por valor y por referencia.


Muy buena esa frase

Cita:
si hay dudas es probable de que el diseño sea débil y por tanto el código es débil
La voy a tener siempre presente.

Por último, voy a seguir adelante porque creo que esto no tiene mucha vuelta que darle. Si se llega a complicar con más unidades (cosa que no creo), voy a investigar más a fondo este tema de no dejar variables "muy al descubierto".

Gracias de nuevo y van 3!

Norum
Responder Con Cita
  #2  
Antiguo 12-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 27
Delphius Va camino a la fama
Cita:
Empezado por Norum Ver Mensaje
Hola Delphius!

Vayamos por partes....

Con respecto al formato para que quede el código encuadrado, lo hice con el boton de "resaltar sintaxis de delphi", ahora lo raro es que en la vista preliminar se veía bien como debería ser, ahora en la versión final salió lo que salió, medio desparejo.
Voy a ver en la próxima a ver cómo sale.
Es sencillo simplemente antes de poner el código escribres [ DELPHI ] (pero sin los espacios). Luego escribes el código y al finalizar, colocas [ /DELPHI ] (también sin espacios).


Cita:
Empezado por Norum Ver Mensaje
Con respecto a la Cara Oculta, lo estuve leyendo, me parece un librazo, pero justamente no es para novatos, Ian Marteens lo explica al principio. Si bien pude seguirlo un poco al principio y el libro tiene un tono ameno y divertido, que me ha hecho reir más de una vez (supongo que a otro le ha pasado lo mismo), después se torna más complejo.
Voy a ver de nuevo donde trata el tema de parámetros por valor y por referencia.
La Cara Oculta es un buen libro para comenzar... si cuesta un poco es porque no es que te va a explicar todo sobre el lenguaje.

A ver... el asunto de valor o referencia no es tan complicado. Cometí un error en el mensaje anterior. Veamos de nuevo.

Código Delphi [-]
Procedure MiProcedimientoA (Algo: integer); // Este es "por valor"
Procedure MiProcedimientoB (var Algo: integer); // Esto es "por referencia"

Cuando los parámetros se pasan por valor, el compilador lo que hace es copiar el VALOR que contiene la variable Algo. Por lo que dicha variable no se ve alterada dentro del procedimiento. En cambio, cuando se pasa por referencia, el compilador suministra el "puntero" de dicha variable, y con esto se conseguie que la variable Algo pueda alterar su valor.

Supongamos que tienes una variable MiAlgo y se hace esto:

Código Delphi [-]
MiAlgo := 5; // MiAlgo vale 5
MiProcedimientoA(MiAlgo); // MiAlgo sigue valiendo 5
ShowMessage(IntToStr(MiAlgo)); // nos mostrará 5!

Pero en cambio si haces:

Código Delphi [-]
MiAlgo := 5; // MiAlgo vale 5
MiProcedimientoB(MiAlgo); // MiAlgo sigue valiendo 5
 ShowMessage(IntToStr(MiAlgo)); // MiAlgo no vale 5. ¿Cuanto vale?

Es decir que cuando se procede por referencia se está pidiendo que se trabaje con dicha variable y no una copia. Es por ello que una vez que finalizas este procedimiento debes chequear el valor que contiene MiAlgo.

Se debe usar MiAlgo cuando tenga sentido esperar un cambio en alguna variable. O incluso cuando se desea obtener más de un valor.
Te voy a poner un ejemplo, extremo, de un mal uso del var:

Código Delphi [-]
procedure Sumar(A, B: integer; var Suma: integer);
begin
  Suma := A + B;
end;

Lo que tenga la variable Suma será cambiado por la operación que se realice. En este caso la suma de A y B. ¿Es útil tener esto? La respuesta es no. Bastaría con tener una función:

Código Delphi [-]
function Sumar(A, B: integer): integer;
begin
  result := A + B;
end;

Pero en cambio, es útil el valor de var cuando se desea crear variables de control de operación (o variables de estado). Por ejemplo puede ser útil esto:

Código Delphi [-]
procedure RealizarOperacion(Operacion: TOperacion; var Estado: TEstado);

Y asi como tenemos un procedimiento, podemos tener una función.

Cita:
Empezado por Norum Ver Mensaje
Por último, voy a seguir adelante porque creo que esto no tiene mucha vuelta que darle. Si se llega a complicar con más unidades (cosa que no creo), voy a investigar más a fondo este tema de no dejar variables "muy al descubierto".
Sigue. Continua. Si tu crees que esta bien, no dejes de avanzar.


Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Establecer parametros determinados en funciones y procedimientos emeceuy Varios 8 03-09-2007 19:23:50
Parametros Opcionales no Parametros por defecto Velia Varios 7 19-08-2006 15:18:42
Funciones por parametros... omar_e_rc Varios 2 27-03-2005 23:12:27
Funciones y parámetros Fast Report sur-se Impresión 1 18-08-2004 12:38:44
Enviar estructuras como parametros a funciones Oracle SLAKE Conexión con bases de datos 0 02-10-2003 17:14:05


La franja horaria es GMT +2. Ahora son las 03:36:21.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi