Clipper On Line • Ver Tópico - Rodar Basic no Harbour

Rodar Basic no Harbour

Discussão sobre outras linguagens de programação.

Moderador: Moderadores

 

Rodar Basic no Harbour

Mensagempor ricardosierban » 24 Out 2020 10:49

Senhores, bom dia.

É possível rodar Basic no Harbour ? Pergunto porque estou com um material que oferece códigos em Basic para criar jogos e eu gostaria de fazer uns testes.

Caso seja possível enviem se possível como fazê-lo, porque eu tentei passar o códigos dos exemplos apenas colocando Procedure Main no início e return no final, mas não deu certo.

Desde já agradeço.

Segue anexo a capa do material comentado.

Ricardo
Anexos
basic-games-capa.jpg
Avatar de usuário

ricardosierban
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 25
Data de registro: 12 Out 2020 21:08
Cidade/Estado: São Bernardo do Campo/SP
Curtiu: 13 vezes
Mens.Curtidas: 3 vezes

Rodar Basic no Harbour

Mensagempor MSDN » 24 Out 2020 13:18

Olha, meio inusitado tua postagem !
Escrever " Function Main().....Return " e colocar código Basic no meio e querer que funcione, utilizando o Harbour, é no mínimo bizarro não acha !
Será que talvez o que vc queria perguntar era se tinha como portar o código Basic para Harbour ?
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 847
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 121 vezes

Rodar Basic no Harbour

Mensagempor ricardosierban » 24 Out 2020 15:49

Olá MSDN, é isso mesmo :) , quero fazer uns testes de Basic no Harbour, é possíivel.

Sei que é bizarro o que eu perguntei, mas ão vejo como impossível ;-)

A questão ´que não sei como fazer.

Obrigado por responder.
Avatar de usuário

ricardosierban
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 25
Data de registro: 12 Out 2020 21:08
Cidade/Estado: São Bernardo do Campo/SP
Curtiu: 13 vezes
Mens.Curtidas: 3 vezes

Rodar Basic no Harbour

Mensagempor alxsts » 24 Out 2020 22:12

Olá!
ricardosierban escreveu:não sei como fazer

Use o pré processador...
[]´s
Alexandre Santos (AlxSts)
alxsts
Colaborador

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

Rodar Basic no Harbour

Mensagempor marcosgambeta » 25 Out 2020 22:46

Ricardo,

O Harbour foi criado para executar código compatível com a linguagem usada no Clipper (xBase). Sendo assim, não há nada nele voltado para a linguagem BASIC.

Você pode usar BASIC no FreeBASIC (entre outras opções):

https://www.freebasic.net/

https://github.com/freebasic/fbc
Atenciosamente,
Marcos Antonio Gambeta
marcosgambeta
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 218
Data de registro: 16 Jun 2005 22:53
Curtiu: 1 vez
Mens.Curtidas: 23 vezes

Rodar Basic no Harbour

Mensagempor rochinha » 26 Out 2020 13:13

Amiguinhos,

Nada é impossivel com xBase mas sim passível.

// Sample directives to help translation of VBScript.

// WARNING: Line continuation _ is NOT supported.
//        : LOOP becomes END so don't mix VBScript support with XBScript
//          code that uses LOOP!   
//        : VBScript Function call without () is NOT supported.

#command ' <*x*> =>
#command Dim <vars,...> => Local <vars>
#command Set <!id!> = <exp> => <id> := <exp>
#command If <cond> Then => IF <cond>
#command Loop => End

#translate .<!id!> => :<id>
#translate Not => !
#translate And => .AND.
#translate Or => .OR.
#translate MsgBox <exp>[.<more>] => MessageBox( 0, <exp>[:<more>], "XBScript", 0 )
#translate Nothing => NIL
//#translate _ => ;
#translate & => +   

#define adCmdTable 0

/* ****************************** codigo exemplo ****************************** *
' Vbscript comment.
Dim cn
Dim rs

Set cn = CreateObject( "ADODB.Connection" )

cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;" ;
  & "User Id=Admin; Data Source=ado.mdb"

cn.Open

Set rs = CreateObject( "ADODB.Recordset" )
rs.Open( "Names", cn, 0, 1, 2 )

do while not rs.eof()
  MsgBox rs.Fields( "First" ).Value
  rs.MoveNext()
loop

rs.Close
Set rs = Nothing

'cn.Close
Set cn = Nothing
* ****************************** codigo exemplo ****************************** */


Usando xcommand e #translate você pode simular alguns comandos e funções em outras linguagens.

Recentemente o José M Quintas também falou sobre o assunto.

Quando eu colecionava revistas de programação importadas com Clipper Advisor encontrei uma reportagem onde um programador criou um .CH com todos os comandos do Cobol, tornando possivel se programar nesta linguagem e compilar com Clipper.

Basta um esmero.
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: 4309
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 564 vezes
Mens.Curtidas: 189 vezes

Rodar Basic no Harbour

Mensagempor JoséQuintas » 26 Out 2020 13:24

Vai acabar topando com coisas que não dá pra traduzir.
Como é pra games, provavelmente vai topar a parte gráfica que pode complicar.
Tem um detalhe também do array começar no número 0 e não no 1, o que pode precisar de ajustes adicionais.
Tudo vai depender dos fontes/recursos usados.
José M. C. Quintas
Harbour 3.4, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, hbnetio, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
Avatar de usuário

JoséQuintas
Colaborador

Colaborador
 
Mensagens: 15447
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 13 vezes
Mens.Curtidas: 896 vezes

Rodar Basic no Harbour

Mensagempor marcosgambeta » 26 Out 2020 14:50

Os jogos presentes no livro citado fazem uso intenso do GOTO e tem as linhas numeradas (característica dos dialetos BASIC mais antigos).

Podem ver no link abaixo:

https://archive.org/details/Basic_Computer_Games_Microcomputer_Edition_1978_Creative_Computing/page/n15/mode/2up

Então, não se resume a uma simples conversão de comandos usando o pré-processador. Tem de resolver o problema do GOTO para lá, GOTO para cá. Mas não tem o problema dos gráficos, pois são jogos em modo texto.

Como exercício de programação, pode ser interessante adaptar os programas para xBase. Mas se o objetivo é se divertir com os jogos, um compilador BASIC seria a melhor e mais rápida opção.
Atenciosamente,
Marcos Antonio Gambeta
marcosgambeta
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 218
Data de registro: 16 Jun 2005 22:53
Curtiu: 1 vez
Mens.Curtidas: 23 vezes

Rodar Basic no Harbour

Mensagempor ricardosierban » 27 Out 2020 20:45

Agradeço à todos a ajuda, vou fazer os testes com o Free Basic e deixar o Harbour só para o Clipper mesmo :)

De qualquer maneira estou gostando muito da linguagem.
Avatar de usuário

ricardosierban
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 25
Data de registro: 12 Out 2020 21:08
Cidade/Estado: São Bernardo do Campo/SP
Curtiu: 13 vezes
Mens.Curtidas: 3 vezes

Rodar Basic no Harbour

Mensagempor MSDN » 27 Out 2020 21:31

Ricardo, não sei os outros programadores, mas quando eu vi isso
Harbour só para o Clipper mesmo
, dá entender que Harbour é só uma ferramenta para código legado Clipper, sendo que suas capacidades vão muito, mas muito além disso, então, se nos seus vídeos for esse o rumo que vai tomar, peço que reconsidere, pois não ajudaria em nada a linguagem e as pessoas que se utilizam dela profissionalmente.
MSDN
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 847
Data de registro: 28 Nov 2003 14:55
Cidade/Estado: CWB
Curtiu: 178 vezes
Mens.Curtidas: 121 vezes




Retornar para Outras linguagens de programação

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 2 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