programação orientada a objetos ?
Moderador: Moderadores
programação orientada a objetos ?
ola pessoal...
algum de vocês podem me mandar um exemplo de programação orientada a objeto no xharbour??
estou com dificuldades para criar classes, estou errando muito na sintaxe tbm..
desde ja agradeço...
algum de vocês podem me mandar um exemplo de programação orientada a objeto no xharbour??
estou com dificuldades para criar classes, estou errando muito na sintaxe tbm..
desde ja agradeço...
- susviela@bol.com.br
- Usuário Nível 3

- Mensagens: 236
- Registrado em: 30 Jun 2017 11:17
- Localização: São José / SC
- Contato:
programação orientada a objetos ?
.
.
"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 )
.
"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 )
programação orientada a objetos ?
sr. Susviela..
eu tentei compilar seus codigos, porém, sempre da erro em " #include <hmg.ch> "
aparece essa mensagem de erro -->
class.prg(3) Error F0029 Can't open #include file: 'hmg.ch'
eu tentei fazer algumas coisas pra resolver, mas não consegui
eu tentei compilar seus codigos, porém, sempre da erro em " #include <hmg.ch> "
aparece essa mensagem de erro -->
class.prg(3) Error F0029 Can't open #include file: 'hmg.ch'
eu tentei fazer algumas coisas pra resolver, mas não consegui
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
programação orientada a objetos ?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
programação orientada a objetos ?
sr. JoséQuintas, muito obrigado
)
)
obrigado :xau
conseguiu me passar tudo o que eu estava procurando por horasJoséQuintas escreveu:https://pctoledo.org/forum/viewto ... lit=classe
obrigado :xau
- susviela@bol.com.br
- Usuário Nível 3

- Mensagens: 236
- Registrado em: 30 Jun 2017 11:17
- Localização: São José / SC
- Contato:
programação orientada a objetos ?
Obrigado pela dica / retorno ...sr. Susviela..
eu tentei compilar seus codigos, porém, sempre da erro em " #include <hmg.ch> "
aparece essa mensagem de erro -->
class.prg(3) Error F0029 Can't open #include file: 'hmg.ch'
Esse é um #include <hmg> para quem usa HMG, pode retirar que não tem problema, mesmo assim vou corrigir no Blog.
Muito embora no texto esteja escrito:
Pré requisitos :
- HMG ( 3.4.4 - 32 bits)
.
.
"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 )
.
"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 )
programação orientada a objetos ?
pessoal, desculpem pela minha burrice, mas ainda nn consegui entender como usar classes :'( :'(
todos os exemplos que eu tento compilar dão erro de compilação e quando compila da erro de execução
sr. susviela, o seu site esta me ajudando muito, muito mesmo. porém eu não to conseguindo aprender esse negocio de orientação a objeto (#-)
todos os exemplos que eu tento compilar dão erro de compilação e quando compila da erro de execução
sr. susviela, o seu site esta me ajudando muito, muito mesmo. porém eu não to conseguindo aprender esse negocio de orientação a objeto (#-)
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
programação orientada a objetos ?
Apesar de classe fazer parte do Harbour, sem esse #include não vai.
#include "hbclass.ch"
Deve ser isso.
#include "hbclass.ch"
Deve ser isso.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
programação orientada a objetos ?
sr. Quintas..
eu to tentando assim
# include "hbclass.ch"
create class oCadastro
var nNome init ""
var cIdade init ""
var nNumTel init 0
var nCpf init 0
var nId init 0
METHOD New(cArqDB) CONSTRUCTOR
METHOD CriarTabela()
endclass
ta dando erro nos metodos
eu to tentando assim
# include "hbclass.ch"
create class oCadastro
var nNome init ""
var cIdade init ""
var nNumTel init 0
var nCpf init 0
var nId init 0
METHOD New(cArqDB) CONSTRUCTOR
METHOD CriarTabela()
endclass
ta dando erro nos metodos
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
programação orientada a objetos ?
Tá dizendo que a classe tem dois métodos.
Eles existem?
Eles existem?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
programação orientada a objetos ?
Deve ter dado a mesma mensagem que aqui:
"referenciado, perdido, funções não reconhecidas pelo Harbour..."
hbmk2: Error: Referenced, missing, but unrecognized Harbour function(s):
OCADASTRO_NEW(), OCADASTRO_CRIARTABELA()
"referenciado, perdido, funções não reconhecidas pelo Harbour..."
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
programação orientada a objetos ?
deu esse mesmo erro aquiJoséQuintas escreveu:Deve ter dado a mesma mensagem que aqui:
hbmk2: Error: Referenced, missing, but unrecognized Harbour function(s):
OCADASTRO_NEW(), OCADASTRO_CRIARTABELA()
"referenciado, perdido, funções não reconhecidas pelo Harbour..."
eu vi que o problema é q esses metodos nn existem. eu to me complicando sozinho aqui (U)
- susviela@bol.com.br
- Usuário Nível 3

- Mensagens: 236
- Registrado em: 30 Jun 2017 11:17
- Localização: São José / SC
- Contato:
programação orientada a objetos ?
Ajustei para você faltava os métodos ...
Melhor não usar esse nome (oCadastro) na classe .. Pode, mas não é mais recomendado ( talvez uma boa dica seria trocar por tCadastro )
Código: Selecionar todos
# include "hbclass.ch"
create class oCadastro
var nNome init ""
var cIdade init ""
var nNumTel init 0
var nCpf init 0
var nId init 0
METHOD New(cArqDB) CONSTRUCTOR
METHOD CriarTabela()
endclass
*---------------------------------------------------------------------------
METHOD New(cArqDB) CLASS oCadastro // <== FALTANDO ISSO mesmo PRG
*---------------------------------------------------------------------------
// códigos aqui ...
Return Self // construtor retorna self
*---------------------------------------------------------------------------
METHOD CriarTabela() CLASS oCadastro // <== FALTANDO ISSO mesmo PRG
*---------------------------------------------------------------------------
// códigos outro método aqui ...
Return .T.
Melhor não usar esse nome (oCadastro) na classe .. Pode, mas não é mais recomendado ( talvez uma boa dica seria trocar por tCadastro )
.
.
"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 )
.
"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 )
programação orientada a objetos ?
sr. susviela, mais uma vez, muito obrigado :)Pos me deu uma luz no fim do tunel :-Y :-Y
programação orientada a objetos ?
ola pessoal, bom dia
então pessoal
eu criei esse fonte pra estudar mais sobre classes, porém a minha dificudade agora são os metodos
não sei como usa-los
aqui esta o fonte!
# include "hbclass.ch"
# define ultimaLinha 24
# include "inkey.ch"
procedure main()
local nOpc
config()
cls
do while .t.
@ 0, 0 to 3, maxcol () DOUBLE // contorno do box
@ 1, 2 say "SISTEMA DE CADASTRO PARA PESSOAS FISICAS"
@ 1, maxcol () -15 say "Data:"+Dtoc(date()) // exibir data
@ 2, maxcol () -15 say "Hora:"+time() // exibe hora
@ 2, 2 say "cadastro de clientes"
@ 4, 0 to ultimaLinha, maxcol ()
@10, 23 to 18, 50 DOUBLE // contorno do menu
@10, 25 say ".: CADASTRAR CLIENTES :."
@12, 26 prompt "cadastro " message " cadastro de novo cliente "
@13, 26 prompt "alteracao" message " altera dados de um cliente "
@14, 26 prompt "exclusao " message " cancelar cadastro de cliente"
@15, 26 prompt "listagem " message " consulta de clientes "
@17, 26 prompt "sair " message " sair do sistema "
menu to nOpc
do case
case nOpc == 1
inclui ()
case nOpc == 2
altera ()
case nOpc == 3
exclui ()
case nOpc == 4
lista ()
case nOpc == 5
exit
endcase
enddo
return
function inclui ()
cls
?"inclusao de usuarios"
inkey(0)
cls
return nil
function altera ()
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
function config ()
set date british // converte data para a versao dd/mm/yy
set century on // exibe o ano em quatro digitos
set delimiters on// ativa os delimitadores
set delimiters to "[]" // informa como serao os delimitadores
set wrap on // quando chega no ultimo prompt ele volta ao primeiro
set message to ultimaLinha -1 center // exibe menssagem na ultima linha
return nil
e aqui a classe que estou querendo usar
class cliente
data Nome
data Cpf
data id
data NumTel
data caCred
data endereco
data codiCli
data idade
data datNasc
method adicionar()
endclass
method adicionar() class cliente
depois dos metodos eu me perco. não sei pra onde ir, nem o que fazer.
então pessoal
eu criei esse fonte pra estudar mais sobre classes, porém a minha dificudade agora são os metodos
não sei como usa-los
aqui esta o fonte!
# include "hbclass.ch"
# define ultimaLinha 24
# include "inkey.ch"
procedure main()
local nOpc
config()
cls
do while .t.
@ 0, 0 to 3, maxcol () DOUBLE // contorno do box
@ 1, 2 say "SISTEMA DE CADASTRO PARA PESSOAS FISICAS"
@ 1, maxcol () -15 say "Data:"+Dtoc(date()) // exibir data
@ 2, maxcol () -15 say "Hora:"+time() // exibe hora
@ 2, 2 say "cadastro de clientes"
@ 4, 0 to ultimaLinha, maxcol ()
@10, 23 to 18, 50 DOUBLE // contorno do menu
@10, 25 say ".: CADASTRAR CLIENTES :."
@12, 26 prompt "cadastro " message " cadastro de novo cliente "
@13, 26 prompt "alteracao" message " altera dados de um cliente "
@14, 26 prompt "exclusao " message " cancelar cadastro de cliente"
@15, 26 prompt "listagem " message " consulta de clientes "
@17, 26 prompt "sair " message " sair do sistema "
menu to nOpc
do case
case nOpc == 1
inclui ()
case nOpc == 2
altera ()
case nOpc == 3
exclui ()
case nOpc == 4
lista ()
case nOpc == 5
exit
endcase
enddo
return
function inclui ()
cls
?"inclusao de usuarios"
inkey(0)
cls
return nil
function altera ()
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
function config ()
set date british // converte data para a versao dd/mm/yy
set century on // exibe o ano em quatro digitos
set delimiters on// ativa os delimitadores
set delimiters to "[]" // informa como serao os delimitadores
set wrap on // quando chega no ultimo prompt ele volta ao primeiro
set message to ultimaLinha -1 center // exibe menssagem na ultima linha
return nil
e aqui a classe que estou querendo usar
class cliente
data Nome
data Cpf
data id
data NumTel
data caCred
data endereco
data codiCli
data idade
data datNasc
method adicionar()
endclass
method adicionar() class cliente
depois dos metodos eu me perco. não sei pra onde ir, nem o que fazer.
