XVL - xHarbour Visual Lib
O que é?
A XVL é uma lib similar a antiga Visual Lib para DOS, porém a saída de tela desta lib é para modo janela, ou seja, o propósito principal é: "COMPILAR OS SISTEMAS EM CLIPPER+VISUAL LIB PARA QUE ELES SE TORNEM GENUÍNOS PROGRAMAS FOR WINDOWS".
Como funciona?
A XVL contém rotinas que fazem uma ponte entre o modo texto do DOS e modo janela no Windows, isso com uso a WVW do xHarbour, assim, toda a saída do programa clipper/xHarbour que antes ia para o console passa a ir para uma janela do Windows, preservando a lógica de programação do modo texto a adicionando recursos visuais e até uso de objetos GUIs.
Como se usa?
Com o xHarbour o processo de compilação é mais simples do que com o clipper, bastando apenas ter um script bem montando e de forma nativa, breve estará disponível para os amigos que adquirirem a visual lib, o native maker que é um programa que estou criando que gera makefiles nativos para Windows e Linux.
Funciona em Windows e Linux?
Sim, em Windows e Linux no modo texto e Windows modo janela, mas no Linux os padrões de cores ficam bem diferentes, fazendo uma tela acinzentada. Reparem que, a venda não é destinada a versão modo texto, na verdade a versão modo texto acompanham o pacote mas não hávera suporte para elas.
Eu posso adquirir e distribuir meus sistemas livremente?
Sim, a idéia é esta, porém a lib em si não pode ser disponibilizada nem seu direito de uso pode ser transferido e também não pode ser emprestada, ela tem assinatura digital, logo qualquer programa para Windows e Linux que usar seus recursos, pode ter sua origem identificada digitalmente.
Se eu pegar meu programa eu apenas recompilo e sai um aplicativo para Windows?
Sim, a idéia final é esta.
Limitações:
Como sabemos, o Windows é outro ambiente de operacional e existem algumas limitações impostas pela propria WVW, no caso de aplicativos com uso da visual lib, você não pode fazer GETs na desktop (Área de fundo da visual lib do DOS), na versão windows, sempre existe a logica: "Cada opção, uma nova janela". Assim, a cada tela de entrada de dados, é necessário ao menos uma janela sobre a desktop, que irá receber estas informações.
Levemos em consideração que, savescreen e restscreen não precisam de uso com a visual lib, pois a rotina WIN sempre retorna o ambiente antes dela ter sido mostrada e o restaura quando o usuario chamar a rotina RSTENV, vejamos como o exemplos abaixo:
procedure
main |
Vejamos que, toda a janela criada, tem que ser apagada após seu uso,
para quem usa os recursos naturais da Visual Lib, isto é padrão,
no meu caso, sempre usei assim. desta forma o save screen e restore screen tem
seu uso descartado e a migração do sistema ocorre sem ser necessário
mudanças.
Outra coisa também é que a ordem em que as janelas são criadas deve ser a mesma ordem em que elas serão desmanchadas (Destuídas).
procedure
main |
Assim, na ordem que as janelas forem criadas elas tem que ser desmanchadas, isto por que, em alguns casos eu tive problemas, principalmente quando a janela leva alguns objetos sobre ela. Também considere que, a janela que será a usada no processamento deve ser a última a ser mostrada e a primeira a ser destruida.
Existem limitações impostas pela própria WVW, mas dentro destas únicas limitações, qualquer sistema pode ser usado em modo janela sem muitas dores de cabeça.
Vantagens
1 - Número
de linhas e colunas ilimitados.
2 - Permite uso de objetos GUIs.
3 - Migração instantânea para quem usou os recursos da Visual
Lib 2 para Clipper.
4 - Saída de tela no padrão clipper via @ Linhas, Coluna Say.
5 - Uso em 3 plataformas distintas.
6 - Permite uso de imagens.
7 - Acompanha documentação dela e do componente de impressão
do xHarbour.
8 - Suporte total nas dúvidas de desenvolvimento.
ScreenShots
Clique sobre a
imagem para ver em tela cheia.
XVL em Linux Modo Texto
Como podem ver, os padrões de cores do Linux em modo console não são extensíveis.
XVL em Windows Modo Texto
Fica devendo para a Visual Lib somente mesmo nos caracteres que na Visual Lib DOS são redesenhados.
XVL em Windows
Modo Janela
Aqui que o sistema ganha novas propriedades, como uso de objetos GUI´s, imagens, impressão USB, etc...
Alguns exemplos
DEMO
da Visual 2 compilado com XVL
Exibição de fotografia
Um programa antigão meu, foi um dos meus
primeiros programas. Não repare a forma de compilação.
(Gastei exatamente 15 minutos para compilar ele para Windows)
Como adquirir?
Para adquirir a
XVL, envie-me um e-mail para pegar uma conta para depósito, logo após
confirmação a lib será enviada para seu e-mail. O pacote
XVL é composto dos seguintes itens:
1 - XVLGUI.LIB,
XVL.LIB, LIBXVL.A - Libs para compilação com xHarbour para plataformas
Windows e Linux.
2 - Rotinas para impressão USB e documentação completa
do componente WIN32PRN.
3 - Help da XVL e extensões.
4 - Makefiles nativos para Windows e Linux que possibilitam a compilação
nestes sistemas com grande facilidade.
**Para migração no local e migração de libs de terceiros
entre em contato.
Perguntas frequentes:
1
- Esta lib é para Clipper? Qual versão?
R: Esta lib é para xHarbour e não para Clipper, o xHarbour é
um compilador totalmente compatível com o clipper porém 32bits
e multiplataforma.
2
- Eu tenho que modificar meus programas para poder usar o xHarbour?
R: No geral não, o xHarbour foi feito para substituir o clipper sem provocar
muitas dores de cabeça.
3
- Uso libs de terceiros, poderei continuar a usar com o xHarbour?
R: Não, o xHarbour é 32bits e sua estrutura é complentamente
diferente da do Clipper, logo vc tem que descompilar a lib e compilar ela novamente
usando o xHarbour, diversas libs já estão migradas para xHarbour.
4 - Adquirindo a XVL eu terei total suporte na migração
do meu sistema?
R: Não, é impossível pelo custo da lib, dar assessoria
na migração, por isso tem os pacotes com valores para acessoria
na migração válidos por 30 dias.
5 - Se encontrar algum bug na XVL ele será sanado?
R: Sim, quando for erro da XVL internamente.
6
- Poderei migrar meus programas e ter o mesmo fontes rodando em Clipper no DOS,
xHarbour Windows e Linux em modo texto e ainda em Windows modo Janela?
R: Sim, este é o objetivo final, ter o mesmo fonte porém multiplataforma.
7 - Se tiver problemas durante a migração
terei suporte?
R: No que se diz respeito a XVL sim, mas de libs de terceiros não, a
compra da lib não dará direito a assessoria na migração.
Como descrito no item 4.
8
- A XVL precisa de Runtime?
R: Não, nenhum.
9
- Vi seus exemplos e fiquei com receio com relação ao tipo de
letra (muito feio o que foi utilizado). O tipo de letra da visual 2 é
muito bonito. Porque mudou?
R: Mudou por que o sistema não roda mais no DOS e sim debaixo do Windows
e as API do Windows não permitem tal mudanças nas letras, isto
falando a nível de console. Poderia usar o comando RUN rodando
um programa de DOS para mudar o formato da letra, mas isto não seria
profissional quando a necessidade será abandonar de vez o DOS. Espero
que tenha visto que a XVL tem 3 versões distintas, 1 para Windows
modo console, para quem quer que o programa continue com a cara do DOS
(Mais limitado visualmente), 2 Modo texto para Linux que é a única
versão para Linux disponível por enquanto, 3 Modo Janela para
Windows que é a versão mais bonita e mais extensiva. Tanto
que como pode ter lido no site, não aplico a assessoria em cima das versões
modo texto que estão com a mesma estabilidade da Visual Lib para DOS,
porém não tem o mesmo visual dela.
10
- No seu sistema não tem botões, somente teclas de função.
Porque?
R: Não entendi bem, o sistema, como disse acima, fica em 32bits, então
não se pode usar a mudança de caracteres, mas na versão
para modo Janela os botões estão lá e mais bonitos que
na Visual Lib, no modo texto eles também estão lá, porém
com um visual mais simplório.
11
- O tipo de tela também é feio.
R: No modo texto sim, mas como disse, fiz ela em modo texto também para
preservar uma interface antiga para quem quer continuar usando mas quer usufruir
da capacidade do xHarbour, mas como disse, acho que ninguem vai usar, já
no modo janela as telas são janelas reais do Windows.
12
- Vi telas mais bonitas no material do site. Telas do tipo do XP.
R: Pode ver que elas continuam lá, e é a versão que darei
suporte e é a que está a venda, comprando ela vc ganha as versões
de modo texto.
13 - Sinceramente , o padrao visual dela fica um pouco
inferior ao padrao de ferramentas de desenvolvimento tipo delphi ou visual,(
pelo menos a primeira vista e nao se aborreca, por favor, com isso ) mas de
qualquer forma ja é uma mudanca.
R: Sim, mas a XVL
não tem limite de linhas e colunas e vc pode usar objetos GUIs
com ela, não quis aprofundar muito para o pessoal não assustar
ao primeiro contato, apenas migrando o sistema vc alcança o visual visto
nos exemplos, mas ela vai muito além disto, não aprofundei
para não assustar os programadores DOS que querem apenas que o sistema
rode para Windows, O poder dela será revelado gradualmente aos usuários
atráves de exemplos fazendo com que a migração total para
Windows aconteça sem muitos problemas para o usuário, a tendência
é quem pegar a versão agora, evoluir gradualmente com ela e enfim
ter um sistema totalmente visual, até fazendo uso das telas do Delphi.
Exemplos serão postados aqui em breve.
14
- Não consegui executar o exemplo de fotos. Recebo mensagem Invalid(Row(),Col())
na entrada do sistema e ele mostra os dados dos registros mas não exibe
as fotos...
R: Ok, este problema acontece por que o exemplo foi feito exclusivamente
para resoluções de 1024x768, eu já tinha corrigido mas
havia esquecido de colocar no ar.
15-
Ao executar o ESTO32.EXE Recebo a mensagem Carregando bancos de dados... e em
seguida um janela vazia com o título Erro !!!. O que estou fazendo de
errado?
Vc
deve estar descompactando tudo em um mesmo diretório, marque a opção
do seu Winzip para preservar os nomes dos diretórios originais, se o
seu Windows for inglês, na tela em que seleciona diretório para
descompactação, marque a opção "Use folder
names" ou se for a versão em português "Usar nomes de
diretórios".