Clipper On Line • Ver Tópico - uso simples de uma classe

uso simples de uma classe

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

uso simples de uma classe

Mensagempor Emanuel » 26 Set 2018 10:44

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

//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
Emanuel
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 24
Data de registro: 20 Set 2018 14:39
Cidade/Estado: parnaiba-pi
Curtiu: 12 vezes
Mens.Curtidas: 0 vez

uso simples de uma classe

Mensagempor alxsts » 26 Set 2018 12:24

Olá!

Você abriu este tópico relativo ao mesmo assunto. Por quer abrir outro? Concentre suas dúvidas naquele outro tópico...
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2945
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes

uso simples de uma classe

Mensagempor JoséQuintas » 26 Set 2018 12:27

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?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18127
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

uso simples de uma classe

Mensagempor rochinha » 26 Set 2018 16:05

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.
OPS! LINK QUEBRADO? Veja ESTE TOPICO antes e caso não encontre ENVIE seu email com link do tópico para fivolution@hotmail.com. Agradecido.

@braços : ? )

A justiça divina tarda mas não falha, enquanto que a justiça dos homens falha porque tarda.
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4545
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 806 vezes
Mens.Curtidas: 245 vezes

uso simples de uma classe

Mensagempor JoséQuintas » 26 Set 2018 16:12

Pela pergunta, pode achar que é obrigatório, como acontece com linguagens visuais.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18127
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

uso simples de uma classe

Mensagempor Emanuel » 26 Set 2018 17:29

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

# 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...
Emanuel
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 24
Data de registro: 20 Set 2018 14:39
Cidade/Estado: parnaiba-pi
Curtiu: 12 vezes
Mens.Curtidas: 0 vez

uso simples de uma classe

Mensagempor JoséQuintas » 26 Set 2018 18:04

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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18127
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

uso simples de uma classe

Mensagempor clodoaldomonteiro » 27 Set 2018 13:09

Olá,
Inclua no seu fonte uma função pra cria sua base de dados.

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.
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar de usuário

clodoaldomonteiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 751
Data de registro: 30 Dez 2006 12:17
Cidade/Estado: Teresina-PI
Curtiu: 114 vezes
Mens.Curtidas: 31 vezes

uso simples de uma classe

Mensagempor clodoaldomonteiro » 27 Set 2018 13:22

Tá ficando assim:
# 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.
Anexos
xHarbour Language Reference Guide.rar
Manual do xHarbour, tem muito exemplo bom.
(2.2 MiB) Baixado 49 vezes
At. Clodoaldo Monteiro
Linguagens: Clipper / Harbour
Área de Atuação: Sistemas de gestão para Prefeituras Municipais
Fones: (86)3223-0653, 98859-0236
www.simplesinformatica.com.br
Avatar de usuário

clodoaldomonteiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 751
Data de registro: 30 Dez 2006 12:17
Cidade/Estado: Teresina-PI
Curtiu: 114 vezes
Mens.Curtidas: 31 vezes

uso simples de uma classe

Mensagempor susviela@bol.com.br » 27 Set 2018 16:17

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/0B0Uz0QRph4mbMzlVMTFCU0VkRUk

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 ?

.
.
.
"E quando você perder o controle, colherá o que plantou."
=========================================
Carlos Alberto Nunes #Susviela
Site: https://www.PowerInformatica.com.br
=========================================
Blog xBase: https://programandoxbase.wordpress.com/
Blog TI: https://susviela.wordpress.com

( #ProgramandoxBase #AllxBase )
Avatar de usuário

susviela@bol.com.br
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 236
Data de registro: 30 Jun 2017 11:17
Cidade/Estado: São José / SC
Curtiu: 153 vezes
Mens.Curtidas: 24 vezes

uso simples de uma classe

Mensagempor alxsts » 27 Set 2018 17:01

Olá!

Só lembrando que este guia de referência do xHarbour está disponível na Seção de Downloads do Fórum.
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

Colaborador
 
Mensagens: 2945
Data de registro: 12 Ago 2008 15:50
Cidade/Estado: São Paulo-SP-Brasil
Curtiu: 21 vezes
Mens.Curtidas: 248 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 5 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro