Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-05-2006
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Siguiendo el estilo de Delphius:

Código Delphi [-]
Unit NombreUnidad;
 
type
  TMiclase = TClass;
    private
      Fa:integer;
      Fb:integer;
    public
    function Suma: integer;
    property A:integer read Fa write Fa;
    property B:integer read Fb write Fb;
  end;

En principio Fa y Fb no proporciona nada nuevo, pero bueno....

La funcion devolverá Fa+Fb que son las variables privadas.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #2  
Antiguo 15-05-2006
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
Wink Algo más...

Puedes si deseas redefinir el constructor para setear con algún valor las variables privadas. Para ello lo declaras como sigue:
Código Delphi [-]
constructor create(a,b:integer);
begin
Fa := a;
Fb := b;
end;
Un pequeño aporte...
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 15-05-2006
lanp_prospero lanp_prospero is offline
Registrado
 
Registrado: abr 2006
Posts: 6
Poder: 0
lanp_prospero Va por buen camino
Delphius:
eso intente hacer pero me da un explote, tengo puesto este codigo.

//aqui defino la clase

unit Unit2;
interface
Type
TNumeros = class
private
protected
Fa: integer;
Fb: integer;
public
constructor Create(_Fa, _Fb: integer);
function Suma: integer;
property A:integer read Fa write Fa;
property B:integer read Fb write Fb;
published
end;

implementation
{ TNumeros }
constructor TNumeros.Create(_Fa, _Fb: integer)
begin
Self.Fa:=_Fa;
Self.Fb:=Fb;
end;
function TNumeros.Suma: integer;
begin
Result:=Fa + Fb;
end;
end.

//aqui defino la parte de la forma

unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unit2, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
numeros: TNumeros;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
numeros.Create(StrToInt(Edit1.Text), StrToInt(Edit2.Text));
Edit3.Text:=IntToStr(numeros.Suma);
end;
end.

mira a ver y dime que podria ser.

gracias
Responder Con Cita
  #4  
Antiguo 15-05-2006
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
Pues... que error te produce?

Antes que nada... usa las etiquetas [ DELPHI ] y [ /DELPHI ]para que el código que ingresas, sea más legible (debes ingresar sin espacios entre los corchetes.) Pues, mira como queda:

Código Delphi [-]
unit Unit2;
interface
Type
TNumeros = class
private
protected
Fa: integer;
Fb: integer;
public
constructor Create(_Fa, _Fb: integer);
function Suma: integer;
property A:integer read Fa write Fa;
property B:integer read Fb write Fb;
published 
end;

implementation
{ TNumeros }
constructor TNumeros.Create(_Fa, _Fb: integer)
begin
Self.Fa:=_Fa;
Self.Fb:=Fb;
end;
function TNumeros.Suma: integer;
begin
Result:=Fa + Fb;
end;
end.

Código Delphi [-]
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unit2, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
numeros: TNumeros;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
numeros.Create(StrToInt(Edit1.Text), StrToInt(Edit2.Text));
Edit3.Text:=IntToStr(numeros.Suma);
end;
end.

¿Pues, que error te produce?
A simple vista el código parece estar bien... ahora no tengo Delphi abierto... y no tengo mucho tiempo como para verlo. En cuanto pueda darte más mano, me fijo.
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 15-05-2006
lanp_prospero lanp_prospero is offline
Registrado
 
Registrado: abr 2006
Posts: 6
Poder: 0
lanp_prospero Va por buen camino
errores

haber como te explico, sin tocar nada en ese codigo, me da un eeror en el {begin} del constructor en la declaracion, algo asi como esta en la imagen que adjunto aqui, la que dice error simple. ahora, cuando en la implementacion del costructor termino la linea contructor TNumeros.Create(....); con un ; como lo hice aqui ahora me da el eeror que en la imagen se llama explote, si le doy F9 nuevamente me da el ultimo error.

no se si soy bastante explicito, pero de igual forma si puedes probarlo, me dices que puede ser.

gracias
Responder Con Cita
  #6  
Antiguo 15-05-2006
lanp_prospero lanp_prospero is offline
Registrado
 
Registrado: abr 2006
Posts: 6
Poder: 0
lanp_prospero Va por buen camino
bueno las imagenes no salen, no se por que, de todas formas pruebalo haber si te dice algo, sino debe de ser algun problema con mi delphi
Responder Con Cita
  #7  
Antiguo 15-05-2006
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Solamente falta ajustar unos pequeños detalles para que trabaje correctamente

Prueba de esta forma:

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Unit2;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit3: TEdit;
    Edit1: TEdit;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
  numeros: TNumeros;
begin
  {Corrige esta línea}
  numeros:=TNumeros.Create(StrToInt(Edit1.Text), StrToInt(Edit2.Text));
  Edit3.Text:=IntToStr(numeros.Suma);
  numeros.Free; {Agrega esta línea}
end;

end.

Código Delphi [-]
unit Unit2;

interface

Type
  TNumeros = class
    private
    protected
      Fa: integer;
      Fb: integer;
    public
      constructor Create(_Fa, _Fb: integer);
      function Suma: integer;
      property A:integer read Fa write Fa;
      property B:integer read Fb write Fb;
    published
end;

implementation

{TNumeros }
constructor TNumeros.Create(_Fa, _Fb: integer);
begin
    Self.Fa:=_Fa;
    Self.Fb:=_Fb; {Corrige esta línea}
end;

function TNumeros.Suma: integer;
begin
  Result:=Fa + Fb;
end;

end.

Saludos
Responder Con Cita
Respuesta



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 VS Visual Basic woody Debates 137 18-03-2008 14:54:00
Delphi V/s Visual Basic lavtaro Varios 13 02-05-2006 14:30:47
Creando componente visual piccolo2101 Varios 4 25-01-2006 14:13:45
Problema con librería en Visual C++ llauraff Varios 0 16-09-2004 14:36:20
Tablas dbf-fpt (¿Visual Fox Pro?) ogorut Tablas planas 2 24-11-2003 10:04:22


La franja horaria es GMT +2. Ahora son las 23:13:32.


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