Ir al contenido


Foto

AYUDA PRINCIPIANTE!!


  • Por favor identifícate para responder
3 respuestas en este tema

#1 mdvc0002

mdvc0002

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 17 noviembre 2013 - 09:14

Hola como digo en el asunto soy nuevo en esto. Estoy tratando de hacer una calculadora por medio de codetyphon pero hay un error que deber ser muy tonto por que no estoy haciendo nada complejo por el momento.

Aquí está el código:



delphi
  1. unit Unit1;
  2.  
  3. {$mode objfpc}{$H+}
  4.  
  5. interface
  6.  
  7. uses
  8.   Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls;
  9.  
  10. type
  11.  
  12.   { TForm1 }
  13.  
  14.   TForm1 = class(TForm)
  15.     Button1: TButton;
  16.     Button10: TButton;
  17.     Button2: TButton;
  18.     Button3: TButton;
  19.     Button4: TButton;
  20.     Button5: TButton;
  21.     Button6: TButton;
  22.     Button7: TButton;
  23.     Button8: TButton;
  24.     Button9: TButton;
  25.     Label1: TLabel;
  26.     procedure Button1Click(Sender: TObject);
  27.     procedure Construir(var numero:integer);
  28.   private
  29.     { private declarations }
  30.   public
  31.     { public declarations }
  32.   end;
  33.  
  34. var
  35.   Form1: TForm1;
  36.  
  37.  
  38. implementation
  39.  
  40. {$R *.lfm}
  41.  
  42. { TForm1 }
  43.  
  44. procedure TForm1.Button1Click(Sender: TObject);
  45. var
  46.   num: integer;
  47. begin
  48.   num:=strtoint(Button1.Caption);
  49.   Construir(num);
  50.   //Display.Caption:=Display.caption+Button1.Caption;
  51. end;
  52.  
  53. procedure Construir(var numero:integer);
  54.  
  55. var
  56.   mostrar: string;
  57. begin
  58.   mostrar:=inttostr(numero);
  59.   Label1.Caption:=mostrar;
  60. end;
  61.  
  62. end.




Bien, al querer poner en el caption de Label1 el número pulsado, me da error de que el identificador no se encuentra. ¿Tengo la función mal declarada? Alguien me puede dar algún consejo para no cometer este tipo de errores a la hora de declarar procedimiento, funciones, variables, etc...??

Muchas gracias.
  • 0

#2 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 18 noviembre 2013 - 08:12

El error está en la sección implementation. Para la implementación del método Construir debes anteponerle la clase a la que pertenece. Es decir debe ser:



delphi
  1. procedure TForm1.Construir(numero: integer);



y tu tienes


delphi
  1. procedure Construir(numero: integer);



Oberva justamente como se ha hecho de forma automática el método Button1Click.

Sólamente en la declaración (la sección interface) se omite el "TForm1." Pero en el código si se debe indicar.

Te recomiendo la lectura del libro La Cara Oculta de Delphi 4, capítulo 6. Si bien se trata de Delphi, tanto Lazarus como Delphi siguen el mismo lenguaje: Object Pascal. Ese capítulo explica todo acerca de POO. Es la piedra angular para comprender el lenguaje.

Saludos,

  • 0

#3 mdvc0002

mdvc0002

    Newbie

  • Miembros
  • Pip
  • 2 mensajes

Escrito 18 noviembre 2013 - 11:57

Muchas gracias Delphius. Probaré tu solución. También buscaré el libro para enterarme bien de como va esto.

Un saludo
  • 0

#4 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 18 noviembre 2013 - 01:02

El libro lo puedes descargar libremente. Su autor (Ian Marteens) ha cedido la autorización de difundirlo mientras se le respete su autoría.
Puedes encontrarlo fácilmente, creería que aún puede encontrarse en el sitio de él.

Saludos,
  • 0




IP.Board spam blocked by CleanTalk.