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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-08-2010
Abaco Abaco is offline
Miembro
 
Registrado: ago 2010
Posts: 16
Poder: 0
Abaco Va por buen camino
Question [duda Sencilla] Delphi

HOla soy nuevo en este foro, acabo de empezar con delphi y tengo dudas MUY basicas:
Porque no funcionan ninguno de estos codigos?
Aviso que no tengo ni idea de Delphi

Code1:

procedure TForm1.FormCreate(Sender: TObject);
var
a:integer;
b:integer;
begin
* *a:=4;
* *b:=4;
* *if a=b then
* * *edit1.Text:= 'hola';
end.

Code2:

function DD(s:string):string;
begin
*result:= s + s + s
end;
/////////////////////////////////////////////////////
procedure TForm1.FormCreate(Sender: TObject);
var
a:string;
begin
* *a:='hhh';
* *if a = dd('h') then
* * *edit1.Text:= 'hola';
end.

Gracias!
Responder Con Cita
  #2  
Antiguo 26-08-2010
rrf rrf is offline
Miembro
 
Registrado: ago 2003
Ubicación: S/C Tenerife, España
Posts: 454
Poder: 21
rrf Va por buen camino
Wink

Hola.

A primera vista, creo que el problema son los asteríscos (*). Basta con que los quites y creo que te funcionará.

Saludos.
Responder Con Cita
  #3  
Antiguo 26-08-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Lo que puedo ayudar:
Codigo 1:
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
a, b :integer;
begin
a:= 4;
b:= 4;
if a = b then
edit1.Text:= 'hola';
end.

Codigo 2

Código Delphi [-]
Code2:

function DD(s:string):string;
begin
s:= 'h';
result:= s + s + s;
end;
//
procedure TForm1.FormCreate(Sender: TObject);
var
a:string;
begin
a:='hhh';
if a = DD then
edit1.Text:= 'hola';
end.

Creo que por ahi va el asunto:
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 26-08-2010
robacio_ivan robacio_ivan is offline
Miembro
 
Registrado: ago 2010
Ubicación: Rio Cuarto - Cordoba
Posts: 21
Poder: 0
robacio_ivan Va por buen camino
Yo tambien soy nuevo en esto, pero basicamente por lo que vi en el código que dejaste tendrias que sacar los asterisco (*) y con eso bastaria.
Responder Con Cita
  #5  
Antiguo 26-08-2010
Abaco Abaco is offline
Miembro
 
Registrado: ago 2010
Posts: 16
Poder: 0
Abaco Va por buen camino
Gracias, lo de los asteriscos era que se me pegaron de alguna manera al copiar codigo ...
Muchas gracias!
Responder Con Cita
  #6  
Antiguo 26-08-2010
Abaco Abaco is offline
Miembro
 
Registrado: ago 2010
Posts: 16
Poder: 0
Abaco Va por buen camino
Otra dudilla rapida aprobechando:
Que hago mal aqui??
Código Delphi [-]
function IsPerfectNumber(lNumber:Integer):Boolean;
var
  i : Integer;
  x : Integer;
begin
  if lnumber > 0 then
    begin
      for x := 1 to lnumber do
        begin
          if (lnumber mod x) = 0 then
             i := i + x;
        end;
      if i = lnumber then
       IsPerfectNumber := true;
    end
end;

/////////////////////////////////////////////////////
procedure TForm1.FormCreate(Sender: TObject);
begin
if IsPerfectNumber(6) = true then
edit1.Text:= 'hola';
end.
Responder Con Cita
  #7  
Antiguo 26-08-2010
Abaco Abaco is offline
Miembro
 
Registrado: ago 2010
Posts: 16
Poder: 0
Abaco Va por buen camino
Sinceramente no veo el error, me parece todo logico...
Responder Con Cita
  #8  
Antiguo 26-08-2010
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Poder: 22
Caro Va por buen camino
Hola Abaco, debes mostrarnos el error que te sale para poder ayudarte mejor, por lo que veo, cambia el punto por punto y coma del end del FormCreate solo el end de la unidad lleva punto.

Código Delphi [-]
................................................................
procedure TForm1.FormCreate(Sender: TObject);
begin
 if IsPerfectNumber(6) = true then
 edit1.Text:= 'hola';
end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita
  #9  
Antiguo 26-08-2010
Abaco Abaco is offline
Miembro
 
Registrado: ago 2010
Posts: 16
Poder: 0
Abaco Va por buen camino
Hola caro, lo primero disculparme por los errores, quizas son muy tontos...
Mira me sigue dando error...
No se que se me escapa, estos son los errores que me saltan :

Cita:
[Warning] Unit1.pas(41): Return value of function 'IsPerfectNumber' might be undefined
[Error] Unit1.pas(51): Declaration expected but end of file found
[Fatal Error] Project1.dpr(5): Could not compile used unit 'Unit1.pas'
Muchisimas gracias de verdad...
Responder Con Cita
  #10  
Antiguo 26-08-2010
Abaco Abaco is offline
Miembro
 
Registrado: ago 2010
Posts: 16
Poder: 0
Abaco Va por buen camino
Es suficiente informacion para resolverme la duda?
Responder Con Cita
  #11  
Antiguo 26-08-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Pues no se de donde sale el error, a mi no me genera ninguno, lo unico es que simplemente no envia el 'Hola' al edit ya que para que se de; la funcion tiene que generar el factor boleano y este la unica manera en que puede cumplirlo es en la ultima condicion.
Para que la condicion if i = lnumber then se cumpla tiene que i := i + x;, al no darle valor a i nunca se cumple.
Por esta razon la logica 'De novato' me dice que si se da valor a i se cumple con la condicion, pero, siempre lo hara, en tal caso la funcion no haria nada importante, simplemente hace una comparacion logica, algo que hace una variable sin problemas.
Es lo que veo al hacer esta pruebita interesante de practica.
Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 26-08-2010 a las 03:25:19.
Responder Con Cita
  #12  
Antiguo 26-08-2010
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Hola

Código Delphi [-]

function IsPerfectNumber(lNumber:Integer):Boolean;
var
  i : Integer;
  x : Integer;
begin
//Inicializamos el resultado de la función para evitar el aviso de no definida
  Result := false; 
  if lnumber > 0 then
    begin
      for x := 1 to lnumber do
        begin
          if (lnumber mod x) = 0 then
             i := i + x;
        end;
      if i = lnumber then
       Result := true; //Cambia el nombre de la función por la palabra reservada Result
    end;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  if IsPerfectNumber(6) = true then 
     edit1.Text:= 'hola';
end; //Agrega ésta linea

end.

saludos
Responder Con Cita
  #13  
Antiguo 26-08-2010
Abaco Abaco is offline
Miembro
 
Registrado: ago 2010
Posts: 16
Poder: 0
Abaco Va por buen camino
Graciaaaaas, ahora no da error, peeeeeeero...
Deberia devolver true con 6...
Mira asi hago en vb:

Código:
Private Sub Form_Load()
    MsgBox IsPerfectNumber(6)
End Sub

Public Function IsPerfectNumber(ByVal lNumber As Long) As Boolean
Dim x                       As Long
Dim i                       As Long
    For x = 1 To lNumber - 1
        If (lNumber Mod x = 0) Then i = i + x
    Next
    If i = lNumber Then IsPerfectNumber = True
End Function
Me podrias ayudar un pco mas?
Muchas gracias
Responder Con Cita
  #14  
Antiguo 26-08-2010
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Abaco Ver Mensaje
Graciaaaaas, ahora no da error, peeeeeeero...
Deberia devolver true con 6...
Mira asi hago en vb:

Código:
Private Sub Form_Load()
    MsgBox IsPerfectNumber(6)
End Sub

Public Function IsPerfectNumber(ByVal lNumber As Long) As Boolean
Dim x                       As Long
Dim i                       As Long
    For x = 1 To lNumber - 1
        If (lNumber Mod x = 0) Then i = i + x
    Next
    If i = lNumber Then IsPerfectNumber = True
End Function
Me podrias ayudar un pco mas?
Muchas gracias
Hola

Código Delphi [-]

function IsPerfectNumber(lNumber:Integer):Boolean;
var
  i : Integer;
  x : Integer;
begin
//Inicializamos I en 0
  I := 0;
//Inicializamos el resultado de la función para evitar el aviso de no definida
  Result := false;
  if lnumber > 0 then
    begin
      for x := 1 to lnumber - 1 do //Te faltó restarle 1 a lnumber
        begin
          if (lnumber mod x) = 0 then
             i := i + x;
        end;
      if i = lnumber then
       Result := true; //Cambia el nombre de la función por la palabra reservada Result
    end;
end;

saludos
Responder Con Cita
  #15  
Antiguo 26-08-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Amigo y que hace esto
No genera errores pero no hace el efecto.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #16  
Antiguo 26-08-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Lo que tanto temia se volvio realidad....

!! NO EXISTEN LOS NUMEROS PERFECTOS !!!

Saludos.
Responder Con Cita
  #17  
Antiguo 26-08-2010
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Caral Ver Mensaje
Hola
Amigo y que hace esto
No genera errores pero no hace el efecto.
Saludos


saludos

Última edición por egostar fecha: 26-08-2010 a las 03:47:16. Razón: Si sabe :D
Responder Con Cita
  #18  
Antiguo 26-08-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Si, lo se, pero en el ejemplo que pusiste no generaba ningún dato ya que i no contenía valor alguno.
Estoy probando los códigos para aprender algo mas.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #19  
Antiguo 26-08-2010
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por Caral Ver Mensaje
Hola
Si, lo se, pero en el ejemplo que pusiste no generaba ningún dato ya que i no contenía valor alguno.
Estoy probando los códigos para aprender algo mas.
Saludos
Porque me avoque a resolver los problemas no el resultado ¿ ya checaste mi último código ?

saludos
Responder Con Cita
  #20  
Antiguo 26-08-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Es una funcion sencilla de entender y mira que soy malo con las funciones.
Saludos
PD: Que feo es Visual Basico.
__________________
Siempre Novato
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
Una consulta sencilla codicia Varios 3 21-12-2009 04:54:06
Pagina web, sencilla Caral HTML, Javascript y otros 6 16-05-2007 10:48:21
Consulta Sencilla SQL + Delphi Maury Manosalva SQL 4 08-09-2005 11:17:47
pregunta sencilla valentine Varios 7 17-06-2004 21:17:40
Pregunta Sencilla jorge_mosquera Gráficos 1 19-03-2004 03:39:20


La franja horaria es GMT +2. Ahora son las 00:35:40.


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