Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 29-06-2016
MayerlingCP MayerlingCP is offline
Registrado
NULL
 
Registrado: jun 2016
Posts: 1
Poder: 0
MayerlingCP Va por buen camino
Ayuda con una duda de la declaracion de clases

Saludos a todos, necesito que me ayuden a aclarar esta gran duda. Es la primera vez que trabajo en delphi y mi experiencia es 0 en esto xD.
me asignaron una tarea de la universidad y pues hize el programa (al menos calcula lo que el profesor pide) pero trabaje fue con un formulario.
el ejercicio dice:

APLICAR UN LENGUAJE ORIENTADO A OBJETOS PARA DESARROLLAR EL SIGUIENTE PROBLEMA:

Una fábrica de Franela, confecciona 3 modelos de Franela para caballero
con los siguientes precios de venta:

1.- Modelo Casual……….4300

2.- Modelo Sport…………3800

3.- Modelo algodón.…..…3500

Los 3 modelos son fabricados únicamente en talla 14.

La empresa planea fabricar los tres modelos también en tallas 16 y 18, y desea un programa que
calcule los precios de venta para estas nuevas tallas.
Se sabe que por cada número que se aumente en la talla, su precio deberá incrementarse 300 Bolívares.

Escribe un programa que pida el modelo de Franelas y la medida (14,16 ó 18) e imprima en pantalla
su precio de venta correspondiente. Adicionalmente si el pedido es mayor de 12 franelas de
cualquier modelo recibirá un descuento del 10 % el cual se debe reflejar en la factura.

mi codigo del unit1 es:

Código Delphi [-]
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    imgn: TImage;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    botoncalcular: TButton;
    btnBorrar: TButton;
    botoncerrar: TButton;
    editcasual: TEdit;
    editsport: TEdit;
    editalgodon: TEdit;
    edittalla: TEdit;
    subtotal: TEdit;
    editdescuento: TEdit;
    etotalpagar: TEdit;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    editotalc: TEdit;
    editotalsp: TEdit;
    editotalalg: TEdit;
    procedure botoncerrarClick(Sender: TObject);
    procedure btnBorrarClick(Sender: TObject);
    procedure botoncalcularClick(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.botoncerrarClick(Sender: TObject);
begin
close;
end;

procedure TForm1.btnBorrarClick(Sender: TObject);
begin

editcasual. Clear;
editcasual. SetFocus;
editsport. Clear;
editsport. SetFocus;
editalgodon. Clear;
editalgodon. SetFocus;
edittalla. Clear;
edittalla. SetFocus;
subtotal. Clear;
subtotal. SetFocus;
editotalc.Clear;
editotalc.SetFocus;
editotalsp.Clear;
editotalsp.SetFocus;
editotalalg.Clear;
editotalalg.SetFocus;
editdescuento. Clear;
editdescuento. SetFocus;
etotalpagar. Clear;
etotalpagar. SetFocus;
end;

procedure TForm1.botoncalcularClick(Sender: TObject);

var
  m_cas, m_sport, m_alg,  talla, totalcasual, totalsport, totalalgo, productos: Integer;
    total, desc, factura: real;

begin
m_cas:=  StrToInt(editcasual.Text);
 m_sport:= StrToInt(editsport.Text);
 m_alg:= StrToInt(editalgodon.Text);
 talla:= StrToInt(edittalla.Text);

        case talla of
       14:
        begin
          totalcasual:= (m_cas*4300);
          totalsport:= (m_sport*3800);
          totalalgo:= (m_alg*3500);
          editotalc.Text:= IntToStr(totalcasual);
          editotalsp.Text:= IntToStr(totalsport);
          editotalalg.Text:= IntToStr(totalalgo);
         total:=(m_cas*4300) + (m_sport*3800) + (m_alg*3500);
         subtotal.text:= floatToStr(total);
         end;
   
      16:
         begin
           totalcasual:= (m_cas*4600);
          totalsport:= (m_sport*4100);
          totalalgo:= (m_alg*3800);
          editotalc.Text:= IntToStr(totalcasual);
          editotalsp.Text:= IntToStr(totalsport);
          editotalalg.Text:= IntToStr(totalalgo);
          total := (m_cas*4600) + (m_sport*4100) + (m_alg*3800);
           subtotal.text:= floatToStr(total);
           end;
       
    18:
           begin
             totalcasual:= (m_cas*4900);
            totalsport:= (m_sport*4400);
            totalalgo:= (m_alg*4100);
            editotalc.Text:= IntToStr(totalcasual);
            editotalsp.Text:= IntToStr(totalsport);
            editotalalg.Text:= IntToStr(totalalgo);
              total := (m_cas*4900) + (m_sport*4400) + (m_alg*4100);
              subtotal.text:= floatToStr(total);
           end;

      else begin ShowMessage('Talla Incorrecta');
      end;
      end;

      productos:=(m_cas) + (m_sport) + ( m_alg);
      if productos>12  then
          begin
        desc:=(total*10/100);
        editdescuento.Text:=floattoStr (desc);
        factura:=total-desc;
        etotalpagar.Text:=floattostr (factura);
        end
  
      else begin
           desc:=(0);
        editdescuento.Text:=floattoStr (desc);
        factura:=total-desc;
        etotalpagar.Text:=floattostr (factura);
        end;

       

end;



end.

mi DUDA es la siguiente en el programa se puede ver que TForm1 = class(TForm), estará bien mi programa o la clase tenia que ser definida segun el ejercicio en este caso FRANELAS. Espero haberme explicado bien porque lo que no quiero es que el profesor me diga que esta mal porque no es orientado a objetos ya que no desarrolle el ejercicio con sus clases y esas cosas de la POO

Última edición por dec fecha: 29-06-2016 a las 17:50:16. Razón: Añadir etiquetas DELPHI
Responder Con Cita
  #2  
Antiguo 29-06-2016
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.037
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Bienvenido a clubdelphi, como siempre aconsejamos a los nuevos, no olvides leer nuestra guía de estilo, gracias por tu colaboración

También recuerda poner los tags al código fuente, ejemplo:



Además no olvides para otras ocasiones, poner títulos descriptivos a tus preguntas, ¡¡¡Gracias!!!
Responder Con Cita
  #3  
Antiguo 29-06-2016
Avatar de BDWONG
BDWONG BDWONG is offline
Miembro
NULL
 
Registrado: nov 2013
Posts: 113
Poder: 11
BDWONG Va por buen camino
Bueno la realidad es que el Form si esta utilizando programacion orientada objetos pero la forma en que lo resuelves no lo es precisamente, me imagino que tu profesor te habra pedido que crearas una clase para resolver el problema y en base a eso utilizar un form para mostrar los datos de manera mas visual

Si estoy en lo correcto me arme un sencilla clase llamada TFranela que pide por el constructor el modelo de la franela, tamano y cantidad y en base a estos datos con el metodo calcularPrecio retorna un total donde ya va involucrado tanto el aumetno segun el tamano de la franela y el descuento si se compra mas de 12 piezas.

Ejemplo:
Código Delphi [-]
type
  TModelo=(casual=4300,sport=3800,algodo=3500);
  TTalla=(catorce=0,dieciseis=300,dieciocho=600);

  { TFranela }

  TFranela=class(TObject)
    private
    fmodelo:TModelo;
    ftalla:TTalla;
    fcantidad: DWord;
    public
    constructor create(modelo:TModelo; talla:TTalla; cantidadWord);
    function calcularPrecio: Double;
  end;

{ TFranela }

{Constructo que crea un objeto de tipo TFranela en base a un modelo, talla y
cantidad de piezas}
constructor TFranela.create(modelo: TModelo; talla: TTalla; cantidad: DWord);
begin
  inherited create;
  self.fmodelo:=modelo;
  self.ftalla:=talla;
  self.fcantidad:=cantidad;
end;


{Funcion para calcular el preccio de la franela o franelas en base  al precio por modelo
multiplicado por la cantidad de piezas y mas los bolivares extras segun la talla}
function TFranela.calcularPrecio: Double;
var totalouble;
begin
    total:=ord(fmodelo)*fcantidad+ord(ftalla); //calculamos el total

    if Self.fcantidad>12 then total:=total-(total*0.10); //Restamos el 10 %

    Result:=total;
end;

var
  f1:TFranela;
  precio: Double;
begin
  //creeamos el objeto
  f1:=TFranela.create(algodo,dieciocho,1);

  precio:=f1.calcularPrecio();
  WriteLn(precio:0:2);

  f1.Free;  //liberamos la memoria

  ReadLn;
end

PD: El programa funciona en modo consola pero puedes copiarte toda la clase y meterla en una unit y hacer el llamado de la clase desde tu form.
si tienes dudas me avisas
SALUDOS.....

Última edición por BDWONG fecha: 29-06-2016 a las 21:30:55.
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
Duda en declaracion de variables Paulao Varios 7 24-09-2010 10:25:51
ayuda con declaracion de parametro microbiano Conexión con bases de datos 3 10-03-2010 23:08:45
Los ayudantes de clases (o clases ayudantes), ¿ya se gestaban en Delphi 7? Al González OOP 5 12-12-2007 09:03:52
Ayuda en cierto trabajo de clase (y trata sobre clases, precisamente) sdiaz1983 Varios 4 26-11-2007 02:57:26
Ayuda con el dissenyo de una aplicacion. Clases o no? tramjauer OOP 17 06-09-2005 09:34:20


La franja horaria es GMT +2. Ahora son las 13:40:47.


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