Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #4  
Antiguo 28-10-2007
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola Stanley,
Te agradezco que te pusieras en contacto conmigo por MP (Mensaje Privado) para agradecerme que te fui de ayuda.
Lo que creo conveniente hacerte notar es que aqui preferimos que tus dudas estén a disposición de todos. Tratamos de ofrecer ayuda en forma desinteresada y para el bien de toda la comunidad y no por mensajes privados o "en linea". Ya que de esa manera el conocimiento queda en poder de pocos.
No es una reprimenda, sino una aclaración.

Con respecto a tu duda, básicamente la estructura de una unit es como sigue:

Código Delphi [-]
unit UEjemplo;

interface
{Aqui declaro el cuerpo y la estructura. Todo en forma declarativa,
y no en forma "procedimental". Es decir que en esta sección no se encuentra
el código sino la declaración.
La sección interface sirve para hacer público el comportamiento de la unidad.
Es decir que lo declarado aquí será visto desde "afuera"}

{En este ejemplo desde cualquier otra unidad que haga uso de ésta (UEjemplo) se
podrá ver:
 * UNA_CONSTATE
 * TArreglo
 * TClase
}

uses
  {Unidades que usa la Unit UEjemplo}
  SysUtils, QDialogs;

const
  UNA_CONSTANTE = 1000;

type
  TArreglo = array[1..UNA_CONSTANTE] of integer;

  {Un ejemplo de clase}
  TClase = class
    {Una clase tiene 4 secciones: private, protected, public, published}
    private
    {Desde afuera de la clase no se puede tener acceso a esta sección. Por
      Tanto FCantidad es privada, solo puede ser empleada desde "adentro"
      de la propia clase}
      FCantidad: integer;
      {Primero se listan las variables y luego las funciones y/o procedimientos}
      procedure SetCantidad(Value: integer);
    public
     {Lo dispuesto en public es visto desde afuera. Cantidad es una propiedad
     y permite cambiar el valor de FCantidad mediante SetCantidad}
      property Cantidad: integer read FCantidad write SetCantidad;
  end;


implementation
{Lo declarado en implementation no es visto desde afuera. Tiene 2 propósitos:
1. Ocultar alguna función o procedimiento
2. Mantener el código}

var unArreglo: TArreglo;

procedure ProcedimientoOculto;
{Este procedimiento está oculto. No puede ser visto desde afuera}
var i: integer;
begin
  for i := 0 to UNA_CONSTANTE do
    unArreglo[i] := i;
end;

procedure Aviso;
begin
  ShowMessage('Se ha disparado la unidad');
end;

{ --- Aqui comienza el cuerpo de la clase ----}
procedure TClase.SetCantidad(Value: integer);
begin
  if Value <> FCantidad
     then FCantidad := Value
     else raise Exception.Create('Cantidad ya tiene dicho valor');
end;

initialization
{Esta sección es opcional. Y se usa para que cuando se "inicie" esta unidad
 se disparen algunos procedimientos, funciones, eventos.. etc}
  ProcedimientoOculto;
  Aviso;

end.
Ahora para hacer uso de UEjemplo sólo basta con ir a la unidad correspondiente (no necesariamente dicha unit debe corresponder a algún form) y declararla en la parte uses:

Código Delphi [-]
uses
  UEjemplo;

Como podrás observar... UEjemplo no tiene o no le pertenece a ningún form.
En el ejemplo que te expuse están expuesto los temas más comunes con respecto a tus dudas. Viendo que recién te inicias en Delphi te sugiero una buena lectura: La Cara Oculta de Delphi 4. Al pdf lo vas a ubicar muy fácil con sólo buscarlo en San Google (o el buscador de tu predilección). Concretamente te sugiero empezar a leer:
Capitulo 3. Unidades, proyectos y paquetes. Allí está bien explicado como está estructurada una unit.
Capítulo 6 y 7. Programación Orientada a Objetos. Allí se trata lo referente a clases.

Bueno creo que con eso ya tienes para empezar. Ya sabes, ante problemas:
1. Buscar en los foros.
2. Si la búsqueda no fue satisfactoria:
2.1. Si existe un hilo en que se trate el tema ya sea en forma superficial o algo similar, postear tus dudas allí.
2.2. Si no hay hilo con dicha temática. Iniciar uno.

Recuerda que cuanto mayores detalles puedas aportarnos con respecto a tus inconvenientes más te podremos ser de ayuda.

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



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
Delphi-For-PHP: Modificar el valor de un tEdit maro PHP 4 29-09-2007 20:25:21
Como se inserta el valor de un checkbox? Ivan_25 C++ Builder 4 04-11-2005 11:02:51
Como paso el valor? jam888 Varios 4 08-10-2004 16:23:29
Cómo cambiar, desde Delphi, el próximo valor que tiene que dar un autogenerador Giniromero Conexión con bases de datos 4 20-09-2004 10:49:38
¿Cómo guardar el Valor de TColor como un String? nesetru Gráficos 3 27-02-2004 20:21:32


La franja horaria es GMT +2. Ahora son las 19:48:12.


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