Clipper On Line • Ver Tópico - DIFICIL APRENDIZADO - Introdução.

DIFICIL APRENDIZADO - Introdução.

Discussão sobre a biblioteca Fivewin - O Clipper para Windows.

Moderador: Moderadores

 

DIFICIL APRENDIZADO - Introdução.

Mensagempor rochinha » 01 Out 2004 16:06

Amiguinhos

"A tarefa de aprender é mais árdua do que ensinar, mas o prazer final é muito maior."

Trabalhando em cima de meu projeto de transformação de meu sistema DOS para Windows usando a ferramenta Fivewin( 5Win ) vou aprendendo como lidar com a mesmae decifrando o seu mundo cheio de impasses.

Um erro aqui outro ali, não compila por causa do Preprocessor Stack Fault ou Dialog cannot create....

Mas o problema não é na ferramenta, ela em si é ótima, o problema existe no ambiente de compilação e no uso de recursos do WorkShop.

Ao iniciar o meu sistema optei por usar coordenada de texto e era muito complicado acertar as distancias e usar o Workshop deixaria as telas lindas, mas ao compilar tinha que agregar mais .DLLs e isto me irritava.

O jeito era gerar minhas telas no Workshop, mas salvá-las como .RC e agregá-las ao meu aplicativo usando o .RC( Resource Compiler ).

O numero de ícones, bitmaps e dialogos cresceu de tal forma que ficou um pouco dificil de fazer manutenção e os frequente erros de Dialog cannot create... começaram a me irritar. Foi então que saí a busca do que poderia ser e encontrei.

Quando voce agrega controles à um diálogo e não define um ID para o mesmo o Workshop define por sí só uma variavel e à esta variável um ID que a qualquer momento pode se chocar com o ID colocado pelo usuário em qualquer diálogo e então ocorre o erro.

Então o que fiz:

Ao criar meus diálogos coloco IDentificadores somente nos controles TEXTo, EDIT, LISTBOXes, COMBOBOXes e STATICs.

Qualquer outro controle como, GROUPBOX, LINE, etc eu coloco como ID o numero -1.

Desta forma estou conseguindo produzir o meu sistema sem problemas.

Estou usando o Fivewin 2.4 16 Bits, em um Duron 1.3Ghz sobre o Windows 2000 Professional e não obtive problemas com a API.

O intuito à partir de agora será de passo à passo ensinar aos amigos o uso de controles do 5Win para a criação de suas telas, como: PAGEs, TABs, FOLDERs alem de seus controles primordiais como WINDOWs, DIALOGs, MENUs, POPUP MENUs e BUTTONBARs e até alguns sofisticados como OUTLOOK e TREE.

Tentarei exemplificar de forma mais completa cada exemplo, desde a codificação até a compilação apresentado os .PRGs utilizados, forma de uso do RC.EXE e qualquer outra LIB necessária.

Até a próxima...
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes

Mensagempor Cleiton Fidelis » 01 Out 2004 16:22

Amigo Rochinha..


Parabens pela bela iniciativa...
Sabe que mtos mtos de nos, nao prosseguimos por isso, pode ser as vezes incopetencia, falta de atencao, algo do genero, mas saiba que a partir deste momento vc escreve um marco na Programacao F.W.


Obrigado pela tua ajuda.

Saude , paz e sucesso pra vc.


Acho q agradeco em nome de mtos.. e mtos que puderem junta-sem a vc..

Cleiton Fidelis
cleitonfidelis@hotmail.com
Divinopolis MG
Cleiton Fidelis
Usuário Nível 2

Usuário Nível 2
 
Mensagens: 79
Data de registro: 06 Jul 2004 09:44
Cidade/Estado: Divinopolis MG
Curtiu: 0 vez
Mens.Curtidas: 0 vez

Mensagempor filizola » 01 Out 2004 17:44

amiguinho, até mesmo os TEXTS podem ser referenciados com -1.
Avatar de usuário

filizola
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 412
Data de registro: 19 Ago 2003 20:10
Cidade/Estado: Belo Horizonte/MG
Curtiu: 5 vezes
Mens.Curtidas: 6 vezes

Mensagempor rochinha » 01 Out 2004 23:09

Amiguinho

Voce tem razão, mas no caso de voce modificar o CAPTION dos TEXTs será necessário dar-lhe um ID.

Exemplo:

Em um DIALOGo existem um COMBO que retorna o nome e situação de um cliente.

O COMBO armazena então o nome deste cliente em sua variável;
O TEXT apresenta o conteudo de situação que pode ser uma mensagem de bloqueio, etc.

Para isto é necessário que o controle TEXT possua uma variável objeto para receber um Refresh() e um ID para ser ligado do DIALOGo. Portanto os outros TEXTs podem ter ID igual a -1.

Exemplo:

...
REDEFINE COMBOBOX oCbx VAR cSituacao ID 100 ITEMS { "Liberado", "Bloqueado", "VIP" } OF oDlg ON CHANGE ( cTexto := cSituacao, oText:Refresh() )
REDEFINE SAY oText VAR cTexto ID 101 OF oDlg


Certo?

@braços :?)
Avatar de usuário

rochinha
Membro Master

Membro Master
 
Mensagens: 4538
Data de registro: 18 Ago 2003 20:43
Cidade/Estado: São Paulo - Brasil
Curtiu: 800 vezes
Mens.Curtidas: 242 vezes




Retornar para FiveWin

Quem está online

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