Como alterar EXTEND.LIB?

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

rmlazzari
Usuário Nível 2
Usuário Nível 2
Mensagens: 64
Registrado em: 09 Dez 2013 14:18
Localização: são paulo

Como alterar EXTEND.LIB?

Mensagem por rmlazzari »

Estou usando a função MEMOEDIT(), que no NG diz estar na EXTEND.LIB. Mas percebo que quando chamada essa função cria um quadradinho sem nada escrito na linha zero, lá em cima da tela, com a mesma cor de fundo do texto em edição. Se alterno a forma de inserção de caracteres (de sobrescrever para inserir), nesse quadrado aparece a mensagem <Insert>. E se tento sair com ESC (e não com CTRL-W), naquele lugar vem a questão: "Abort edit? (Y/N)".

Já tentei desabilitar esse quadradinho com set console off mas não funcionou.

Eu gostaria de interceptar essas mensagens para adequa-las à tela que estou fazendo: a marca "<Insert>" eu trocaria pela forma do cursor (bloco sobrescreve e traço insere), e a pergunta sobre sair sem salvar, eu a poria no meu formato, com alert(), inclusive.

Se não me engano, fiz isso uma vez, mas não me lembro... Tenho a impressão de que descompilei a função da EXTEND.LIB criando um programa só com a MEMOEDIT mesmo e depois o descomplei com o Valkyrie ou o Rescue, não me lembro. Ajustei o que precisava, recompilei com o Clipper e com o utilitário LIB do QB5, alterei o que queria e substituí na EXTEND com o próprio LIB.EXE.

Como substitui recentemente a função IAmIdle() na Nanfor mas sem a menor consciência do que fiz, usando só uma "receita de bolo", gostaria, se possível, de alterar a MEMOEDIT com consciência do que estou fazendo. E se alguém tiver os parâmetros de uso da LIB.EXE ("+" faz isso, "-" faz aquilo, não-sei-que lista as funções da LIB, etc.) também seria legal. Não estou encontrando em lugar nenhum da Internet, nem no site da MS mesmo.

Só como referência, a substituição da IAmIdle() na NANFOR.LIB foi assim: baixei da Internet o arquivo IAmIdle.obj, coloquei no mesmo diretório em que está a NANFOR.LIB e dei o seguinte comando:

D:\CLIPPER\LIB> LIB NANFOR -+ IAMIDLE;

Eu me lembro que o "-" subtrai a função da NANFOR e o "+" acrescenta o objeto. Mas e as outras opções para o LIB.EXE, além de subtrair e acrescentar? Listar, por exemplo, ou até mostrar a fonte... Na Internet não estou encontrando...
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Como alterar EXTEND.LIB?

Mensagem por Toledo »

rmlazzari escreveu:Já tentei desabilitar esse quadradinho com set console off mas não funcionou.
Use no início do seu programa o comando SET SCOREBOARD OFF
rmlazzari escreveu: a pergunta sobre sair sem salvar, eu a poria no meu formato, com alert(), inclusive.
Veja um exemplo neste arquivo que está na seção download:

Impressão de Cartas
Veja o arquivo CADCARTA.PRG, a função MEMO_FUN controla o que cada tecla pressionada vai fazer.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Como alterar EXTEND.LIB?

Mensagem por alxsts »

Olá!

Para desativar as mensagens às quais você se refere, use o comando correto:

Código: Selecionar todos

SET SCOREBOARD ON | off | <xlToggle>
Por padrão, MemoEdit() termina sem gravar teclando-se <ESC> e termina salvando ao teclar <Ctrl+W>. Estes comportamentos podem ser alterados via programação.

Sobre o utilitário Lib.Exe, veja Using LIB.EXE to Add, Modify, and Combine .LIB; Quick Library Não me lembro se este programa exibe help, quando se tecla Lib /h ou Lib /?. Experimente aí.
[]´s
Alexandre Santos (AlxSts)
rmlazzari
Usuário Nível 2
Usuário Nível 2
Mensagens: 64
Registrado em: 09 Dez 2013 14:18
Localização: são paulo

Como alterar EXTEND.LIB?

Mensagem por rmlazzari »

Grato, Toledo e alxsts, eu estava confundido set scoreboard com set console. Ficou ótimo, agora. :)

Grato, Toledo, pelo carta.prg!

E alxsts, grato pelo link sobre o LIB.EXE antigo, não estava achando. E infelizmente LIB.EXE não tem help. Mas tem uma série de perguntas quando executado sem parâmetros:

Library name:
Operations:
List:
Output library:

Não descobri como exportar o .OBJ para descompilar, mexer e botar lá dentro de novo mas agora, por enquanto, não é mais tão importante. Mas se alguém quiser saber as funções que tem numa lib, com esse LIB.EXE informe o nome da lib, em operations, "list" (sem aspas) e em list:, o nome do txt.

Grato novamente!
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Como alterar EXTEND.LIB?

Mensagem por JoséQuintas »

Pra descompilar? Descompilar é só o EXE.
Crie um EXE usando MemoEdit() e depois descompile o EXE.
Se MemoEdit() for "descompilável", vai dar certo.

Sobre LIB.EXE: no geral é nome da lib e +-

Código: Selecionar todos

LIB
nomedalib
-rotina
+rotina
Mas no geral, sem mexer na lib, só compilar o novo PRG junto com o restante.
Geralmente o linqueditor só busca das LIBs o que falta, então isso já substitui.
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/
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Como alterar EXTEND.LIB?

Mensagem por alxsts »

Olá!

Para criação e edição de arquivos .Lib e .a, pode-se usar o Explorer Lib. É antigo mas mais novo que o Lib.Exe. É gratuito e tem interface no padrão Windows.

ExplorerLib
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Como alterar EXTEND.LIB?

Mensagem por JoséQuintas »

Lembre-se que aqui é Clipper, estamos falando sobre LIB DOS.
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/
Responder