Fórum Unit #392299

11/12/2010

0

  Ola
Eu criei duas units uma da aplicação e a outra é uma classe chamada registro, mas agora
não sei se esta certo, e o que mais precisa para fazer esse registro.


unit UAplicacao;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, Menus,UProtocolo,URegistro;

type

  TForm1 = class(TForm)

    MainMenu1: TMainMenu;

    Cadastrar1: TMenuItem;

    Curso1: TMenuItem;

    Disciplina1: TMenuItem;

    Livro1: TMenuItem;

    CaixadeArquivo1: TMenuItem;

    Registro1: TMenuItem;

    Diploma1: TMenuItem;

    Ajuda1: TMenuItem;

    Ajuda2: TMenuItem;

    Sobre1: TMenuItem;

    Livros1: TMenuItem;

    N1: TMenuItem;

    Sair1: TMenuItem;

    Livro2: TMenuItem;

    Sobre2: TMenuItem;

    EspelhodoProcesso1: TMenuItem;

    procedure Diploma1Click(Sender: TObject);

    procedure Sair1Click(Sender: TObject);

    procedure Livros1Click(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Diploma1Click(Sender: TObject);

begin

     FrmProtocolo.ShowModal;

end;

procedure TForm1.Sair1Click(Sender: TObject);

begin

     close;

end;

procedure TForm1.livros1Click(Sender: TObject);

begin

     FrmRegistro.ShowModal;

end;

end.

______

unit URegistro;

interface

type

  TRegistro = class

  private

      numero: string [70];

      filiacao: string [40];

      nomeCurso : string [10];

      localNascimento: string [30];

      habilitacao:[30];

      dataNascimento:[10];

      dataConclusao:[10];

      dataRegistro :[10];

      numeroProcesso [30];

      codigo: integer;[30]

      nome: string[70];

   public

        procedure registrarDiploma( numero: integer; nome: string[70];

                  filiacao: string [40];  nomeCurso : string [10];

                  localNascimento: string [30]; habilitacao:[30];

                  dataNascimento:[10];  dataConclusao:[10]; numeroProcesso [30];

                  nome: string[70];

   end;

        Taluno = class  (TRegistro)

implementation

var

  numero,nome,filiacao,nomeCurso, LocalNascimento

  Habilitacao: string;

  DataNascimento, dataConclusao

  dataRegistro: boolean

  numeroProcesso: integer;

procedure registrar( numero: integer; nome: string[70]; filiacao: string [40];  nomeCurso : string [10];

                  localNascimento: string [30]; habilitacao:[30];

                  dataNascimento:[10];  dataConclusao:[10]; numeroProcesso [30]);

begin

    showMessage('TAluno - registrar' + intToStr(numero)+'  ' nome+ '  '+ filiação+ '  '+ nomeCurso+'  '+dataNacimento+'  '+dataConclusao+'  '+numeroProcesso+'  ‘);

end;

end.


Jakeline Oliveira

Jakeline Oliveira

Responder

Posts

13/12/2010

Leonardo Xavier

Pude perceber algumas coisas na sua unit registro, que com toda certeza podem estar atrapalhando você na compilaçao de seu projeto. São as seguintes: A unit na maioria das veses trazem informaçoes de todo o formulário que é associado, por exemplo na clausula TYPE são declarados todos os componentes de seu formulário, e se você preceber a sua UNIT UREGISTRO não tem este parametro o que com toda certeza nao caracteriza a sua unit como um formulário para ser chamada da forma como você fez   " FrmRegistro.ShowModal; " o tipo de unit que você postou abaixo do formulario é apenas uma sequencia de funções que poderiam ser colocadas em um botao em seu formulario de chamada no caso aplicação. Para que você tenha um fomulario aberto com todas as funções que você quer como por exemplo os campos declarados "  
      numero: string [70];

      filiacao: string [40];

      nomeCurso : string [10];

      localNascimento: string [30];

      habilitacao:[30];

      dataNascimento:[10];

      dataConclusao:[10];

      dataRegistro :[10];

      numeroProcesso [30];

      codigo: integer;[30]

      nome: string[70];


Você teria que criar um novo formulário e colocar o nome deste formulario como Uregistro, ou outro qualquer, espero ter ajudado você e qualquer dúvida que você tenha poste ai.
Responder

Gostei + 0

13/12/2010

Jakeline Oliveira


Pude perceber algumas coisas na sua unit registro, que com toda certeza podem estar atrapalhando você na compilaçao de seu projeto. São as seguintes: A unit na maioria das veses trazem informaçoes de todo o formulário que é associado, por exemplo na clausula TYPE são declarados todos os componentes de seu formulário, e se você preceber a sua UNIT UREGISTRO não tem este parametro o que com toda certeza nao caracteriza a sua unit como um formulário para ser chamada da forma como você fez   "  FrmRegistro.ShowModal; " o tipo de unit que você postou abaixo do formulario é apenas uma sequencia de funções que poderiam ser colocadas em um botao em seu formulario de chamada no caso aplicação. Para que você tenha um fomulario aberto com todas as funções que você quer como por exemplo os campos declarados "  
      numero: string [70];


      filiacao: string [40];


      nomeCurso : string [10];


      localNascimento: string [30];


      habilitacao:[30];


      dataNascimento:[10];


      dataConclusao:[10];


      dataRegistro :[10];


      numeroProcesso [30];


      codigo: integer;[30]


      nome: string[70];


Você teria que criar um novo formulário e colocar o nome deste formulario como Uregistro, ou outro qualquer, espero ter ajudado você e qualquer dúvida que você tenha poste ai.
 



Oo professor colocou que a interface não está interagindo com a camada de regras de negócio. Existe um código que deve ser colocado para que seja feita essa interação
Responder

Gostei + 0

13/12/2010

Leonardo Xavier

Entao voê quer chamar uma funçao apartir de uma classe, e nao visualizar um formulário como você fez utilizando o comando show.

Faça o seguinte no lugar da chamada do formulário:

Uregistro.nomedesuafunçaoouprocedure;

Responder

Gostei + 0

13/12/2010

Jakeline Oliveira


Entao voê quer chamar uma funçao apartir de uma classe, e nao visualizar um formulário como você fez utilizando o comando show.

Faça o seguinte no lugar da chamada do formulário:

Uregistro.nomedesuafunçaoouprocedure;


 
 

Para fazer a interação com a camada de regra de negócio ñ é necessário criarum DataModule com os botões para acesso ao bancoseria isso um botão que faça a conexão a tabela registrarque faça a conexão  com a tabela aluno, curso, e protocolo?
Responder

Gostei + 0

14/12/2010

Leonardo Xavier

olha peguei agora sua classe para compilar em um teste aqui, esta com vários erros, vou corrigi-los antes de continuar-mos.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar