Carlos é possivel criar um classe sim porem a parte de inserir consultar etc e muito mais complicada.

09/10/2009

Ola Rodrigo bom já sabe ne uma classe igual ele record tMotqueiro lembra onde eu posso consultar inserir e edtiar    Carlos é possivel criar um classe sim porem a parte de inserir consultar etc e muito mais complicada.   Abra um chamado pedindo para que seja criada uma classe com um metodo de inserir. Faremos um exemplos simples e vc adapta a sua necessidade pois o sistema de suporte ano comtempla desenvolvimento.   Abs!!  
Carlos Faria

Carlos Faria

Curtidas 0

Respostas

Wesley Yamazack

Wesley Yamazack

09/10/2009

Olá Carlos,

   Desculpe a demora, o Rodrigo está com problemas, e pediu para ajudar ele neste chamado, você poderia ser mais claro sobre o que esta querendo fazer ?

 Um abraço

Wesley Y
GOSTEI 0
Carlos Faria

Carlos Faria

09/10/2009

Ola wesley Eu gostaria de criar uma classe TCliente  onde nessa classe  eu posso usar todas as propriedades de um Cliente para inserir ,consultar , editar em todo o projeto  
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

09/10/2009

Olá Carlos

  Os metodos de inclusão, edição, etc, não tem mistério você so precisa saber como você vai persistir os dados.

Exemplo

unit Unit2;

interface
  Type
  TCliente = Class
    public
      procedure Inserir;
      procedure Deletar;
      procedure Pesquisar;
      procedure Editar;


  end;

implementation

{ TCliente }

procedure TCliente.Deletar;
begin
  //Forma de Deletar
end;

procedure TCliente.Editar;
begin
  //Forma de Editar
end;

procedure TCliente.Inserir;
begin
  //Forma de Inserir
end;

procedure TCliente.Pesquisar;
begin
  //Forma de Pesquisar
end;

end.

Porém você tem que definir como fazer os metodos, vai montar seus scripts na mão? Vai usar ClientDataSet ? Como você quer fazer ?

Att,

Wesley Y

GOSTEI 0
Carlos Faria

Carlos Faria

09/10/2009

que tal um exemplo das duas maneiras nao mao e com clientdataset ? 
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

09/10/2009

Olá Carlos,
Segue o exemplo

Exemplo

unit Unit2;

interface
  Type
  TCliente = Class
    public
      procedure Inserir;
      procedure Deletar;
      procedure Pesquisar;
      procedure Editar;


  end;

implementation

{ TCliente }

procedure TCliente.Deletar;
begin
  //Forma de Deletar
end;

procedure TCliente.Editar;
begin
  //Forma de Editar
end;

procedure TCliente.Inserir;
Var
   xQry: TSQLQuery;
begin
  xQry := TSQLQuery.Create(Self);
      With xQry do
      begin
         SQLConnection := DM.SqlCOnnection1;
         SQL.Add(' INSERT INTO CLIENTE (IDCLIENTE, NOME)          '+
                 '   VALUES (:IDCLIENTE, :NOME );
         Params.ParamByName('IDCLIENTE').AsBCD := IDCLIENTE;
         Params.ParamByName('NOME ').AsBCD := NOME;
         ExecSQL;
end;

procedure TCliente.Pesquisar;
begin
  //Forma de Pesquisar
end;

end.


   Veja que os scripts são montados para cada situação, inclusão, alteração, etc, faça as adaptações de acordo com sua necessidade.

Um abraço

Wesley Y
GOSTEI 0
Carlos Faria

Carlos Faria

09/10/2009

Wesley   segui o exemplo como vc descreveu aqui porem nao compila aparece um erro no fim da linha     [DCC Fatal Error] F2092 Program or unit 'Classes' recursively uses itself
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

09/10/2009

Olá Carlos,
  Me diga uma coisa, o nome da tua Unt é Classes ? è isso mesmo ?? Se for você sabe que não pode correto, pois classes é o nome de unit do Delphi ? Então mude o nome, para uClasses, ou algo do tiop.

Att,

WesleY Y
GOSTEI 0
Carlos Faria

Carlos Faria

09/10/2009

Weslye
Nao faltou aqui as propriedades ? exemplo imagino que um cliente tenha algumas propriedades como nome, endereco ,rg etc
para fazer uma consulta dessa cliente acho que preciso dessas propriedades
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

09/10/2009

Carlos, o erro que você falou não tem nada haver com o que você respondeu agora.


Veja como criar as propertys

  Type
  TCliente = Class
    public
      procedure Inserir;
      procedure Deletar;
      procedure Pesquisar;
      procedure Editar;
    published
      property Nome : String;
      property Cpf : String;
      property RG : String;

  end;

Apos digitar o que esta em Negrito ! Você implementa com CTRL+SHIF+C

Logo apos ficaria assim.

unit Unit2;

interface
Uses DB, SqlExpr;
  Type
  TCliente = Class
  private
    FNome: String;
    FCpf: String;
    FRG: String;
    procedure SetCpf(const Value: String);
    procedure SetNome(const Value: String);
    procedure SetRG(const Value: String);
    public
      procedure Inserir;
      procedure Deletar;
      procedure Pesquisar;
      procedure Editar;
    published
      property Nome : String read FNome write SetNome;
      property Cpf : String read FCpf write SetCpf;
      property RG : String read FRG write SetRG;

  end;

implementation

{ TCliente }

procedure TCliente.Deletar;
begin
  //Forma de Deletar
end;

procedure TCliente.Editar;
begin
  //Forma de Editar
end;

procedure TCliente.Inserir;
Var
   xQry: TSQLQuery;
begin
  xQry := TSQLQuery.Create(Nil);
      With xQry do
      begin
         SQLConnection := DM.SqlCOnnection1;
         SQL.Add(' INSERT INTO CLIENTE (IDCLIENTE, NOME)          '+
                 '   VALUES (:IDCLIENTE, :NOME );
         Params.ParamByName('IDCLIENTE').AsBCD := IDCLIENTE;
         Params.ParamByName('NOME ').AsBCD := NOME;
         ExecSQL;
end;

procedure TCliente.Pesquisar;
begin
  //Forma de Pesquisar
end;

procedure TCliente.SetCpf(const Value: String);
begin
  FCpf := Value;
end;

procedure TCliente.SetNome(const Value: String);
begin
  FNome := Value;
end;

procedure TCliente.SetRG(const Value: String);
begin
  FRG := Value;
end;

end.

procedure TCliente.SetCpf(const Value: String);
begin
  FCpf := Value;
end;

procedure TCliente.SetNome(const Value: String);
begin
  FNome := Value;
end;

procedure TCliente.SetRG(const Value: String);
begin
  FRG := Value;
end;

end.



GOSTEI 0
Carlos Faria

Carlos Faria

09/10/2009

vou adaptar a um exemplo para mim e te retorno, quanto aquele chamando sobre compilar o pacote peço prioridade maxima , pois e urgentissimo  
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

09/10/2009

Olá Carlos,

  Consegui adaptar o exemplo ? Podemos fechar este chamado ? Ficou mais alguma dúvida ?

Att,

Wesley Y
GOSTEI 0
Carlos Faria

Carlos Faria

09/10/2009

Deixa eu dar os ultimos ajustes ate amanha agente fecha aqui ok
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

09/10/2009

Fala meu camarada, td certo ?
  E ai consegui ver o chamado ?

Att,

Wesley Y
GOSTEI 0
Carlos Faria

Carlos Faria

09/10/2009

wesley calma ai que ja fechamos o chamado ainda esta semana , so nao dei um ok ainda pq estou com chamados abertos com o rodrigo a mais de 1 mes e chamados que dependem dessa rotina ok
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

09/10/2009

OK Carlos, estou no aguardo....


Att,

Wesley Y
GOSTEI 0
Carlos Faria

Carlos Faria

09/10/2009

Ola Wesley to demorando a responder pq estou com alguns chamados ainda em aberto onde um dependo do outro   mais vamos la   primeira pergunta qual a diferenca entre Record e uma classe ?   o que vc como profissional usuaro para consultar record ou class /;       eu criando a classe com as proriedades e tudo mais como vou chamala no formulario seria como se faz com um record ?      
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

09/10/2009

Olá Carlos respondendo a tua pergunta

   primeira pergunta qual a diferenca entre Record e uma classe ?
    R :  Record é um único Registro, imagina uma variável com vários campos, sacou ?
          Classe, é uma estrutura um esqueleto, que contém, propriedades e metodos, que te ajudam a evitar repetir códigos, sem contar que com classe você trabalha com o objetos, inteiros, sem problemas.
  o que vc como profissional usuaro para consultar record ou class /;

  R : Um record eu trabalho quando não tenho uma necessidade de se ter uma estrutura firme, algo mais basico sacou ? Mas sempre procuro usar classe, pra poder reaproveitar.
  eu criando a classe com as proriedades e tudo mais como vou chamala no formulario seria como se faz com um record ?

   R : Você instancia a classe, e usa ela como se fosse um botão, ou um edit, acessa as propriedades   invoca os métodos,sacou ? Imagina que você botou um Label, no form ele é da classe TLabel, e tem todas as estrutura, quando você criar uma classe, você terá um objeto pra acessar e manipular aquela classe,sacou ? Te recomendo, ler conceitos de O.O. básicos, antes de querer correr é muito importante saber andar, sacou ? É só uma dica de amigo.


Forte abraço

Wesley Y
    
 
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

09/10/2009

Olá grande Carlos, e ai consegui esclarecer tudo ?POdemos fechar este ?

Um abraço

Wesley Y
GOSTEI 0
POSTAR