Página 1 de 1

uso simples de uma classe

Enviado: 26 Set 2018 10:44
por Emanuel
ola pessoal, Bom dia

eu to com dificuldades para aprender classes
algum de vocês podem me mostrar um exemplo de algum uso bem simples de uma classe; criação da classe, como usar os metodos, forma de instanciar.

eu criei uma! porém eu sempre me perco na hora dos métodos e me complico mais ainda na hr de instanciar

Código: Selecionar todos

//o meu objetivo era criar uma classe para receber 
//os seguintes dados, porém eu teria que criar uma tabela no db 

class Tcliente 
    data nNome
    data cCpf
    data nIdade

    method cadastrar()
    method aTcadastro()
    method reCadastro()

endclass

method cadastrar() class Tcliente
    ::nNome  := nil
    ::cCpf   := nil
    ::nIdade := nil

return self
então em vez de começar a estudar classes com o dbf eu quero aprender a ultiliza-las sem precisar criar tabelas nem qualquer coisa do tipo

tem como ultilizar classes sem a necessidade de criar uma tabela ou coisa do tipo ne??
algum de vocês poderiam me dar exemplos

uso simples de uma classe

Enviado: 26 Set 2018 12:24
por alxsts
Olá!

Você abriu este tópico relativo ao mesmo assunto. Por quer abrir outro? Concentre suas dúvidas naquele outro tópico...

uso simples de uma classe

Enviado: 26 Set 2018 12:27
por JoséQuintas
obs... sou iniciante, comecando a ver dbf agora
sei fazer alguns programas basicos com xharbour.
então em vez de começar a estudar classes com o dbf eu quero aprender a ultiliza-las sem precisar criar tabelas nem qualquer coisa do tipo
tem como ultilizar classes sem a necessidade de criar uma tabela ou coisa do tipo ne??
Pode-se trabalhar a vida inteira com Harbour sem nunca usar classe.
Pra fazer e usar uma classe, precisa conhecer bem o Harbour.

Então resta a pergunta:
Porque classe, se aparentemente sem sabe pra que serve?

uso simples de uma classe

Enviado: 26 Set 2018 16:05
por rochinha
Amiguinhos,

Acho que o Emanuel só deseja aprender sobre classes no Harbour.

Creio que a postagem a seguir pode ser um ponto de partida, clique aqui para acessar

Mais uma postagem que pode te ajudar para enteder e criar classes.

uso simples de uma classe

Enviado: 26 Set 2018 16:12
por JoséQuintas
Pela pergunta, pode achar que é obrigatório, como acontece com linguagens visuais.

uso simples de uma classe

Enviado: 26 Set 2018 17:29
por Emanuel
Então resta a pergunta:
Porque classe, se aparentemente sem sabe pra que serve?
Sr. Quintas... eu sou estudante de uma escola de ensino tecnico em informatica e infelizmente a base de programação que eu tive ano passado ( quando eu estava no 2º ano ) não foi tão boa. :(Neg

os professores deste ano começaram com a linguagem clipper, e eu gostei muito, muito mesmo.

um professor em especial passou um trabalho pra turma, "criar um programa que receba os dados cadastrais de um cliente e salvar esses dados no dbf. ao final o programa devera ter as seguintes opções; cadastrar, ver a lista de cadastros e excluir.

tudo o que eu consegui ate agora foi isso
não sei como usar os metodos tambem não sei bem como criar essa tabela no dbf

Código: Selecionar todos

# include "hbclass.ch" 
# include "inkey.ch"

class Tcliente 
    data nNome
    data cCpf
    data nIdade

    method cadastrar()
    method listCadas()
    method excCadast()
endclass

function main()
    local nOpc

    set century on
    set delimiters on
    set delimiters to "[]"
    set wrap on    
    set message to ultimaLinha -1 center
   
    cls
    do while .t.
    @ 0, 0 to 3, maxcol () DOUBLE
    @ 1, 2 say "SISTEMA DE CADASTRO PARA PESSOAS FISICAS"
    @ 1,  maxcol () -15 say "Data:"+Dtoc(date()) 
    @ 2, 2 say "cadastro de clientes"

    @ 4, 0 to ultimaLinha, maxcol ()

    @10, 23 to 18, 50 DOUBLE 
    @10, 25 say ".: CADASTRAR CLIENTES :."
    @12, 26 prompt "      cadastro        " message " cadastro de novo cliente    "
    @13, 26 prompt "      exclusao        " message " cancelar cadastro de cliente"
    @14, 26 prompt "      listagem        " message " consulta de clientes        "
    @16, 26 prompt "        sair          " message " sair do sistema             "

    if Lastkey() == K_ESC
        cls
        exit
    endif

    menu to nOpc
    do case 
        case nOpc == 1; cadastro()
        case nOpc == 2; exclui()
        case nOpc == 3; lista()
        case nOpc == 4; exit 
    endcase
enddo
return nil

function cadastro()
    cls
    ?"alteracao de clientes"
    ?"tecle algo"
    inkey(0)
    cls
return nil

function exclui()
    cls
    ?"exclusao de clientes"
    ?"tecle algo"
    inkey(0)
    cls
return nil

function lista()
    cls
    ?"listagem de clientes"
    ?"tecle algo"
    inkey(0)
    cls
return nil

desculpas por ter aberto outro topico com o mesmo assunto anterior, sou novo aqui no forum e eu nn tinha lido o topico de leitura obrigatoria. não sabia bem como ultilizar.
sr's isso não acontecera de novo...

uso simples de uma classe

Enviado: 26 Set 2018 18:04
por JoséQuintas
Aí que está....

Esqueça classe por enquanto.
Vai acabar só te atrapalhando.

Classe é pra agrupar um conjunto de tarefas repetitivas pra faciitar múltiplas rotinas/módulos.
Se não sabe criar um módulo, não vai facilitar nada, vai estar brigando pra entender o módulo e a classe.
Se fizer sem nada disso, vai estar concentrado apenas no módulo, no que interessa no momento.

uso simples de uma classe

Enviado: 27 Set 2018 13:09
por clodoaldomonteiro
Olá,
Inclua no seu fonte uma função pra cria sua base de dados.

Código: Selecionar todos

Function CriaDBF()
   If !File('meuArquivo.dbf')
      DbCreate('meuArquivo', {;
       {'Codigo','C',6,0},;
       {'Nome','C',100,0},;
       {'Endereco','C',100,0};
      }
   Endif
   Return .t.
Não use acentos nos nomes dos campos.
Você pode chamar essa função no início do se sistema, logo depois dos SETs.

uso simples de uma classe

Enviado: 27 Set 2018 13:22
por clodoaldomonteiro
Tá ficando assim:

Código: Selecionar todos

# include "inkey.ch"

Function Main()
   local nOpc

   set century on
   set delimiters on
   set delimiters to "[]"
   set wrap on
   set message to ultimaLinha -1 center

   CriaDBF
   
   Clear

   Do While .t.
      @ 0, 0 to 3, maxcol () DOUBLE
      @ 1, 2 say "SISTEMA DE CADASTRO PARA PESSOAS FISICAS"
      @ 1,  maxcol () -15 say "Data:"+Dtoc(date())
      @ 2, 2 say "cadastro de clientes"

      @ 4, 0 to ultimaLinha, maxcol ()

      @ 10, 23 to 18, 50 DOUBLE
      @ 10, 25 say ".: CADASTRAR CLIENTES :."
      @ 12, 26 prompt "      cadastro        " message " cadastro de novo cliente    "
      @ 13, 26 prompt "      exclusao        " message " cancelar cadastro de cliente"
      @ 14, 26 prompt "      listagem        " message " consulta de clientes        "
      @ 16, 26 prompt "        sair          " message " sair do sistema             "

      if Lastkey() == K_ESC
         Clear
         exit
      endif

      Menu to nOpc
      
      do case
      case nOpc == 1; cadastro()
       case nOpc == 2; exclui()
       case nOpc == 3; lista()
       case nOpc == 4; exit
       endcase
   enddo
   
   Return nil

Function cadastro()
   cls
   ?"alteracao de clientes"
   ?"tecle algo"
   inkey(0)
   cls
   return nil

Function exclui()
   cls
   ?"exclusao de clientes"
   ?"tecle algo"
   inkey(0)
   cls
   return nil

Function lista()
   cls
   ?"listagem de clientes"
   ?"tecle algo"
   //Aqui vc coloca a Function para consultar
   Browse()   //ou DBEdit()
   inkey(0)
   cls
   return nil

   /////////////////////////////////////////////////////////////////////////////
   //Testa a existencia das tabelas do sistema
Function CriaDBF()
   If !File('meuArquivo.dbf')
      DbCreate('meuArquivo', {;
       {'Codigo','C',6,0},;
       {'Nome','C',100,0},;
       {'Endereco','C',100,0};
      }
   Endif
   
   //Aqui vc pode incluir mais Tabelas
   
   Return .t.

uso simples de uma classe

Enviado: 27 Set 2018 16:17
por susviela@bol.com.br
clodoaldomonteiro escreveu: ... Esse manual que você passou para ele, é muito bom, mesmo.
Mas eu penso que se não for "pré requisito do tema usar Classes" o livro do Vlademiro seria mais didático para quem está começando:

https://drive.google.com/drive/folders/ ... TFCU0VkRUk

Se for para usar classes o "bicho vai pegar" ... mas ao conseguir cair a ficha para ele, vai ser um grande passo.

O mais interessante, e animador, disso tudo é um professor usar Harbour em um curso atual .. precisamos saber mais sobre isso.
:-Y :-Y :-Y

Diz ai colega, qual é a escola ?

.

uso simples de uma classe

Enviado: 27 Set 2018 17:01
por alxsts
Olá!

Só lembrando que este guia de referência do xHarbour está disponível na Seção de Downloads do Fórum.