Clipper On Line • Ver Tópico - Incluir a SUPER.LIB na compilação

Incluir a SUPER.LIB na compilação

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

Moderador: Moderadores

 

Incluir a SUPER.LIB na compilação

Mensagempor Eliane » 27 Jan 2015 10:40

Sou iniciante em harbour começando do zero ok. Tenho um sistema em clipper com os fontes que funciona redondinho, um sistema razoavelmente grande. Quero passar para o Harbour em modo console mesmo. Ele usa a super.lib Procurei a respeito e vi que tem como incluí-la no sistema harbour mas não sei como fazer. Estou seguindo o exemplo de compilação sugerido na Migração para Harbour usando hbmk2.
Eliane
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 82
Data de registro: 22 Mai 2006 10:17
Cidade/Estado: Londrina-PR
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Incluir a SUPER.LIB na compilação

Mensagempor Itamar M. Lins Jr. » 27 Jan 2015 15:41

Eu não sei se todas as funções da superlib estão no Harbour, precisa ver quais que vc usa.
Poste seu arquivo .hbp e a tela com os erros se possível.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Incluir a SUPER.LIB na compilação

Mensagempor Itamar M. Lins Jr. » 27 Jan 2015 15:44

Na pasta extras do harbour 3.4 Fork do Viktor tem um pequeno tutorial.
1.) Download original sources of SuperLib 3.5 from this page:
       http://www.the-oasis.net/ftpmaster.php3?content=ftplib.htm
    Direct link:
       http://www.the-oasis.net/files/library/supfree.zip

2.) Unpack it:
    unzip supfree.zip
    unzip SOURCE.ZIP

3.) *nix users will need to convert original filenames to lowercase
    and EOLs to native format, using these commands:
    hbmk2 -sanitize *.c *.prg

4.) Apply supplied patch to the source using GNU Patch:
    patch -lNi superlib.dif

5.) Build it:
    hbmk2 superlib.hbp

6.) You're done.

7.) Finally, to build an application with SuperLib, use:
    hbmk2 myapp.prg superlib.hbc

[vszakats]


Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Incluir a SUPER.LIB na compilação

Mensagempor acelconsultoria » 04 Abr 2017 23:32

Boa noite,

Apenas "fuçando" por curiosidade, tentei gerar a lib da SUPERLIB. Consegui gerar o arquivo, mas quando tento gerar algum exemplo da pasta SAMPLES, dá o seguinte erro:

hbmk2: Error: Referenced, missing, but unrecognized Harbour function(s):
       TAKEOUT(), GETSCROW(), GETSCCOL(), SSPRINKLE()


Pesquisando lá nos fontes da superlib, vi que essas "funções" estão dentro dos arquivos .c que acompanham os fontes. Na hora de gerar a lib, não acusou nenhum erro e pelo que pude perceber, o arquivo hbp que gera a lib contém os arquivos .c.

superlib.hbp
-hblib
-inc

-olib/${hb_plat}/${hb_comp}/${hb_name}

-w1 -es2

-hbx=${hb_name}

hbsuper.prg

between.c
mline.c
nextls.c
s_scrbuf.c

curd.prg
r_hcode.prg
r_printr.prg
r_quikr.prg
r_report.prg
s_1label.prg
s_2dbrz.prg
s_aaskip.prg
s_abort.prg
s_achoi.prg
s_addsp.prg
s_aextra.prg
s_aftype.prg
s_akount.prg
s_aleng.prg
s_allbut.prg
s_amsg.prg
s_amsort.prg
s_amstat.prg
s_append.prg
s_appt.prg
s_arrang.prg
s_ascii.prg
s_astats.prg
s_at2c.prg
s_att.prg
s_bdelim.prg
s_begend.prg
s_bigel.prg
s_blanks.prg
s_bldar.prg
s_bldbf.prg
s_bldndx.prg
s_bom.prg
s_boxes.prg
s_boyear.prg
s_brsdf.prg
s_build.prg
s_bungde.prg
s_bungee.prg
s_bxx.prg
s_calck.prg
s_calcvw.prg
s_centr.prg
s_clab.prg
s_clrfun.prg
s_cls.prg
s_colpik.prg
s_copy.prg
s_copyf.prg
s_crunch.prg
s_ctrlw.prg
s_cvtdel.prg
s_datcal.prg
s_datek.prg
s_datvw.prg
s_daysin.prg
s_dbarr.prg
s_dbstat.prg
s_delar.prg
s_delet.prg
s_doyear.prg
s_dpops.prg
s_dtdiff.prg
s_dtow.prg
s_dup.prg
s_duph.prg
s_edit.prg
s_editm.prg
s_editmv.prg
s_edpict.prg
s_endsw.prg
s_enhan.prg
s_evalq.prg
s_export.prg
s_fform.prg
s_fields.prg
s_filein.prg
s_filer.prg
s_fillar.prg
s_fm2n.prg
s_fm2p.prg
s_forml.prg
s_formu.prg
s_freadl.prg
s_freq.prg
s_fulld.prg
s_gened.prg
s_genva.prg
s_getcal.prg
s_getdat.prg
s_getdfp.prg
s_getkey.prg
s_getman.prg
s_global.prg
s_globr.prg
s_hardc.prg
s_help.prg
s_helpm.prg
s_hplas.prg
s_init.prg
s_inlook.prg
s_isload.prg
s_ispart.prg
s_isvalf.prg
s_kbdesc.prg
s_list.prg
s_ljust.prg
s_lotmen.prg
s_mailm.prg
s_makeb.prg
s_mchoi.prg
s_meas.prg
s_menuv.prg
s_messyn.prg
s_mfld.prg
s_mfldt.prg
s_mmemo.prg
s_modify.prg
s_moose.prg
s_msg.prg
s_mulmyn.prg
s_nbr2st.prg
s_nkey.prg
s_notdup.prg
s_nozdiv.prg
s_old.prg
s_oldmod.prg
s_oner.prg
s_openin.prg
s_paths.prg
s_pcsel.prg
s_picknd.prg
s_plsw.prg
s_popdir.prg
s_popex.prg
s_popord.prg
s_popr.prg
s_popupk.prg
s_popvw.prg
s_pread.prg
s_prnpor.prg
s_prnt.prg
s_prntf.prg
s_prog.prg
s_proper.prg
s_pseek.prg
s_pulldn.prg
s_purgem.prg
s_query.prg
s_readrs.prg
s_rjust.prg
s_rmenu2.prg
s_rread.prg
s_saddr.prg
s_scmod.prg
s_screen.prg
s_scroll.prg
s_search.prg
s_setcen.prg
s_setcol.prg
s_setdat.prg
s_setex.prg
s_setkey.prg
s_sfilok.prg
s_smal.prg
s_smalk.prg
s_smgets.prg
s_snetu.prg
s_sreclo.prg
s_stan.prg
s_starts.prg
s_stod.prg
s_stretc.prg
s_strpat.prg
s_strpul.prg
s_subplu.prg
s_sumav.prg
s_super.prg
s_tabmen.prg
s_tag.prg
s_taga.prg
s_tagam.prg
s_tagf.prg
s_time.prg
s_todo.prg
s_trueva.prg
s_unbox.prg
s_uniqf.prg
s_unsel.prg
s_var2.prg
s_varlen.prg
s_viewp.prg
s_vmemo.prg
s_vview.prg
s_wild.prg
s_womon.prg
s_woyear.prg
s_writef.prg
s_xbxx.prg

$hb_pkg_dynlib.hbm
$hb_pkg_install.hbm


Uma das funções, a TAKEOUT(), está no arquivo Between.c... que é assim:
/*
Function:     Takeout()
Purpose :     Extract section of a string between delimiters
Usage   :     Takeout(<expC1>, <expC2>, <expN>)
Params  :     expC1 - string
              expC2 - delimiter  (beginning and end of string are considered
                                  delimiters)
              expN  - occurance
Example :     takeout("Next:Previous:First:Quit",":",3)
              returns "First"
Returns :     Section of string between delimiters, occurance <expN>.
Found in:     between.c
*/

#include "extend.h"
CLIPPER takeout()
{
   char *string;
   char *delim;
   char *result;
   char *empty = 0;

   quant i;
   quant occur;
   quant knt;
   quant fnd;
   quant strstart=0;
   quant strlen;
   quant strend;
   quant size;

   occur        = _parni(3);
   occur        =  occur-1;    /* beginning of string = first delim */
   delim        = _parc(2);
   string       = _parc(1);
   strlen       = _parclen(1);
   strend       = strlen-1;

   i = 0;
   knt = 0;
   fnd = 0;

   /* first find occurrance */
   while (i < strlen && knt < occur)     /* not null, kount < occurance */
     {
     knt = (delim[0] == string[i]) ? knt+1 : knt ;
     strstart = (knt == occur) ? i+1 : strend ;
     i++;
     }

   fnd = (knt == occur);

   while (i < strlen && (strend == strlen-1) && (fnd))
     {
     strend  = (delim[0] == string[i]) ? i-1 : strend ;
     i++;
     }

   knt = 0;

   if (strend >= strstart && (fnd))
   {
     size = (strend-strstart+2);
     result = _xgrab(size);
     for(i = strstart; i <= strend  ;i++)
       result[knt++] = string[i];
     result[knt] = NIL;
     _retclen(result,knt);
     _xfree(result);
   }
   else
     _retclen(empty,0);
}


Bom... então o que está acontecendo ???
Adm. Maickon Sato
Consultoria e Projetos
-------------------------------------------------------
Avatar de usuário

acelconsultoria
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 231
Data de registro: 10 Jan 2006 16:05
Cidade/Estado: Itápolis-SP
Curtiu: 6 vezes
Mens.Curtidas: 6 vezes

Incluir a SUPER.LIB na compilação

Mensagempor Itamar M. Lins Jr. » 05 Abr 2017 11:06

Ola!
Bom... então o que está acontecendo ???

Não sei. Mas o Viktor sabe, e deve ter corrigido.

2017-04-05 11:45 UTC Viktor Szakats (vszakats users.noreply.github.com)
  * package/mpkg_rpm_docker.sh
    * temp fix: use vendored sqlite

  * utils/hbmk2/hbmk2.prg
    ! fix to expand wildcard on *nix that came from the command-line
      this fixes the sanitize commands in extras/*/README.md on *nix
      systems

  * extras/superlib/superlib.patch
    ! fix some C code warnings

  + extras/superlib/build.sh
    + add script that does all the steps described in README.md

  + extras/superlib/test.prg
    + add simple test app

  * extras/superlib/superlib.hbp
    * be silent

Fast-forward
ChangeLog.txt                  | 21 +++++++++++++++++++++
extras/superlib/build.sh       | 13 +++++++++++++
extras/superlib/superlib.hbp   |  2 ++
extras/superlib/superlib.patch | 18 ++++++++++++------
extras/superlib/test.prg       |  5 +++++
package/mpkg_rpm_docker.sh     |  6 +++++-
utils/hbmk2/hbmk2.prg          |  7 -------
7 files changed, 58 insertions(+), 14 deletions(-)


Atualizar e testar novamente.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6927
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 309 vezes
Mens.Curtidas: 503 vezes

Incluir a SUPER.LIB na compilação

Mensagempor acelconsultoria » 05 Abr 2017 15:06

Os arquivos PRG dentro da pasta source, possuem alguns erros de digitação, causando alguns erros inconvenientes na hora de gerar a lib.

Eu corrigi os erros dos PRGs, e a lib agora gera sem erros. Segue em anexo.
Anexos
SOURCE.rar
PRGs dos fontes corrigidos da Superlib
(1.63 MiB) Baixado 176 vezes
Adm. Maickon Sato
Consultoria e Projetos
-------------------------------------------------------
Avatar de usuário

acelconsultoria
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 231
Data de registro: 10 Jan 2006 16:05
Cidade/Estado: Itápolis-SP
Curtiu: 6 vezes
Mens.Curtidas: 6 vezes

Incluir a SUPER.LIB na compilação

Mensagempor acelconsultoria » 05 Abr 2017 15:24

Boa tarde,

Consegui gerar a lib com as atualizações recentes do Harbour 3.4... porém, não consigo compilar nenhum exemplo. O erro continua o mesmo de antes:
Harbour 3.4.0dev () (2017-04-03 08:45)
Copyright (c) 1999-2017, https://github.com/vszakats/harbour-core/
Compiling 's3prog.prg'...

Lines 97, Functions/Procedures 5
Generating C source output to 'C:\Users\Escola\AppData\Local\Temp\hbmk_w97xnu.dir\s3prog.c'... Done.

hbmk2: Error: Referenced, missing, but unrecognized Harbour function(s):
       TAKEOUT(), GETSCROW(), GETSCCOL(), SSPRINKLE()



Essas funções fazem parte dos .C que acompanham os fontes da superlib. Mas notei também, que no arquivo superlib.patch há um script para "alguma-coisa-que-não-entendi", e também constam essas mesmas funções.

No README explica que o arquivo superlib.patch deve ser rodado no GNU, para configurar o ambiente pra gerar a lib, com o comando:

"patch -lNi superlib.patch"

Não sei se dá pra usar esse arquivo no Windows, pra ajudar a corrigir esse problema. Bom, continuamos no aguardo.
Adm. Maickon Sato
Consultoria e Projetos
-------------------------------------------------------
Avatar de usuário

acelconsultoria
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 231
Data de registro: 10 Jan 2006 16:05
Cidade/Estado: Itápolis-SP
Curtiu: 6 vezes
Mens.Curtidas: 6 vezes

Incluir a SUPER.LIB na compilação

Mensagempor Vlademiro » 05 Abr 2017 22:22

O arquivo que eu uso com sucesso a superlib é
superlib.zip
(1.1 KiB) Baixado 152 vezes


Aproveito o embalo e posto também o da grump :
grump.hbp.zip
(748 Bytes) Baixado 151 vezes


Aqui comigo funciona perfeitamente tanto no Harbour 3.2 quanto no Harbour 3.4

O menu da superlib tem um pequeno bug quando tento ultrapassar a última opção, mas não é um bug grave.
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 749
Data de registro: 11 Jul 2005 02:46
Curtiu: 22 vezes
Mens.Curtidas: 62 vezes

Incluir a SUPER.LIB na compilação

Mensagempor Vlademiro » 05 Abr 2017 22:26

Para facilitar ainda mais segue os fontes da superlib que eu uso aqui. Talvez eu tenha modificado algo nela, mas não tenho certeza pois já faz muito tempo.

superlib_completa.zip
(1.37 MiB) Baixado 211 vezes
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 749
Data de registro: 11 Jul 2005 02:46
Curtiu: 22 vezes
Mens.Curtidas: 62 vezes

Incluir a SUPER.LIB na compilação

Mensagempor acelconsultoria » 05 Abr 2017 22:30

Boa noite, Vlademiro.

Como eu não uso linux, eu tava apanhando aqui pra ver como eu iria fazer um "patch" no superlib.patch pra arrumar os arquivos .c. Mas aí vc já resolveu.

Grato.

Maickon Sato
Adm. Maickon Sato
Consultoria e Projetos
-------------------------------------------------------
Avatar de usuário

acelconsultoria
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 231
Data de registro: 10 Jan 2006 16:05
Cidade/Estado: Itápolis-SP
Curtiu: 6 vezes
Mens.Curtidas: 6 vezes

Incluir a SUPER.LIB na compilação

Mensagempor fdaniele » 14 Mar 2019 11:05

Thank you Mr. Vlademiro

I'm an Italian and I still work today in clipper with superlib and grumpfish and finally now I'm going to Harbor
thanks to your contribution.
I am infinitely grateful to you for your kindness
God bless you

thank and congratulations!

Daniele
fdaniele
Usuário Nível 1

Usuário Nível 1
 
Mensagens: 1
Data de registro: 10 Mar 2019 04:51
Cidade/Estado: capri/italy
Curtiu: 2 vezes
Mens.Curtidas: 0 vez

Incluir a SUPER.LIB na compilação

Mensagempor Nascimento » 14 Mar 2019 14:24

pelo que percebi o .path ele faz tipo uma substituição de comandos "clipper" para comandos "harbour" vc lendo o .path vai saber como proceder na compilaçao da lib para harbour
ja portei varias libs para harbour inclusive feitas em .c , a algumas totalmente em .c a ultima que fiz foi uma lib bridge para usar a allegro original no harbour

por isso digo que não é tão complexo, so tem que ter conhecimento basico de .C e estudar a hbapi.h o resto é so festa!
A arte de programar é simplesmente fazer seus pensamentos serem interpretados por uma maquina :) clipper 5.3 /harbour/minigui
Avatar de usuário

Nascimento
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 711
Data de registro: 19 Jul 2008 12:11
Cidade/Estado: OLINDA-PE
Curtiu: 110 vezes
Mens.Curtidas: 76 vezes

Incluir a SUPER.LIB na compilação

Mensagempor janio » 14 Mar 2019 14:38

O que tem de bom nessa SuperLib?

Gostaria de ver algumas telas feitas com ela, se possivel

Janio
fui...
e-mail:janioaguiar@yahoo.com.br
msn: janio_aguiar@hotmail.com
xHarbour1.2.1/Harbour3.2 + wvg + hwgui + Mediator + MySql
Avatar de usuário

janio
Colaborador

Colaborador
 
Mensagens: 1835
Data de registro: 06 Jul 2004 07:43
Cidade/Estado: UBAJARA - CE
Curtiu: 8 vezes
Mens.Curtidas: 68 vezes

Incluir a SUPER.LIB na compilação

Mensagempor Linguagemclipper » 04 Set 2023 16:27

Generating C source output to 'C:\Users\ANDERS~1\AppData\Local\Temp\hbmk_6ixlk
dir\s_xbxx.c'... Done.
E:/PROGRAMA/FONTALU/LIB52/superlib/mline.c: In function 'HB_FUN_S_GETLINE':
E:/PROGRAMA/FONTALU/LIB52/superlib/mline.c:40:6: warning: comparison is always
rue due to limited range of data type [-Wtype-limits]
E:/PROGRAMA/FONTALU/LIB52/superlib/mline.c:48:6: warning: comparison is always
alse due to limited range of data type [-Wtype-limits]
E:/PROGRAMA/FONTALU/LIB52/superlib/mline.c:58:52: warning: comparison between
gned and unsigned integer expressions [-Wsign-compare]
E:/PROGRAMA/FONTALU/LIB52/superlib/mline.c:63:21: warning: comparison between
gned and unsigned integer expressions [-Wsign-compare]
E:/PROGRAMA/FONTALU/LIB52/superlib/nextls.c: In function 'HB_FUN_NEXTLS':
E:/PROGRAMA/FONTALU/LIB52/superlib/nextls.c:14:16: warning: comparison between
igned and unsigned integer expressions [-Wsign-compare]
E:/PROGRAMA/FONTALU/LIB52/superlib/nextls.c:21:16: warning: comparison between
igned and unsigned integer expressions [-Wsign-compare]
E:/PROGRAMA/FONTALU/LIB52/superlib/s_scrbuf.c: In function 'HB_FUN_GETSCROW':
E:/PROGRAMA/FONTALU/LIB52/superlib/s_scrbuf.c:10:13: warning: variable 'rows'
t but not used [-Wunused-but-set-variable]


Não conseguí compilar do pacote completo. Deu esses avisos e não compilou nenhuma lib.
Usando xHarbour v1.2.3 Rev. 10264 + BCC 5.8, Elchs' LetoDBf, DBFCDX e SIBRA para imprimir relatórios.
Avatar de usuário

Linguagemclipper
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 214
Data de registro: 16 Abr 2016 17:33
Cidade/Estado: Maceió/AL
Curtiu: 38 vezes
Mens.Curtidas: 12 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Google [Bot] e 13 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