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 05-02-2008
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 19
BuRtOn Va por buen camino
Programa delphi ciclo if

Gracias amigo si es asi...pero es que hasta ahora estoy manejando mi primer ciclo y miren el programa que me toca hacer, es una bobada pero tengo errores y me estreza....este es el programa que me piden:


Construya una aplicación que capture dos datos enteros(VyNUM)

y muestre en un labe el resultado de la siguiente funcion:


función:

nf(V) = 100*V si NUM =1
nf(V) = 100*Vsi NUM = 2;
nf(V) = 100/V si NUM = 3,
para cualquier otro valor de NUM el valor de la función es 0.
Responder Con Cita
  #2  
Antiguo 05-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
Cita:
Empezado por BuRtOn Ver Mensaje
Gracias amigo si es asi...pero es que hasta ahora estoy manejando mi primer ciclo y miren el programa que me toca hacer, es una bobada pero tengo errores y me estreza....este es el programa que me piden:


Construya una aplicación que capture dos datos enteros(VyNUM)

y muestre en un labe el resultado de la siguiente funcion:


función:

nf(V) = 100*V si NUM =1
nf(V) = 100*Vsi NUM = 2;
nf(V) = 100/V si NUM = 3,
para cualquier otro valor de NUM el valor de la función es 0.
¿Y la pregunta es? ¿Haz estado probando? ¿En que avanzaste? ¿que errores?¿Porqué no nos mencionas dichos errores? ¿Porque no nos muestra el código?

Tal como dices, es una tontera... y como recién te estas iniciando te pido que por favor tomes mas en serio esto. A modo en que pones el texto, quieriendo resaltar el problema, más no asi los errores que haz tenido... das pie que surjan malinterpretaciones. Sobre todo esta: ¡Clubdelphi no hace tareas!

Por favor, te invito a leer nuevamente la guia de estilo.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #3  
Antiguo 05-02-2008
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 19
BuRtOn Va por buen camino
Codigo if delphi

Que pena delphius, pero yo tomo la seriedad de las cosas, lo que pasa es que no soy antiguo ni en el club ni soy maestro en delphi, y que pena por no haber redactado bien...y escribi el enunciado por que es una base de lo que me estan pidiendo, no para que me hagas la tares, creeme amigo no soy parasito para estar diciendole a las personas que hagan mis cosas...tratare de explicar lo que necesito....esto es lo que llevo del codigo:


Código Delphi [-]unit ufrmcuarto;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
Tfrmcuarto = class(TForm)
StaticText2: TStaticText;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
StaticText1: TStaticText;
procedure Edit1Change(Sender: TObject);
procedure Edit2Change(Sender: TObject);
procedure Label1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
frmcuarto: Tfrmcuarto;
resultado: integer;
implementation
{$R *.dfm}
procedure Tfrmcuarto.Edit1Change(Sender: TObject);
var num : integer;
begin
num := strtoint(Edit1.Text);
end;
procedure Tfrmcuarto.Edit2Change(Sender: TObject);
var v: integer;
begin
v := strtoint(Edit2.Text);
end;
procedure Tfrmcuarto.Label1Click(Sender: TObject);
begin
Label1.Caption := strtoint(resultado);
If (strtoint(Edit1.Text) := 1) then
resultado := (100) * strtoint(Edit2.Text);
Else
ShowMessage('prueba');

end;
end.





Bueno el problema es que no se como manejar bien el if, ya que solo me dieron la estructura general...el hecho es que como pueden ver en el codigo recivo los datos por medio de Edit. Me dicen que si num = 1 o num = 2 ejecuto una funcion que es esta:

f(V) = 100*V si NUM =1

f(V) = 100*Vsi NUM = 2


y si num es diferente a 1 o 2 la funcion va ser 0 inmediatamente, y v es el segundo edit, ese dato lo implementa el usuario, y se ejecutara en caso de que el programa desarrolle cualquier funcion.

Lo que no entiendo es que si estoy manejando mal algo en el programa me ayuden a ver que es ?....y me digan como es la forma correcta....mi problema suerge en el manejo del IF y de los edit...

OBSERVACION: Tengo a resultado en una variable global tipo entero, para poderlo imprimir en el Label.
Responder Con Cita
  #4  
Antiguo 05-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
¿Podrías por favor editar el mensaje y usar las etiquetas [ DELPHI ] [ /DELPHI ] (sin espacios)?

Esto hará que el código sea más legible.
Tengo una duda respecto al código que tienes... ¿Porqué haces que al presionar clic en el label ejecute la operación? Sería más indicado emplear el evento OnClick de un botón.

Por el tema del if, sería más correcto emplear un CASE. Su sintaxis es como sigue:

Código Delphi [-]
CASE variable of:
1: que hacer si es 1
2: que hacer si es 2
3: que hacer si es 3
...
n: que hacer si es n
else que hacer.... // en caso de no cumplir ningun valor. Opcional
end  // la sentencia case debe finalizar con end

Con esto ya tienes para arreglar un poco más tu código.
Perdona si soy duro... es que pedimos que las personas que preguntan se interioricen y participen del problema. Dijiste que te lo tomas en serio, pero es que si te lo tomaras más en serio, hubieras expuesto los detalles y los errores en vez de esperar a que los adinivinemos.

Prueba nuevamente siguiendo el case, no estás tan errado.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 05-02-2008
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 19
BuRtOn Va por buen camino
If delphi

Ok, entiendo delphius, si se ve mas facil por el switch que utilizas, estaba pensando en hacerlo asi, y lo hare como me dijiste, pero haber si va asi la estructura, tu me escribiste esto:



Código Delphi [-]
[CASE variable of: //variable seria n ? osea lo que inserto en mi caso fue num ?
1: que hacer si es 1
2: que hacer si es 2 // aqui que proceso hago ?
3: que hacer si es 3
...n: que hacer si es n //como asi que que hacer si es n ? aqui iria los procesos de las funciones..osea las operaciones?? o que va ?
 
else que hacer.... // aqui podria imprimir algo en un showmessage('no puedes hacer la funcion')
 
end // la sentencia case debe finalizar con end
 
Y para finalizar, como hago para imprimir en el Label1 ??? coloque resultado como variable global tipo entero para guardar los resultados y poderlos imprimir en el label asi:
 
label1.caption:=intToStr(resultado);

que pena amigo preguntar tanto, pero es lo que no entiendo, y yo digo las cosas que no entiendo....y que tendria que modificar en mi codifo si lo hago por if, es que es un trabajo de clase, y tu me entiendes me toca seguir la rutina del profesor, ya que estamos viendo especificamente el if, pues aun no lo ha explicado pero me gusta adelantarme por mis propios medios....garcais delphius y que pena molestar tanto...
Responder Con Cita
  #6  
Antiguo 05-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
BuRtOn,
Respondiendo a tu duda, variable debe ser reemplaza por aquella variable que tu desees evaluar. En tu caso NUM.

¿Que va después de los dos puntos? Las sentencias que deben hacerse en caso de que variable cumpla dicho valor.

por ejemplo:

Código Delphi [-]
case Nota of:
1: showMessage('Burro');
10: begin
       //Nota el begin - end... se van a ejecutar muchas lineas...
       showMessage('Genio');
       Beca := PedirBeca(Nota);
     end;
end; // fin case

El ejemplo es simple, si Nota tiene el valor 1, mostrará en pantalla un cuadro de díalogo con el mensaje Burro. En cambio si Nota tiene el valor 10, mostrará Genio, y una vez confirmado el mensaje (botón aceptar), se ejecutará la función (tema que verás más adelante) PedirBeca que recibe como parámetro la variable Nota, y guardará el resultado esperado en alguna variable Beca. Si Nota tiene cualquier otro valor que no sea 1 o 10... no se hace nada.


Si te resulta cómodo usar IFs:

Código Delphi [-]
if Nota = 1
  then begin
            ShowMessage('Burro'); 
         end
  else begin
          if Nota = 10
             then begin
                      //.... sentencias...
                    end
             else // sentencias...
        end;

Notarás que es más engorroso el proceso... en fin... usa lo que te guste.

El valor resultado lo estás mostrando bien.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #7  
Antiguo 05-02-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.740
Poder: 26
ContraVeneno Va por buen camino
Cita:
Empezado por BuRtOn Ver Mensaje
Bueno el problema es que no se como manejar bien el if, ya que solo me dieron la estructura general...
Me sorprende mucho porque un "IF" es la estructura más simple y sencilla de cualquier lenguaje de programación; si tienes problemas con un "IF", tienes muchos y muy serios problemas.

O te estas equivocando de carrera, o de plano tu profe es muy malo o no se que pensar...

Un libro Burton, lee un libro...
__________________

Responder Con Cita
  #8  
Antiguo 05-02-2008
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 19
BuRtOn Va por buen camino
Thumbs up If delphi

Contraveneno no soy malo ni mi maestro es malo, es que usted es perfecto o que ??? osea me pregunto si alguna vez tuviste errores solo voy en 2 año de la universidad, he visto solo c++ y java, y lo que no entendia hera como iba la estructura del if, mire como mi profesor me dio la estructura del if:

Código Delphi [-]
If (condicion) then
    proceso1;
Else
proceso2;

y mire como despues me dice delphius que es:

Código Delphi [-]
if Nota = 1  then begin            ShowMessage('Burro');          end  else begin          if Nota = 10             then begin                      //.... sentencias...                    end             else // sentencias...        end;

me equivoque fue por que pense que la condicion iba entre parentesis, y mi maestro no coloco end al final del if y eso no lo sabia, y si men, equivocarse es de humanos , y con eso es que uno aprende o es que tu te la sabias todas cuando empesaste y nunca te equivocaste en nada ??? perdon por ser tan directo, pero pareciera que tu nunca ubieras tenido errores....y no me equivoque de carrera, si me equivoque oh no lo decido solo yo, ninguna otra persona me lo puede desir...

Bueno contraveneno lo otro que me doy cuenta, es que tu como que nunca ayudas sin antes hacer sentir mal a la otra persona, he visto algunas de tus respuestas al foro, y es asi, que malo es eso, que sepas tanto y humilles mucho....lo lamento hombre....pero mira lo que me escribiste, no me aportaste nada, y si me criticaste todo, lo unico que aportaste fue, lee un libro BUrToN .......en fin contraveneno gracias...
Responder Con Cita
  #9  
Antiguo 05-02-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 28
Delphius Va camino a la fama
BuRtOn,
No lo tomes a mal, yo también te aconsejo una sana lectura. Puedes comenzar con la Cara Oculta de Delphi que la puedes encontrar en la sección FTP.

La estructura difiere porque es requisito de poner begin-end cuando se trata de varias sentencias, si se trata de una sola basta con poner como lo indicó tu profesor. El compilador así lo exije. La regla es:

Cita:
Si se va a ejecutar varias sentencias (ya se dentro de un case, un if, while o repeat) se debe encerrar dichas sentencias en un begin-end.
Además, la programación es más que leer libros... requiere de práctica... y mucha.

Todos tenemos errores, muy seguro que ContraVeneno tuvo sus tropiezos.
Pero el problema aquí es que a ti, lamentablemente te falta lectura. No lo tomes a mal, pero es que tus preguntas pasan por lo básico del lenguaje. Y ello está bien redactado tanto en la ayuda, como en libros.

Mis mensajes han sido deliberadamente expuestos así para que tu mismo puedas descubrir donde estan tus fallas. La idea es que tu aprendas y razones, no que copies.

Por cierto, nunca te debes quedar con lo visto en clase... recuerda y ten presente que la programación es más de LOGICA que saberse cada rincón del lenguaje.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #10  
Antiguo 05-02-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Veamos un poco este enredo:
Cita:
Empezado por BuRtOn Ver Mensaje
mire como mi profesor me dio la estructura del if:
Código Delphi [-]If (condicion) then
proceso1;
Else
proceso2;



Bueno, esto no funciona, el else no puede estar precedido de un punto y coma, si no hay un principio y un fin puede brincarse el resultado a su antojo, osea el profe
Cita:
Empezado por BuRtOn Ver Mensaje
y mire como despues me dice delphius que es:
Código Delphi [-] if Nota = 1 then
begin
ShowMessage('Burro');
end
else begin if Nota = 10 then
begin
ShowMessage('genio');
end;



Aqui delphius esta haciendo una lista de If else, en este caso con dos opciones claras, como veras el else no esta precedido por un punto y coma y cada sentencia empieza y termina, esta mucho mas claro y funcional.
Lo mismo seria para una sentencia simple:

Código Delphi [-]if Nota = 1 then
ShowMessage('Burro') // no tiene punto y coma.
else
ShowMessage('genio');
end;


En este caso lo contrario de 1 sera genio.
Ahora en esto:

Cita:
Empezado por BuRtOn Ver Mensaje
Bueno contraveneno lo otro que me doy cuenta, es que tu como que nunca ayudas sin antes hacer sentir mal a la otra persona, he visto algunas de tus respuestas al foro, y es asi, que malo es eso, que sepas tanto y humilles mucho....lo lamento hombre....pero mira lo que me escribiste, no me aportaste nada, y si me criticaste todo, lo unico que aportaste fue, lee un libro BUrToN .......en fin contraveneno gracias...
Te equivocas rotundamente.
Saludos
Edito: no pude colocar las etiquetas, por favor si algun moderador me ayuda, gracias.
Responder Con Cita
  #11  
Antiguo 05-02-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.740
Poder: 26
ContraVeneno Va por buen camino
Cita:
Empezado por ContraVeneno Ver Mensaje
... o de plano tu profe es muy malo o no se que pensar...
Cita:
Empezado por BuRtOn Ver Mensaje
...mire como mi profesor me dio la estructura del if:
Código Delphi [-]
If (condicion) then     proceso1; Else proceso2;

...mi maestro no coloco end al final del if y eso no lo sabia
por eso decía que tu profe no era tan bueno... en fin, que pena que hayas tomado a mal mi mensaje, esa no era mi intensión. Solo expresaba mi opinión y mi sorpresa al ver que un simple "If" ocasionaba problemas, pero ahora veo que la culpa la a tenido tu profe al no explicarte bien la sintaxis.

En fin, en un libro es muy difícil que se equivoquen (aunque no imposible).

O incluso otra mucho más fácil, presionando F1 en delphi, seguro encontrarás toda la explicación de todo relacionado con delphi, ayudas, explicaciones y hasta ejemplos de como utilizar los comandos, eso, seguro te ayuda.


P.D. Por cierto, que sea "If (condición) then..." o "If condición then..." no tiene la menor importancia, es decir, si viene con paréntesis o no, no te afecta en nada al ser una condición sencilla, solo afectan si evalúas varias condiciones a la vez...

2da P.D.: Gracias Caral
__________________


Última edición por ContraVeneno fecha: 05-02-2008 a las 18:06:58.
Responder Con Cita
  #12  
Antiguo 08-02-2008
Avatar de BuRtOn
BuRtOn BuRtOn is offline
Miembro
 
Registrado: ene 2008
Ubicación: Bucaramanga
Posts: 215
Poder: 19
BuRtOn Va por buen camino
Solucion problema Delphi 7.0

Gracias amigos por ayudar que pudiera entender lo de los condicionales if y el resto de cositas, que pena si los ofendi con mis comentarios, recivi la sancion, pero es que en realidad estaba estrezado y aparte de eso , me tocaba responder por ese trabajo, miren como me quedo el programa, ha contraveneno aplique todo lo que me habias dicho....mira utilizando el if y el RadioBotton...


Código Delphi [-]
unit ufrquinto;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons, ExtCtrls;
type
  Tfrmquinto = class(TForm)
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    StaticText1: TStaticText;
    StaticText2: TStaticText;
    StaticText3: TStaticText;
    StaticText4: TStaticText;
    StaticText5: TStaticText;
    StaticText6: TStaticText;
    Edit1: TEdit;
    Edit2: TEdit;
    Label1: TLabel;
    BitBtn1: TBitBtn;
    Image1: TImage;
    StaticText7: TStaticText;
    procedure RadioButton1Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
    procedure RadioButton4Click(Sender: TObject);
    procedure BitBtn1Click(Sender: TObject);
    procedure Edit2Change(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  frmquinto: Tfrmquinto;
  resultado : real;
implementation
{$R *.dfm}
procedure Tfrmquinto.RadioButton1Click(Sender: TObject);
begin
try
If RadioButton1.Checked = True then
resultado := StrToFloat(Edit1.Text)+ StrToFloat(Edit2.Text);
except
MessageDlg('Error Digita Datos',mtError,[mbok],0);
end;
end;
procedure Tfrmquinto.RadioButton2Click(Sender: TObject);
begin
try
If RadioButton2.Checked = True then
resultado := StrToFloat(Edit1.Text)- StrToFloat(Edit2.Text);
except
MessageDlg('Error digita datos',mtError,[mbok],0);
end;
end;
procedure Tfrmquinto.RadioButton3Click(Sender: TObject);
begin
try
If RadioButton3.Checked = True then
resultado := StrToFloat(Edit1.Text)* StrToFloat(Edit2.Text);
except
MessageDlg('Error Digita Datos',mtError,[mbok],0);
end;
end;
procedure Tfrmquinto.RadioButton4Click(Sender: TObject);
begin
 
try
If RadioButton4.Checked = True then
resultado := StrToFloat(Edit1.Text)/ StrToFloat(Edit2.Text);
except
MessageDlg('Error Digita Datos',mtError,[mbok],0);
end;
end;
procedure Tfrmquinto.BitBtn1Click(Sender: TObject);
begin
Label1.caption:=FloatToStr(resultado);
end;
procedure Tfrmquinto.Edit2Change(Sender: TObject);
begin
try
  if StrToFloat(Edit2.Text) = 0 then
  ShowMessage('digita otro numero diferente a 0');
except
  MessageDlg('digita otro numero me que no sea 0',mtError,[mbok],0);
end;
end;
  end.

ya voy aprendiendo...creamen que han sido de gran ayuda....y eso que lo dificil fue que empece desde 0, y ustedes me han ayudado a crecer en delphi....
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
AYUDA por favor!!! Melcv Varios 2 28-06-2006 21:19:35
AYUDA, por favor! Waldo Conexión con bases de datos 5 01-11-2003 17:49:02
ayuda por favor haffo Varios 6 23-10-2003 03:50:33
ayuda por favor haffo Varios 2 14-10-2003 16:08:45
Por Favor Ayuda DML Varios 3 16-05-2003 00:44:26


La franja horaria es GMT +2. Ahora son las 15:04:43.


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