Compilar através da IDE da HMG versão 3.0.35

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Compilar através da IDE da HMG versão 3.0.35

Mensagem por microvolution »

Gente pelo que pesquisei aqui mesmo no fórum, o erro:
===
error e0004 local declaration follows executable statement
===
refere-se a uma declação de variável LOCAL em local errado do programa (apesar de estar no início).
Mudei para STATIC e continuou o erro.
Como estamos aprendendo, mudei para PRIVATE ou PUBLIC e aceitou.
Só que os caros professores sabem o que aconteceu?
Voltamos ao início de tudo. Dá uma tela sem erro e sem um programa executável.

Aguardo mais informações, agora vou descanar.
Abraços!
MICROVOLUTION/W DE PAULA.
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Compilar através da IDE da HMG versão 3.0.35

Mensagem por microvolution »

oLÁ TOLEDO bom dia!

Não estou compilando em modo console "hbmk2 sicca34" e sim usando desta vez sua orientação aqui de como usar através da IDE do HMG.
Segui mais uma vez o passo a passo.
Apesar que não instalei na pasta de recomendação (acho q não há problema nisso), instalei na unidade/pasta: g:\mvinfo\hmg (versão 3.0.35, etc, etc).
Quanto a essas suas linhas de ontem à noite (antes de minha última postagem):
====
Amigo, para compilação modo console veja este tópico:

Migrar Clipper para Harbour

microvolution escreveu:hbmk2: Linkando... SICCA34.exe
g:/mvinfo/hmg.3.0.35/mingw/bin/../lib/gcc/mingw32/4.4.1/../../../../mingw32/bin/ld.exe: cannot find -lhwgui


Você deve ter relacionado para compilação a lib hwgui, que não pertence a MiniGui, como o próprio nome da lib diz, esta lib é da HwGui. Agora resta saber se no seu programa você está usando alguma função da HwGui.

Abraços,
====
A pergunta vem, como que altero isso, se não estou usando o modo console que é acionado através do CMD (command do win)?
Outra pergunta: não coloquei as variáveis de ambiente na guia AVANÇADO do windows, então não poderiam as PATHs e SET rodarem automaticamente. Correto?
a IDE/HMG faz a leitura automática dos PATHs, tem algum lugar nela que se altera isso?
Finalmente, apesar de na IDE/HMG não apresentar nenhum erro, o motivo pelo qual não está compilando é essas linhas acima?

Grato,
MICROVOLUTION, W de Paula.
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
Avatar do usuário
Toledo
Administrador
Administrador
Mensagens: 3133
Registrado em: 22 Jul 2003 18:39
Localização: Araçatuba - SP
Contato:

Compilar através da IDE da HMG versão 3.0.35

Mensagem por Toledo »

microvolution escreveu:meus programas foram gerados com o auxílio de um aplicativo da SQUADRA da cidade de Belo Horizonte, por nome de SCULPTOR 3.31
microvolution escreveu:Não estou compilando em modo console
Bom, se você está tentando compilar na IDE este programa gerado pelo Sculptor, independente se a compilação é pela IDE ou pelo prompt do DOS, a compilação é em modo console.

Eu cheguei a gerar um programa com o Sculptor, mas na época também comprei o GASPro e optei por este último, então não me lembro como era o código do Sculptor e se ele usava alguma LIB do próprio Sculptor. Mas mesmo assim, continua valendo as regras (passo 3 do tutorial) que postei no tópico "Migrar Clipper para Harbour".

Sobre a lib hwgui que está ocorrendo o erro, não sei dizer porque a IDE relacionou esta lib, mas acho que esta lib não foi incluída na compilação pela IDE, provavelmente você deve ter feito isto manualmente no arquivo HBP ou HBC.

Poste aqui o conteúdo do seu arquivo HBP e HBC (se existir).

Lembrando: se o Sculptor tiver alguma LIB própria (eu não me lembro se o Sculptor tinha ou não uma LIB própria), então tem que ver quais as funções existentes nesta LIB do Sculptor para ver se tem como usar alguma do Harbour que faz a mesma coisa.

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
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Compilar através da IDE da HMG versão 3.0.35

Mensagem por microvolution »

ah sim!
só pra ficar bem claro mais uma vez a questão do scupltor. Ele não tem nenhuma lib externa ou coisa parecida, o que ele faz é padronizar todas as telas e programas, ou seja, o que ele faz é digitar pra mim as linhas pra facilitar o trabalho manual.
Caro Toledo e colegas professores, já usei o modo console e na IDE/HMG pode ser que tenha um arquivo de configuração :% .
Bom, quero é saber se mesmo com a falta de mensagens de erro, o que está impedindo o arquivo de ser gerado. A única vez que gerou um arquivo com 4mb (tamanho aproximado ao original compilado em clipper somente), mas, não funcionou ou deu algum sinal de vida, lembrando que não tem nada a ver com o sculptor, e aliás, só pra fechar de vez, eu só uso para gerar um novo prg (ele só roda em máquina com win 9x, não serve máquina virtual).

Bom, a tentativa que vou tentar fazer agora, e, postar aqui o resultado, é pegar apenas um arquivo do meu aplicativo (o main), aliás o PCI10000.PRG e o arquivo de ROTINAS.PRG. Ok :)) ?

Daqui a pouco vou postar os HBP e HBC.

Aguardo mais instruções!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Compilar através da IDE da HMG versão 3.0.35

Mensagem por Pablo César »

Em modo console.
No começo deve ser colocado SetMode(25,80). Porque sem isso faz uma tela grande e só percebemos que tem exibido algo, só quando rolamos a tela. Talvez a minha dica tenha parecido um tanto básico mas é o que geralmente acontece quando não definimos com o SetMode.
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Compilar através da IDE da HMG versão 3.0.35

Mensagem por microvolution »

bom, diante do que pude observar desde o meu último post até o presente momento, é que se eu criar arquivos .HBP dentra da pasta dos PRGs só pra testes de compilação, não aparecem os erros na IDE/HMG, mas, quando abro o arquivo ERROR aí vem a porrada de erros.
Exemplo:
A primeira tentativa criei o arquivo SICCA.HBP com todos os PRGs da aplicação.
Não deu certo, criei o segundo arquivo somente com alguns PRGs e coloquei o nome de SICCA2.HBP.
Depois SICCA3, SICCAa, SICCAb...
ENTÃO MEUS CAROS PROFESSORES descobri uma coisa que talvez para os caros e nobres "teathers" não seja novidade, mas para nós iniciantes no mundo HARBOUR é uma coisa de outro mundo.
Então, comparando o arquivo ERROR toda vez observei que todos os HBPs acima ele estava compilando... então virava uma bagunça.
Bom, agora fiz o seguinte: excluí todos os outros arquivos HBPs da pasta e compilei pela última vez.
Agora a mensagem de erro aparece na IDE/HMG:
===
UNDEFINED REFERENCE TO "FT_MKDIR".
===
Bom, acredito que pra V.Sas. isso é muito simples, ou seja, falta uma LIB que contenha essa função do clipper antigo.
Mas, qual é essa?

Finalizando essa postagem, vejam o conteúdo do arquivo ERROR que agora está correto (a meu ver):
====
hbmk2: Processando arquivo de configura‡Æo:
G:\MVinfo\hmg.3.0.35\harbour\bin\hbmk.cfg
hbmk2: Processando: SICCA34.hbc
Harbour 2.0.0 (Rev. 13372)
Copyright (c) 1999-2010, http://www.harbour-project.org/
pci10024.o:pci10024.c:(.data+0x7b8): undefined reference to `HB_FUN_FT_MKDIR'
collect2: ld returned 1 exit status
hbmk2: Erro: Executando linkeditor. 1
gcc.exe pci10000.o dci10000.o dci10001.o dci10002.o ext.o impresso.o pci10001.o pci10002.o pci10003.o pci10004.o pci10005.o pci10006.o pci10007.o pci10008.o pci10009.o pci10012.o pci10013.o pci10014.o pci10015.o pci10016.o pci10017.o pci10018.o pci10019.o pci10020.o pci10021.o pci10022.o pci10024.o pci10025.o pci10026.o pci10027.o pci10028.o pci10031.o pci10032.o pci10033.o pci10034.o pci10035.o pci10038.o pci10039.o pci10040.o pci10041.o pci10042.o pci10043.o pci10044.o pci10045.o pci10046.o pci10100.o pci10102.o pci10110.o pci10115.o pci10116.o pci10120.o pci10121.o pci10122.o pci10123.o pci10124.o pci10125.o pci10126.o pci10127.o pci10130.o pci10131.o pci10132.o pci10133.o pci10135.o pci10136.o pci10140.o pci10151.o pci10152.o pci10200.o pci10202.o pci10203.o pci10204.o pci10210.o pci10211.o pci10212.o pci10213.o pci10215.o pci10216.o pci10217.o pci10220.o pci10221.o pci10222.o pci10225.o pci10226.o pci10227.o pci10228.o pci10229.o pci10230.o pci10231.o pci10240.o pci10250.o pci10251.o pci10252.o pci10254.o pci10255.o pci10256.o pci10260.o pci10270.o pci10271.o pci10272.o pci10273.o pci10995.o pci10996.o pci10997.o pci10998.o pci10999.o pimpr105.o pimpr110.o pimpr115.o pimpr120.o pimpr121.o pimpr125.o pimpr130.o rci10000.o rimpr000.o rotinas5.o hbmk_as8q0z.o _temp.o -mconsole -Wl,--start-group -lhmg -lhbmysql -lmysql -lcrypt -ledit -leditex -lgraph -lini -lreport -lhbwin -lhbziparc -lhbmzip -lmsvfw32 -lvfw32 -lsddodbc -lrddsql -lsddmy -lhbodbc -lodbc32 -lhbhpdf -lhbvpdf -lhbmemio -lhbsqlit3 -lsqlite3 -lhbfimage -lhbpgsql -lpq -lhbtip -lhbct -lhbmisc -lhbnetio -lxhb -lhbextern -lhbdebug -lhbvm -lhbrtl -lhblang -lhbcpage -lgtcgi -lgtpca -lgtstd -lgtwin -lgtwvt -lgtgui -lhbrdd -lhbuddall -lhbusrrdd -lrddntx -lrddcdx -lrddnsx -lrddfpt -lhbrdd -lhbhsx -lhbsix -lhbmacro -lhbcplr -lhbpp -lhbcommon -lkernel32 -luser32 -lgdi32 -ladvapi32 -lws2_32 -lwinspool -lcomctl32 -lcomdlg32 -lshell32 -luuid -lole32 -loleaut32 -lmpr -lwinmm -lmapi32 -limm32 -lmsimg32 -lwininet -lhbpcre -lhbzlib -Wl,--end-group -oSICCA34.exe -LG:/MVinfo/hmg.3.0.35/harbour/lib -LG:/MVinfo/hmg.3.0.35//lib -LG:/MVinfo/hb32/migrar/sci10000/
====
Grato!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Compilar através da IDE da HMG versão 3.0.35

Mensagem por microvolution »

Iuuuuupiiiiiiii.....
Consegui compilar (migrar de Clipper/Harbour usando a IDE/HMG pela primeira vez!!!!!

Claro que é só o começo (a ponta do iceberg) tem muitos erros para acontecerem...

Vejam em anexo, a tela do meu aplicativo Clipper, ou melhor, em Harbour.

PS: tive que eliminar temporariamente a chamada da função: "FT_MKDIR(cVariavel) até V.Sas. Me ajudarem.
Grato,
Microvolution, W de Paula.

PS: como os caros professores ensinam a eliminar os "#includes..." terei que voltar com todos eles pois o aplicativo cria os DBFs através de chamadas pelo #indluce "nomedoprgquedoarquivo.prg"
Anexos
HMG - SICCA-PRIMEIRO TESTE OFICIAL.JPG
Editado pela última vez por Toledo em 03 Mar 2015 06:45, em um total de 1 vez.
Razão: Mensagem editada para formatação de texto em letras minúsculas. Evite postar mensagens com texto TOTALMENTE EM LETRAS MAIÚSCULAS.<br>Veja as Regras do Fórum:<br>7 - Mensagens em letras MAIÚSCULAS poderão ser editadas sem aviso prévio.
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Compilar através da IDE da HMG versão 3.0.35

Mensagem por microvolution »

Bom, pessoal, agora já estou começando a ficar satisfeito com os resultados...
Infelizmente não posso ficar mais acordado (família em primeiro lugar né verdade?)... E a gente que é programador acaba se esquecendo desse "minúsculo detalhe rsrsrs"
...
Finalmente, consegui de um resultado que estava em apenas 0,01% para 99% de migração de Clipper para Harbour.

Agora para que possam me ajudar, vai aí as últimas indagações de hoje:
1 - como faço para o mouse funcionar?
2 - os campos (SAY/GET) de datas no formato (DD/MM/AAAA) não estão aceitando digitar, somente aceita os 2 últimos dígitos
3 - os campos (SAY/GET) de código de cliente/fornecedor/produto/grade, enfim, me parece que todos eles não tem como digitar nada. O cursor fica piscando e não conseguimos digitar. É como se o bloco numérico (numlock) estive desligado, mas, isso não está;

4 ... E por último, pra rodar como teste eu eliminei a função "FT_MKDIR". Favor me ensinar como incluí-la no prg (não sei se é lib ou #include), caso contrário, favor mostrar qual a sua substituta.

Valeu Pablo Cézar, Toledo, e, todos os outros demais professores que aqui não mencionei, mas, que são tanto importantes quanto os alunos.
Buenas Noites!
Editado pela última vez por Toledo em 03 Mar 2015 06:54, em um total de 2 vezes.
Razão: Mensagem editada para formatação de texto em letras minúsculas. Evite postar mensagens com texto TOTALMENTE EM LETRAS MAIÚSCULAS.<br>Veja as Regras do Fórum:<br>7 - Mensagens em letras MAIÚSCULAS poderão ser editadas sem aviso prévio.
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Compilar através da IDE da HMG versão 3.0.35

Mensagem por Pablo César »

Fico feliz saber que a ideia de usar uma IDE totalmente para fins gráficos possa ter sido útil para avançar n migração ao Harbour.
microvolution escreveu:Agora para que possam me ajudar, vai aí as últimas indagações de hoje:
1 - como faço para o mouse funcionar?
2 - os campos (SAY/GET) de datas no formato (DD/MM/AAAA) não estão aceitando digitar, somente aceita os 2 últimos dígitos
3 - os campos (SAY/GET) de código de cliente/fornecedor/produto/grade, enfim, me parece que todos eles não tem como digitar nada. O cursor fica piscando e não conseguimos digitar. É como se o bloco numérico (numlock) estive desligado, mas, isso não está;

4 ... E por último, pra rodar como teste eu eliminei a função "FT_MKDIR".
1. Leia este tópico: https://pctoledo.org/forum/viewto ... 43&t=11941
2. Utilize o SET CENTURY ON no começo do seu programa
3. Sem ver código algum, fica difícil de entender o que pode estar acontecendo.
4. Substitua FT_MKDIR(cVARIAVEL) pela função DirMake(cVARIAVEL) . Você pode também utilizar a função interna da HMG CreateFolder(cVARIAVEL) e também você pode recriar essa sua função, assim:

Function FT_MKDIR(diretorio)
Return dirmake(diretorio)==0

Também você pode criar funções em C. Mas esse é outro passo que você terá que dar algum dia.

Realmente é uma felicidade ver o nosso antigo código feito em Clipper sendo compilado pela primeira vez em Harbour.

Sucesso !
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Compilar através da IDE da HMG versão 3.0.35

Mensagem por microvolution »

Olá Pablo César, Toledo, Itamir, Fladmir, Antonio, e todos os demais caros nobres professores, graças a Deus e a vocês (sem exceção) que alimentam este fórum, consegui passar do 1% de migração para 99%, ou seja, meu aplicativo SiCCA que era na versão 3.335 que agora chamo-a de 3.4, está faltando poucos detalhes.

Como pude observar, todos os meus módulos/PRGs (que agora chamam-se functions) que possuem um código de indexação, ou seja, (código cilente, produto, grade, endereço, contas a receber, vendas, etc...) não aceitam digitação.

Então, vai aqui a cópia de um PRG que acessa/cria no banco de dados os GRUPOs dos produtos. Nele também não cosigo digitar, apenas ESC/ENTER (é como se o NUMLOCK estivesse desligado, o que não é a verdade):

Vejam o que está errado, e, postem - se puderem, a solução.
Grato,
MICROVOLUTION/W de Paula.
Anexos
DCI10007.PRG
arquivo de criação das GRADEs
(579 Bytes) Baixado 173 vezes
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Compilar através da IDE da HMG versão 3.0.35

Mensagem por microvolution »

Opa, não consegui colocar a PRINTSCREEN na resposta anterior.
Agora sim :))
Aguardo mais instruções.

Ah!
Quanto à VISUAL LIB, no meu clipper antigo, eu tinhas as seguintes linhas no MAIN que tive que eliminar pois não funcionam mais:
setmode(25,80) // configurar a tela para a VL850.COM (VISUAL LIB 2.0 SHAREWARE) // 05/09/11w
// !vl850.com // Acrescentei este programa para mudar o tipo de fonte geral do sismtema. Walcledson 17/9/02. vl850.com // eliminado em 3/3/15w para funcionar o harbour corretamente.
// !avanwfp.com // Acrescentei este programa para mudar o tipo de fonte geral do sismtema. Walcledson 25/5/01. avanwfp.com // eliminado em 3/3/15w para funcionar o harbour corretamente.
De uma forma simplificada, favor postar ou me fornecer link de algum post para que eu veja novamente meu aplicativo com visual do antigo NORTON (lembram?)!
Anexos
tela SiCCA grupo.jpg
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Compilar através da IDE da HMG versão 3.0.35

Mensagem por Pablo César »

Amigo você mostrou um vetor que supostamente serve para criar arquivos de indices e criar tabelas. Ma sisso não me diz NADA 1
Imagino que você chama uma função e faz o que eu relatei, mas isso não quer dizer nada com respeito a edição dos campos.
Você precisava mostrar a função que coloca esse campos para editação.

Conseguiu executar os 5 passos que eu indiquei ?

Você pergunta, mas não responde quando é respondido pra você... (fica dificil assim, né ?)
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Compilar através da IDE da HMG versão 3.0.35

Mensagem por microvolution »

por Pablo César » 03 Mar 2015 16:28

Amigo você mostrou um vetor que supostamente serve para criar arquivos de indices e criar tabelas. Ma sisso não me diz NADA 1
Imagino que você chama uma função e faz o que eu relatei, mas isso não quer dizer nada com respeito a edição dos campos.
Você precisava mostrar a função que coloca esse campos para editação.
Mil perdões prezado professor Pablo César... V.Sa. tem razão. No momento de eu anexar o arquivo PCI10007.PRG anexei equivocamente DCI10007.PRG.

Espero que agora esteja correto.
Grato, e, aguardo sua resposta ou dos demais professores!!!
Anexos
PCI10007.PRG
agora sim arquivo de GRUPO/PRODUTOS
(24.98 KiB) Baixado 189 vezes
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Compilar através da IDE da HMG versão 3.0.35

Mensagem por Pablo César »

microvolution escreveu:No momento de eu anexar o arquivo PCI10007.PRG anexei equivocamente DCI10007.PRG
Por isso que eu não dou esse tipo de nomenclatura ao meus módulos, ao meus programas.

Tudo tem que ser intuitivo, de fácil compreensão...
Um clip-abraço !

Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
microvolution
Usuário Nível 5
Usuário Nível 5
Mensagens: 1231
Registrado em: 02 Set 2011 22:17
Contato:

Compilar através da IDE da HMG versão 3.0.35

Mensagem por microvolution »

Pessoal, pra ficilitar a compreensão de todos sobre meu código do arquivo PCI10007.PRG, e aliás, como foram gerados pelo sculptor, todos tem o mesmo princípio: não há falha humana. Se um estiver errado todos estão.
Bom vejamos:
1- Esta é a linha onde o usuário precisa digitar o código do GRUPO:

Código: Selecionar todos

static function TRATA_CHAVE ()
     * BCCH1 Inicio
     * BCCH1 Fim
     @ lCDGRUPO,cCDGRUPO     get mCDGRUPO   picture pCDGRUPO   valid fCDGRUPO   ()
     * BCTCH Inicio
     * BCTCH Fim
return
2- esta é a função que trata a chave principal através da chamada pela função TRATA CHAVE (acima)

Código: Selecionar todos

static function fCDGRUPO ()
     * BCI01 Inicio
     * BCI01 Fim
     LIMPA_MENSAGEM ()
     if lastkey () = K_UP
          return (.f.)
     endif
     if mCDGRUPO < 0 .or. mCDGRUPO > 99
          MENSAGEM ('Grupo  deve estar entre 0 e 99 inclusive')
          return (.f.)
     endif
     if EXISTE (str (mCDGRUPO,02))
          if .not. TRAVADO (TENTATIVAS)
               MENSAGEM ('Informa‡„o sendo alterada por outro usu rio')
               return (.f.)
          endif
          EXISTE_REG := .t.
          clear gets
     else
          EXISTE_REG := .f.
     endif
     * BCF01 Inicio
     * BCF01 Fim
return (SAIDA_VALIDA ())
3 - E esta é a função que trata a DESCRIÇÃO DO GRUPO (ela não trava e aceita digitar normalmente):

Código: Selecionar todos

static function fDS_GRUPO ()
     * BCI02 Inicio
     * BCI02 Fim
     LIMPA_MENSAGEM ()
     if EXISTE_REG .or. lastkey () <> K_UP
          if empty (mDS_GRUPO)
               MENSAGEM ('Preenchimento obrigat¢rio')
               return (.f.)
          endif
     endif
     * BCF02 Inicio
     * BCF02 Fim
return (SAIDA_VALIDA ())
4 - aqui está o PICTURE de ambos que está localizado no arquivo DCI10000.CH:

Código: Selecionar todos

#define pCDGRUPO '@KRE 99'
#define pDS_GRUPO '@KX!'
Só se vão me dizer que o problema está nos pictures que no HARBOUR é diferente?

Aguardo detalhes e respostas!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
Responder