Club Delphi  
    Paypal   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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-03-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 24
ixMike Va por buen camino
Ay ¿que no saliste el día anterior a la clase de juerga?

Veamos, veamos... tienes un Form, con un botón, dos Edits y un Label. En los dos Edits escribirás el valor de la base y la altura. Al darle al botón se calculará el área, y se mostrará en el Label, ¿ok?.

Bien, pues haz doble clic en el botón, te apareceré el editor de código algo así:

Código Delphi [-]
Procedure TForm1.Button1Click(Sender: TObject);
begin

end;

Bien, pues ahora necesitas crear esas variables "a" y "b" que quieres. La declaración de las variables de debe hacer con la palabra reservada var y después todas las variables que quieras. Bien, para tenerlas en el ámbito del método Click del botón, colocaremos la declaración antes del begin:

Código Delphi [-]
Procedure TForm1.Button1Click(Sender: TObject);
var
  Base, Altura: Real;
begin

end;

Vale, yo las he llamado Base y Altura. Te recomiendo que llames siempre a las variables por un nombre que no vayas a olvidar, porque ahora son dos, pero después serán decenas, incluso centenas, y necesitan nombres claros

Ok. Ahora necesitamos asignar a las variables los valores escritos en los Edits. Para ello necesitarás una función que transforme el texto a un número real, y esa es StrToFloat.

Código Delphi [-]
Procedure TForm1.Button1Click(Sender: TObject);
var
  Base, Altura: Real;
begin
  Base:=StrToFloat(EBase.Text);
  Altura:=StrToFloat(EAltura.Text);
end;

También he dado nombres a los Edits (en el inspector de objetos, en su propiedad Name) para facilitar las cosas.

Bien, ahora necesitamos almacenar el resultado. ¿Otra variable? Pues sí, bien:

Código Delphi [-]
Procedure TForm1.Button1Click(Sender: TObject);
var
  Area, Base, Altura: Real;
begin
  Base:=StrToFloat(EBase.Text);
  Altura:=StrToFloat(EAltura.Text);
  Area:=Base*Altura/2;
end;

Muy bien, y ahora sólo queda mostrar el resultado en el Label (en su propiedad Caption). Pero nos pasa lo inverso que con los Edits, ahora necesitamos convertir un número a texto. Pues nada, Delphi nos trae la genial FloatToStr:

Código Delphi [-]
Procedure TForm1.Button1Click(Sender: TObject);
var
  Area, Base, Altura: Real;
begin
  Base:=StrToFloat(EBase.Text);
  Altura:=StrToFloat(EAltura.Text);
  Area:=Base*Altura/2;
  lblResultado.Caption:=FloatToStr(Area);
end;

Y ya está, ya tienes el área

No obstante, y aunque ahora eso para ti no es importante, aquí ha habido un derroche de variables. Si empiezas a sustituir expresiones por las asignaciones antesriores vas obteniedo...
Código Delphi [-]
Procedure TForm1.Button1Click(Sender: TObject);
var
  Area, Base, Altura: Real;
begin
  Base:=StrToFloat(EBase.Text);
  Altura:=StrToFloat(EAltura.Text);
  Area:=Base*Altura/2; //Valor de Area
  lblResultado.Caption:=FloatToStr(Area); //Se usa Area
end;

Código Delphi [-]
Procedure TForm1.Button1Click(Sender: TObject);
var
  Base, Altura: Real;
begin
  Base:=StrToFloat(EBase.Text); //Valor de Base
  Altura:=StrToFloat(EAltura.Text); //Valor de Altura
  lblResultado.Caption:=FloatToStr(Base*Altura/2); //Se usa Base y Altura
end;

Código Delphi [-]
Procedure TForm1.Button1Click(Sender: TObject);
begin
  lblResultado.Caption:=FloatToStr(StrToFloat(EBase.Text)*StrToFloat(EAltura.Text)/2);
end;

Y así es como uno se ahorra declarar variables y demás pero tiempo al tiempo, tú de momento empieza creando las cosas claras y amplias, y después ya intenta ser más abstracto


Salu2.

Última edición por ixMike fecha: 15-03-2008 a las 22:23:04.
Responder Con Cita
  #2  
Antiguo 15-03-2008
Ale89 Ale89 is offline
Registrado
 
Registrado: mar 2008
Posts: 7
Poder: 0
Ale89 Va por buen camino
muchas gracias por responder con tanta rapidez, ahora mismo lo pondré en practica !!

gracias de nuevo ^^
Responder Con Cita
  #3  
Antiguo 15-03-2008
Ale89 Ale89 is offline
Registrado
 
Registrado: mar 2008
Posts: 7
Poder: 0
Ale89 Va por buen camino
Lo que llevé en la Universidad fue mas como lo explicó ixMike pero en vez de utilisar el label, utilisamos un tercer edit, y todavía me queda la duda de para que sirve
function ... (porque en algun momento (creo que al principio) usé esta opcion) y
Ctrl+Shift+C, que lo usamos despues de escribir la función.

si me pudieran explicar eso mas, fuera muy feliz !! jeje

pd: el programa segun la explicacion de ixMike marcha perfectamente y lo agradesco mucho, pero me en cantaria saber estas 2 ultimas cosillas para no tener ninguna duda.

gracias tambien a marcoszorrilla por el aporte, pero creo que es un poco avansado o no le entendi :S

saludos !
Responder Con Cita
  #4  
Antiguo 15-03-2008
Ale89 Ale89 is offline
Registrado
 
Registrado: mar 2008
Posts: 7
Poder: 0
Ale89 Va por buen camino
AH !
una cosa mas que tal vez deberia aclar es que antes de hacer nada en el "Form" escribimos function (y todo lo que viene que no se que es :S )(esto en los cursos de la U) y luego viene Ctrl+Shift+C, ahora, lo que no se es que es lo que viene despues de "function", que viene despues de function y para que sirve Ctrl+Shift+C

gracias por cualquier ayuda !

saludos
Responder Con Cita
  #5  
Antiguo 15-03-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Partamos desde el principio.

Un procedimiento (procedure) es una forma de agrupar varias sentencias (órdenes) bajo un nombre. En princpio no devuelve ningún valor después de su ejecución.

Una función es un procedimiento que devuelve un valor como resultado de la ejecución de esas sentencias que agrupa.

Lo que viene después de la palabra "function" es el nombre que le queremos dar, y después tiene opcionalmente unos parámetros (valores de entrada que le podemos pasar a ese grupo de sentencias). Normalmente se define así:
Código Delphi [-]

function DameUnDouble: double;

// o bien dándole parámetros:
function AreaTriangulo(base : double; altura:double):double;

En el primer caso, el tipo de valor que debe devolver se especifica después de los dos puntos ":" (double es un número en coma flotante, que puede tener decimales, vamos).

El segundo caso es más complejo, le decimos esa función va a recibir dos valores. A un valor le llamaremos "base" y al otro "altura". Podrían ser cada uno de un tipo diferente, pero ahora nos conviene que ambos sean de tipo "double".

Toda función debe devolver un valor, y para ello puede utilizarse dos nomenclaturas totalmente equivalentes:
Código Delphi [-]
function DameUnDouble: double;
begin 
  Result := 3.2;
end;

function DameUnDouble:double;
begin
   DameUnDouble:= 3.2;
end;

Se usa el nombre de la propia función asignándole un valor, o bien la palabra "Result" que quizás es más intuitiva y que es lo que normalmente se usa.

Para ejecutar un procedimiento o función basta usar su nombre y darle los parámetros de entrada si los tiene, en el Onclic de un botón podemos poner:
Código Delphi [-]
procedure TForm1.ButtonClick(Sender:TObject);
var area :double;
begin
   DameUnDouble;
   area := AreaTriangulo(40,50);
   showMessage('el area es ' + floattostr(area));
end;
vale, lo he complicado usando dos funciones no explicadas, la ayuda de delphi puede aclararte algo sobre ellas. Ya va siendo hora que acudas a ella, será tu mejor aliado.

Ahora dale una vueltecita a la función de Marcos y quizás la comprendas mejor.

CTRL + SHIFT + C es lo que se llama "class completion", una mejora que tiene el IDE de delphi para ahorrarnos teclear código. Lo que hace es leer la declaración de nuestra clase y crear el esqueleto de dicha clase en la parte implementation.
Un ejemplo escribe esto en tu delphi:
Código Delphi [-]
type TForm1 = Class(TForm)
  public
     procedure Unproc;
     function AreaTriangulo(base:double; altura:double):double;
     procedure Dos;
     procedure Tres;
end;
y ahora pulsa la combinación de teclas, ve a la parte de abajo después de "implementation" verás pura magia .


Offtopic: mmm esto bien podría ser un wiki del estilo de ixMike jeje.

Saludos.
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 15-03-2008 a las 23:30:06.
Responder Con Cita
  #6  
Antiguo 15-03-2008
Ale89 Ale89 is offline
Registrado
 
Registrado: mar 2008
Posts: 7
Poder: 0
Ale89 Va por buen camino
gracias !! xD
Responder Con Cita
  #7  
Antiguo 15-03-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
acabo de completarlo un poco más.... jeje, será mejor que lo releas

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #8  
Antiguo 15-03-2008
Ale89 Ale89 is offline
Registrado
 
Registrado: mar 2008
Posts: 7
Poder: 0
Ale89 Va por buen camino
ow... creo que eso se sale un poco de mis conocimientos... pero gracias de todas formas, gracias a tu ayuda ahora me acorde lo que tenia que poner despues de function:

Código Delphi [-]
function Area_tri(b,a:real)real;
luego viene el famoso Ctrl+Shift+C ( que sigo sin saber que es lo que hace... creo que crea la funcion porque luego de hacer eso aparece:

Código Delphi [-]
function TForm1.Area_tri(b,a: real): real;
begin
    
end;

end.


y luego... bueno, estoy probando aver que sale !

gracias a todos por ayudarme !

sinceros saludos !

Ale
Responder Con Cita
  #9  
Antiguo 16-03-2008
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 24
ixMike Va por buen camino
Cita:
Empezado por Lepe Ver Mensaje
Offtopic: mmm esto bien podría ser un wiki del estilo de ixMike jeje.
Se podría sacar bastante chicha para Función
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
Programa para generar ayuda en chm o uso alternativo de pdf Nasca Varios 6 11-09-2007 14:00:29
Editor WYSIWYG básico para Delphi nachopro Varios 3 13-08-2007 18:42:36
Quiero encontrar un programa que me permita..... SerPan Tablas planas 5 04-07-2007 23:26:09
Ayuda En Login Y Pass Para Ingresar En un programa creado en Delphi Solojuegospc.tk Conexión con bases de datos 8 07-07-2005 03:18:28
¿ayuda para un programa para el msn kaiser_robert Internet 1 15-06-2005 20:52:07


La franja horaria es GMT +2. Ahora son las 01:24:01.


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